diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm index 2c6eda9f90..d01e4f8da1 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm @@ -18,6 +18,9 @@ /obj/item/mining_scanner, /obj/item/flashlight/lantern, /obj/item/card/id/mining, +/obj/item/gps/mining{ + tracking = 0 + }, /turf/open/floor/plating, /area/ruin/powered/golem_ship) "d" = ( @@ -31,6 +34,9 @@ /obj/item/mining_scanner, /obj/item/flashlight/lantern, /obj/item/card/id/mining, +/obj/item/gps/mining{ + tracking = 0 + }, /turf/open/floor/plating, /area/ruin/powered/golem_ship) "e" = ( @@ -150,6 +156,9 @@ "x" = ( /obj/structure/table/wood, /obj/machinery/reagentgrinder, +/obj/item/gps/mining{ + tracking = 0 + }, /turf/open/floor/mineral/titanium/purple, /area/ruin/powered/golem_ship) "z" = ( diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_wizard.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_wizard.dmm new file mode 100644 index 0000000000..05155ee2a8 --- /dev/null +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_wizard.dmm @@ -0,0 +1,755 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/closed/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"b" = ( +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"c" = ( +/turf/template_noop, +/area/template_noop) +"d" = ( +/obj/structure/stone_tile/slab, +/turf/closed/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"e" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/indestructible/boss/air, +/area/lavaland/surface/outdoors) +"f" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/open/indestructible/boss/air, +/area/lavaland/surface/outdoors) +"g" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood, +/turf/open/indestructible/boss/air, +/area/lavaland/surface/outdoors) +"h" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/open/indestructible/boss/air, +/area/lavaland/surface/outdoors) +"i" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/open/indestructible/boss/air, +/area/lavaland/surface/outdoors) +"j" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/indestructible/boss/air, +/area/lavaland/surface/outdoors) +"k" = ( +/obj/structure/stone_tile/surrounding_tile/cracked, +/obj/structure/stone_tile/center, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/turf/open/indestructible/necropolis, +/area/lavaland/surface/outdoors) +"l" = ( +/obj/structure/stone_tile/block/cracked, +/turf/open/indestructible/necropolis, +/area/lavaland/surface/outdoors) +"m" = ( +/obj/structure/stone_tile/surrounding_tile/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/center, +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/turf/open/indestructible/necropolis, +/area/lavaland/surface/outdoors) +"n" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile, +/turf/open/indestructible/boss/air, +/area/lavaland/surface/outdoors) +"o" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood, +/turf/open/indestructible/boss/air, +/area/lavaland/surface/outdoors) +"p" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/table/bronze, +/obj/item/disk/design_disk/adv/knight_gear, +/turf/open/indestructible/necropolis, +/area/lavaland/surface/outdoors) +"q" = ( +/obj/structure/table/bronze, +/obj/item/stack/sheet/mineral/runite{ + amount = 5 + }, +/turf/open/indestructible/necropolis, +/area/lavaland/surface/outdoors) +"r" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/table/bronze, +/obj/item/stack/sheet/mineral/runite{ + amount = 5 + }, +/turf/open/indestructible/necropolis, +/area/lavaland/surface/outdoors) +"s" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/open/indestructible/boss/air, +/area/lavaland/surface/outdoors) +"t" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/open/indestructible/boss/air, +/area/lavaland/surface/outdoors) +"u" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/center/cracked, +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/turf/open/indestructible/necropolis, +/area/lavaland/surface/outdoors) +"v" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/turf/open/indestructible/necropolis, +/area/lavaland/surface/outdoors) +"w" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/center, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/turf/open/indestructible/necropolis, +/area/lavaland/surface/outdoors) +"x" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile, +/turf/open/indestructible/boss/air, +/area/lavaland/surface/outdoors) +"y" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/open/indestructible/boss/air, +/area/lavaland/surface/outdoors) +"z" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/indestructible/boss/air, +/area/lavaland/surface/outdoors) +"A" = ( +/obj/structure/stone_tile/slab/cracked, +/turf/open/indestructible/boss/air, +/area/lavaland/surface/outdoors) +"B" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile, +/obj/effect/decal/cleanable/blood, +/turf/open/indestructible/boss/air, +/area/lavaland/surface/outdoors) +"C" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/open/indestructible/boss/air, +/area/lavaland/surface/outdoors) +"D" = ( +/turf/closed/indestructible/riveted/boss, +/area/lavaland/surface/outdoors) +"E" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/turf/open/indestructible/boss/air, +/area/lavaland/surface/outdoors) +"F" = ( +/obj/structure/stone_tile/slab, +/obj/effect/mapping_helpers/no_lava, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"G" = ( +/turf/closed/indestructible/riveted/boss/see_through, +/area/lavaland/surface/outdoors) +"H" = ( +/obj/structure/necropolis_gate, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/fans/tiny/invisible, +/obj/effect/decal/cleanable/blood, +/turf/open/indestructible/boss/air, +/area/lavaland/surface/outdoors) +"I" = ( +/obj/structure/stone_tile/slab/cracked, +/turf/closed/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"J" = ( +/obj/structure/fluff/divine/convertaltar, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"K" = ( +/mob/living/simple_animal/hostile/dark_wizard, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) + +(1,1,1) = {" +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +"} +(2,1,1) = {" +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +"} +(3,1,1) = {" +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +"} +(4,1,1) = {" +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +"} +(5,1,1) = {" +c +c +a +a +a +c +c +c +c +c +c +c +c +c +a +a +a +a +a +a +"} +(6,1,1) = {" +c +c +a +a +a +c +c +a +a +c +c +a +a +a +a +a +b +b +a +a +"} +(7,1,1) = {" +c +c +c +a +d +a +a +a +a +a +a +a +F +a +b +b +b +b +b +a +"} +(8,1,1) = {" +c +c +a +a +a +a +a +a +a +a +a +a +D +b +b +b +b +b +b +a +"} +(9,1,1) = {" +c +c +a +a +a +a +e +j +o +t +y +D +D +b +K +b +b +b +K +a +"} +(10,1,1) = {" +c +c +a +a +a +a +f +k +p +u +z +D +G +b +b +b +b +b +b +a +"} +(11,1,1) = {" +c +c +a +a +a +a +g +l +q +v +A +E +H +b +b +b +J +b +b +a +"} +(12,1,1) = {" +c +c +a +a +a +a +h +m +r +w +B +D +G +b +b +b +b +b +b +a +"} +(13,1,1) = {" +c +c +a +a +a +a +i +n +s +x +C +D +D +b +K +b +b +b +K +a +"} +(14,1,1) = {" +c +c +c +a +a +a +a +a +a +a +a +a +D +b +b +b +b +b +b +a +"} +(15,1,1) = {" +c +c +c +a +d +a +a +a +a +a +a +a +I +a +b +b +b +b +b +a +"} +(16,1,1) = {" +c +c +a +a +a +a +c +c +c +a +a +a +a +a +a +a +b +b +a +a +"} +(17,1,1) = {" +c +c +a +a +a +c +c +c +c +c +c +c +c +a +a +a +a +a +a +c +"} +(18,1,1) = {" +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +"} +(19,1,1) = {" +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +"} +(20,1,1) = {" +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +"} diff --git a/_maps/RandomRuins/StationRuins/Lavaland/Mining_Station/Mining_Station_Public_01.dmm b/_maps/RandomRuins/LavaRuins/miningbase.dmm similarity index 60% rename from _maps/RandomRuins/StationRuins/Lavaland/Mining_Station/Mining_Station_Public_01.dmm rename to _maps/RandomRuins/LavaRuins/miningbase.dmm index 3118ad3f5f..33d38be9ae 100644 --- a/_maps/RandomRuins/StationRuins/Lavaland/Mining_Station/Mining_Station_Public_01.dmm +++ b/_maps/RandomRuins/LavaRuins/miningbase.dmm @@ -1,2322 +1,5 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"al" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/mine/eva) -"ap" = ( -/obj/structure/ore_box, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/eva) -"at" = ( -/obj/structure/gulag_beacon, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"au" = ( -/obj/machinery/door/airlock/mining/glass{ - name = "Mining Station EVA"; - req_access_txt = "54" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/mine/eva) -"av" = ( -/obj/machinery/door/airlock{ - name = "Closet" - }, -/turf/open/floor/plating, -/area/mine/production) -"aG" = ( -/turf/open/floor/plating, -/area/mine/living_quarters) -"aJ" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/mine/production) -"aK" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 8 - }, -/turf/open/floor/plating, -/area/mine/living_quarters) -"aN" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/white, -/area/mine/laborcamp) -"aW" = ( -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"aX" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock{ - name = "Labor Camp External Access" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"bg" = ( -/turf/closed/wall, -/area/mine/eva) -"bn" = ( -/obj/structure/cable, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/mine/living_quarters) -"bX" = ( -/obj/machinery/door/window/southleft, -/obj/machinery/shower{ - pixel_y = 22 - }, -/turf/open/floor/plasteel/freezer, -/area/mine/living_quarters) -"cd" = ( -/turf/closed/wall, -/area/mine/laborcamp) -"cf" = ( -/obj/machinery/mineral/equipment_vendor, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/mine/production) -"ci" = ( -/obj/machinery/door/airlock{ - name = "Vending" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"cn" = ( -/obj/machinery/door/airlock{ - id_tag = "miningdorm3"; - name = "Room 3" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"cr" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"cz" = ( -/obj/machinery/door/poddoor/preopen{ - id = "labor"; - name = "labor camp blast door" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"cA" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/mine/eva) -"cD" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"cX" = ( -/obj/structure/statue{ - desc = "A lifelike statue of a horrifying monster."; - dir = 8; - icon = 'icons/mob/lavaland/lavaland_monsters.dmi'; - icon_state = "goliath"; - name = "goliath" - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"dk" = ( -/obj/structure/table, -/obj/item/stack/packageWrap, -/obj/item/stack/packageWrap, -/obj/item/stack/packageWrap, -/obj/item/hand_labeler, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/mine/eva) -"dL" = ( -/obj/machinery/atmospherics/components/binary/pump/on, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/mine/living_quarters) -"dP" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/machinery/computer/shuttle/mining{ - req_access = null - }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"dU" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/sign/warning/electricshock{ - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/mine/laborcamp/security) -"dZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/obj/machinery/door/airlock/glass{ - name = "Mining Station Bridge" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/mine/production) -"eh" = ( -/obj/structure/table, -/obj/item/storage/firstaid/regular, -/turf/open/floor/plasteel/white, -/area/mine/laborcamp) -"es" = ( -/turf/open/floor/plasteel, -/area/mine/production) -"ez" = ( -/obj/effect/turf_decal/loading_area{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"eE" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/button/door{ - id = "labor"; - name = "Labor Camp Lockdown"; - pixel_y = 28; - req_access_txt = "2" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"eL" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/plasteel, -/area/mine/production) -"eP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/obj/machinery/door/airlock/glass{ - name = "Mining Station Bridge" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"eS" = ( -/obj/structure/table, -/obj/item/gps/mining, -/obj/item/gps/mining, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"fm" = ( -/obj/structure/sign/warning/docking, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/mine/production) -"fs" = ( -/obj/item/radio/intercom{ - desc = "Talk through this. It looks like it has been modified to not broadcast."; - name = "Prison Intercom (General)"; - pixel_y = 24; - prison_radio = 1 - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"fx" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/mine/laborcamp/security) -"fA" = ( -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/machinery/power/port_gen/pacman{ - anchored = 1 - }, -/turf/open/floor/plating, -/area/mine/laborcamp/security) -"fN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"fO" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Shuttle Docking Foyer"; - dir = 8; - network = list("mine") - }, -/obj/machinery/newscaster{ - pixel_x = 30; - pixel_y = 1 - }, -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/structure/closet/secure_closet/miner, -/turf/open/floor/plasteel, -/area/mine/production) -"fU" = ( -/obj/item/radio/intercom{ - dir = 8; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"gk" = ( -/obj/structure/closet/crate{ - icon_state = "crateopen" - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/mine/production) -"gn" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"gs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"gP" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Mining Station Communications"; - req_access_txt = "48" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/mine/maintenance) -"gT" = ( -/obj/structure/bed, -/obj/item/bedsheet/medical, -/obj/machinery/camera{ - c_tag = "Labor Camp Medical"; - dir = 8; - network = list("labor") - }, -/turf/open/floor/plasteel/white, -/area/mine/laborcamp) -"hb" = ( -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/smes{ - charge = 5e+006 - }, -/turf/open/floor/plating, -/area/mine/laborcamp/security) -"hf" = ( -/obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"hm" = ( -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"hy" = ( -/obj/machinery/camera{ - c_tag = "Labor Camp External"; - dir = 4; - network = list("labor") - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hH" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/structure/displaycase, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"hP" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/atmos_waste{ - dir = 4; - piping_layer = 3 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/mine/living_quarters) -"hQ" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/atmos_waste{ - dir = 1; - piping_layer = 3 - }, -/obj/structure/lattice/catwalk, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/mine/laborcamp/security) -"ia" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"ig" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/red, -/obj/item/paper_bin, -/obj/item/pen, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"ik" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"iv" = ( -/obj/machinery/camera{ - c_tag = "Dormitories"; - dir = 4; - network = list("mine") - }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"iG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"iQ" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"jf" = ( -/obj/structure/table, -/obj/item/storage/firstaid/regular, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/mine/living_quarters) -"jn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/turf/open/floor/plasteel, -/area/mine/eva) -"jD" = ( -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/structure/table, -/obj/item/restraints/handcuffs, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"jJ" = ( -/turf/closed/mineral/random/labormineral/volcanic, -/area/lavaland/surface/outdoors/explored) -"kb" = ( -/obj/machinery/mineral/processing_unit_console, -/turf/closed/wall, -/area/mine/laborcamp) -"kj" = ( -/obj/machinery/conveyor{ - id = "gulag" - }, -/turf/open/floor/plating, -/area/mine/laborcamp) -"kz" = ( -/obj/machinery/light/small, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"kB" = ( -/obj/machinery/computer/security/labor, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"kE" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Mining External Airlock"; - opacity = 0; - req_access_txt = "54" - }, -/turf/open/floor/plasteel, -/area/mine/eva) -"kF" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"kH" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"kP" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/mine/laborcamp) -"kR" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"kS" = ( -/obj/structure/table, -/obj/item/storage/firstaid/toxin{ - pixel_x = 3; - pixel_y = 3 - }, -/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/white, -/area/mine/living_quarters) -"lj" = ( -/turf/open/floor/mech_bay_recharge_floor, -/area/mine/eva) -"lr" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 10 - }, -/turf/open/floor/plasteel/white, -/area/mine/living_quarters) -"lu" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/machinery/computer/mech_bay_power_console{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/eva) -"ly" = ( -/obj/machinery/camera{ - c_tag = "Labor Camp Central"; - network = list("labor") - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"lI" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown, -/turf/open/floor/plasteel, -/area/mine/production) -"lS" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"me" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"mg" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -5; - pixel_y = 30 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"mi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/mine/production) -"mp" = ( -/obj/docking_port/stationary{ - area_type = /area/lavaland/surface/outdoors; - dir = 8; - dwidth = 2; - height = 5; - id = "laborcamp_away"; - name = "labor camp"; - width = 9 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/explored) -"mv" = ( -/obj/machinery/door/window/southright, -/obj/machinery/shower{ - pixel_y = 22 - }, -/turf/open/floor/plasteel/freezer, -/area/mine/living_quarters) -"mw" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/effect/turf_decal/loading_area{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"my" = ( -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/explored) -"mI" = ( -/obj/machinery/space_heater, -/turf/open/floor/plating, -/area/mine/production) -"mL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"mN" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/mine/production) -"nm" = ( -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"nx" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/turf/open/floor/plating, -/area/mine/laborcamp/security) -"ny" = ( -/obj/machinery/computer/prisoner, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"nH" = ( -/obj/structure/displaycase, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"nI" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"nJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"nK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/mine/production) -"nL" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/mine/laborcamp/security) -"nN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/light/small, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/turf/open/floor/plasteel/freezer, -/area/mine/living_quarters) -"nR" = ( -/obj/structure/ore_box, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/mine/production) -"nX" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/mine/laborcamp/security) -"oo" = ( -/obj/machinery/conveyor{ - id = "mining_internal" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/mine/production) -"ou" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/structure/closet/secure_closet/miner, -/turf/open/floor/plasteel, -/area/mine/production) -"ow" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Infirmary" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/white, -/area/mine/laborcamp) -"oy" = ( -/obj/machinery/light, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"oG" = ( -/obj/machinery/mineral/equipment_vendor, -/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, -/area/mine/production) -"oM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"oY" = ( -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"pi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/open/floor/plating, -/area/mine/living_quarters) -"pr" = ( -/obj/structure/table, -/obj/item/pickaxe, -/obj/item/gps/mining, -/obj/item/gps/mining, -/obj/item/gps/mining, -/obj/item/gps/mining, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/mine/eva) -"pu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/mine/living_quarters) -"pK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/mine/production) -"qb" = ( -/obj/structure/tank_dispenser/oxygen, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/plasteel, -/area/mine/eva) -"qc" = ( -/obj/machinery/shower{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 30 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"qg" = ( -/obj/structure/toilet{ - dir = 8 - }, -/turf/open/floor/plasteel/freezer, -/area/mine/living_quarters) -"qh" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = 11 - }, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"qm" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/closet/crate/secure/loot, -/obj/structure/sign/warning/electricshock{ - pixel_y = 32 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/mine/living_quarters) -"qx" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/structure/sign/poster/official/random{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"qH" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 30 - }, -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"qM" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/drinks/beer{ - pixel_x = 7; - pixel_y = 5 - }, -/obj/item/reagent_containers/food/drinks/beer{ - pixel_x = -1; - pixel_y = 9 - }, -/obj/item/reagent_containers/food/drinks/beer{ - pixel_x = -8 - }, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"qR" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"qS" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/mine/eva) -"qZ" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"re" = ( -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red, -/obj/structure/closet/secure_closet/labor_camp_security, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"rf" = ( -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"rB" = ( -/obj/machinery/mineral/unloading_machine{ - dir = 1; - icon_state = "unloader-corner"; - input_dir = 1; - output_dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plating, -/area/mine/production) -"rK" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"rU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 5 - }, -/turf/open/floor/plasteel/white, -/area/mine/living_quarters) -"sa" = ( -/obj/machinery/mineral/processing_unit{ - dir = 1 - }, -/turf/open/floor/plating, -/area/mine/laborcamp) -"se" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/mine/living_quarters) -"si" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"sj" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/mine/production) -"sm" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"sx" = ( -/obj/item/radio/intercom{ - dir = 8; - name = "Station Intercom (General)"; - pixel_x = 28 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"sz" = ( -/obj/effect/turf_decal/loading_area, -/turf/open/floor/plasteel, -/area/mine/production) -"sE" = ( -/obj/structure/closet/crate, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"sP" = ( -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 6 - }, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"sR" = ( -/obj/machinery/light, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"sU" = ( -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"sW" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"td" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/mine/laborcamp) -"tk" = ( -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer3, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"tr" = ( -/obj/structure/chair, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"tK" = ( -/obj/structure/closet/crate, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/explored) -"tY" = ( -/obj/structure/closet/emcloset, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"uG" = ( -/obj/structure/table, -/obj/item/clothing/glasses/meson, -/obj/item/storage/bag/ore, -/obj/item/pickaxe, -/obj/item/mining_scanner, -/obj/item/flashlight, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"uI" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Mining Station Maintenance"; - req_access_txt = "48" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/mine/living_quarters) -"uJ" = ( -/obj/item/bikehorn{ - color = "#000"; - desc = "A horn off of a bicycle. This one has been charred to hell and back, yet somehow it still honks."; - name = "charred bike horn" - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/explored) -"uR" = ( -/obj/effect/turf_decal/loading_area{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"va" = ( -/obj/machinery/button/door{ - id = "miningbathroom"; - name = "Door Bolt Control"; - normaldoorcontrol = 1; - pixel_y = -25; - specialfunctions = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/turf/open/floor/plasteel/freezer, -/area/mine/living_quarters) -"vo" = ( -/obj/machinery/flasher{ - id = "labor" - }, -/turf/closed/wall, -/area/mine/laborcamp) -"vy" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock{ - name = "Labor Camp External Access" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"vA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"vE" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/mine/eva) -"vJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/mine/eva) -"vM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/chair, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"wd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/mine/production) -"wg" = ( -/obj/structure/closet/crate, -/obj/item/dice/d4, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"wj" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/mine/production) -"wt" = ( -/obj/structure/toilet{ - dir = 8 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating, -/area/mine/laborcamp/security) -"wz" = ( -/turf/closed/mineral/random/volcanic, -/area/lavaland/surface/outdoors) -"wB" = ( -/obj/structure/table, -/turf/open/floor/plasteel/white, -/area/mine/laborcamp) -"wC" = ( -/turf/open/floor/circuit, -/area/mine/maintenance) -"wE" = ( -/obj/machinery/vending/cigarette, -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"wV" = ( -/turf/closed/mineral/random/volcanic, -/area/lavaland/surface/outdoors/explored) -"wX" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"xd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"xh" = ( -/obj/machinery/vending/sustenance, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"xv" = ( -/obj/machinery/mech_bay_recharge_port, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/mine/eva) -"xA" = ( -/obj/machinery/camera{ - c_tag = "Communications Relay"; - dir = 8; - network = list("mine") - }, -/turf/open/floor/circuit, -/area/mine/maintenance) -"xH" = ( -/obj/structure/table, -/obj/item/cigbutt, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"xP" = ( -/obj/machinery/suit_storage_unit/mining, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/eva) -"xS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"yt" = ( -/obj/structure/closet/crate{ - icon_state = "crateopen" - }, -/obj/machinery/light, -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"yF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/mine/production) -"yQ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/mine/laborcamp/security) -"yR" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel, -/area/mine/production) -"yT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/turf/open/floor/plasteel/freezer, -/area/mine/living_quarters) -"zh" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plating, -/area/mine/living_quarters) -"zk" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/mine/laborcamp/security) -"zo" = ( -/obj/structure/table, -/turf/open/floor/carpet, -/area/mine/living_quarters) -"zx" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/mine/laborcamp) -"zy" = ( -/obj/item/twohanded/required/kirbyplants/random, -/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, -/area/mine/living_quarters) -"zI" = ( -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/explored) -"zN" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"zY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"zZ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"Ab" = ( -/obj/structure/ore_box, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/explored) -"Ad" = ( -/obj/machinery/light_switch{ - pixel_y = -25 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/circuit, -/area/mine/maintenance) -"Ag" = ( -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"Ah" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"Aj" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"Al" = ( -/turf/closed/wall/r_wall, -/area/mine/maintenance) -"At" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/mine/production) -"AH" = ( -/obj/machinery/cryopod{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"AJ" = ( -/obj/machinery/door/airlock/glass{ - name = "Break Room" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"AQ" = ( -/obj/machinery/door/airlock{ - id_tag = "miningdorm2"; - name = "Room 2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"AS" = ( -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Mining External Airlock"; - opacity = 0 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/turf/open/floor/plasteel, -/area/mine/production) -"AZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"Bc" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/mine/production) -"Be" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/mine/eva) -"Bh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/mine/production) -"Bo" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, -/area/mine/living_quarters) -"BD" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Mining Station Maintenance"; - req_access_txt = "48" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/mine/laborcamp/security) -"BO" = ( -/obj/machinery/door/airlock{ - name = "Labor Camp Storage" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"Ca" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Mining Station Port Wing APC"; - pixel_x = 1; - pixel_y = 23 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"Cd" = ( -/turf/closed/wall, -/area/mine/production) -"Cg" = ( -/obj/structure/table, -/obj/item/tank/internals/emergency_oxygen{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/item/tank/internals/emergency_oxygen, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"Cj" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"Cl" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"Cm" = ( -/obj/machinery/vending/snack, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"Cw" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/mine/laborcamp) -"Cy" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/security/glass{ - name = "Labor Camp Shuttle Security Airlock"; - req_access_txt = "2" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"CA" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"CH" = ( -/obj/structure/rack, -/obj/item/storage/bag/ore, -/obj/item/pickaxe, -/obj/item/flashlight, -/obj/item/clothing/glasses/meson, -/obj/item/mining_scanner, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"CJ" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"CR" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"CV" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel, -/area/mine/eva) -"Dd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"Dr" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -5; - pixel_y = 30 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/chair, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"Dv" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/mine/laborcamp/security) -"DN" = ( -/obj/machinery/computer/shuttle/mining/common{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"Ed" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/mine/production) -"Eg" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/mine/production) -"Ev" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/button/door{ - id = "miningdorm2"; - name = "Door Bolt Control"; - normaldoorcontrol = 1; - pixel_x = 25; - specialfunctions = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/mine/living_quarters) -"Ex" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/mine/eva) -"EB" = ( -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"EH" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"Fx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"FC" = ( -/obj/machinery/airalarm{ - pixel_y = 24 - }, -/turf/open/floor/circuit, -/area/mine/maintenance) -"FE" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"Ga" = ( -/obj/machinery/status_display/evac{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"Gt" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"GM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/mine/production) -"GN" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Mining Station Starboard Wing APC"; - pixel_x = -25; - pixel_y = 2 - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel, -/area/mine/production) -"Hd" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/mine/eva) -"Hg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"Hh" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "gulag" - }, -/turf/open/floor/plating, -/area/mine/laborcamp) -"Hk" = ( -/obj/docking_port/stationary{ - area_type = /area/lavaland/surface/outdoors; - dir = 8; - dwidth = 3; - height = 7; - id = "lavaland_common_away"; - name = "Mining base public dock"; - width = 7 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"Hm" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/external{ - name = "Lavaland Shuttle Airlock" - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"Ho" = ( -/obj/machinery/door/airlock{ - name = "Restroom" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"Hq" = ( -/obj/structure/rack, -/obj/item/storage/bag/ore, -/obj/item/flashlight, -/obj/item/pickaxe, -/obj/item/clothing/glasses/meson, -/obj/item/mining_scanner, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"Hx" = ( -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"HE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 10 - }, -/obj/machinery/bluespace_beacon, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/dark, -/area/mine/maintenance) -"HO" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/security/glass{ - name = "Labor Camp Shuttle Prisoner Airlock" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"HS" = ( -/obj/machinery/conveyor{ - dir = 10; - id = "gulag" - }, -/turf/open/floor/plating, -/area/mine/laborcamp) -"HU" = ( -/obj/machinery/computer/shuttle/labor/one_way{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"HY" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/machinery/iv_drip, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/mine/living_quarters) -"If" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"Ii" = ( -/obj/structure/table, -/obj/item/storage/box/donkpockets, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"Ik" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -5; - pixel_y = 30 - }, -/obj/machinery/shower{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/plasteel, -/area/mine/eva) -"ID" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/obj/machinery/meter, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/mine/living_quarters) -"IG" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"II" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"IK" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/red, -/obj/machinery/recharger, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"IS" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/mine/living_quarters) -"IY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 6 - }, -/turf/open/floor/carpet, -/area/mine/living_quarters) -"Jl" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"Jo" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"Jr" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"JH" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"JJ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"JP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"JV" = ( -/obj/machinery/mineral/processing_unit{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plating, -/area/mine/production) -"JW" = ( -/obj/machinery/power/apc{ - name = "Mining EVA APC"; - pixel_x = 1; - pixel_y = -23 - }, -/obj/machinery/recharge_station, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/structure/cable, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel, -/area/mine/eva) -"JY" = ( -/turf/closed/mineral/random/labormineral/volcanic, -/area/lavaland/surface/outdoors) -"Kb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"Kk" = ( -/obj/machinery/conveyor_switch/oneway{ - id = "mining_internal"; - name = "mining conveyor" - }, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"Kl" = ( -/turf/open/floor/plasteel, -/area/mine/eva) -"Kt" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "mining_internal" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/mine/production) -"Kx" = ( +"aa" = ( /obj/machinery/camera{ c_tag = "EVA"; dir = 4; @@ -2342,66 +25,276 @@ }, /turf/open/floor/plasteel, /area/mine/eva) -"KG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - icon_state = "1-2" +"ab" = ( +/turf/template_noop, +/area/template_noop) +"ac" = ( +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"ad" = ( +/obj/machinery/light_switch{ + pixel_x = 27 }, -/obj/item/beacon, -/turf/open/floor/plasteel, -/area/mine/production) -"KO" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"KP" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Mining External Airlock"; - opacity = 0; - req_access_txt = "54" - }, -/turf/open/floor/plasteel, -/area/mine/eva) -"KQ" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Mining Shuttle Airlock"; - opacity = 0 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"KS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3, -/turf/open/floor/plasteel, -/area/mine/production) -"KU" = ( /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ dir = 4 }, /turf/open/floor/plasteel, /area/mine/eva) -"KV" = ( +"ae" = ( +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/machinery/computer/shuttle/mining{ + req_access = null + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"af" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/turf/open/floor/plasteel, +/area/mine/eva) +"ag" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel, +/area/mine/eva) +"ah" = ( +/obj/machinery/telecomms/relay/preset/mining, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/mine/maintenance) +"ai" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"aj" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, +/area/mine/eva) +"ak" = ( +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"al" = ( +/obj/structure/table, +/obj/item/pickaxe, +/obj/item/gps/mining, +/obj/item/gps/mining, +/obj/item/gps/mining, +/obj/item/gps/mining, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/mine/eva) +"am" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 10 + }, +/obj/machinery/bluespace_beacon, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/mine/maintenance) +"an" = ( +/obj/machinery/suit_storage_unit/mining, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/eva) +"ao" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/mine/eva) +"ap" = ( +/obj/structure/closet/crate, +/obj/item/dice/d4, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"aq" = ( +/obj/machinery/suit_storage_unit/mining, +/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, +/area/mine/eva) +"ar" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, /area/mine/living_quarters) -"Lb" = ( +"as" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/mine/production) +"at" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/mine/production) +"au" = ( +/obj/machinery/door/airlock/mining/glass{ + name = "Mining Station EVA"; + req_access_txt = "54" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/mine/eva) +"av" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/mine/eva) +"aw" = ( +/turf/closed/wall, +/area/mine/production) +"ax" = ( +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"ay" = ( +/obj/structure/table, +/obj/item/stack/packageWrap, +/obj/item/stack/packageWrap, +/obj/item/stack/packageWrap, +/obj/item/hand_labeler, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/mine/eva) +"az" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3, +/turf/open/floor/plasteel, +/area/mine/eva) +"aA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/mine/eva) +"aB" = ( +/turf/open/floor/plasteel, +/area/mine/eva) +"aC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/mine/eva) +"aD" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/plasteel, +/area/mine/eva) +"aE" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/mine/eva) +"aF" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/obj/machinery/shower{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/plasteel, +/area/mine/eva) +"aG" = ( /obj/docking_port/stationary{ area_type = /area/lavaland/surface/outdoors; dir = 8; @@ -2413,78 +306,436 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"Lc" = ( +"aH" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/beacon, +/turf/open/floor/plasteel, +/area/mine/production) +"aI" = ( +/obj/structure/sign/warning/docking, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/mine/production) +"aJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"aK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"aL" = ( +/obj/machinery/power/apc{ + name = "Mining EVA APC"; + pixel_x = 1; + pixel_y = -23 + }, +/obj/machinery/recharge_station, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/mine/eva) +"aM" = ( +/obj/machinery/mech_bay_recharge_port, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/mine/eva) +"aN" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/plasteel, +/area/mine/production) +"aO" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/machinery/computer/mech_bay_power_console{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/eva) +"aP" = ( +/turf/template_noop, +/area/space) +"aQ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"aR" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/eva) +"aS" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Mining External Airlock"; + opacity = 0; + req_access_txt = "54" + }, +/turf/open/floor/plasteel, +/area/mine/eva) +"aT" = ( +/obj/docking_port/stationary{ + area_type = /area/lavaland/surface/outdoors; + dir = 8; + dwidth = 3; + height = 7; + id = "lavaland_common_away"; + name = "Mining base public dock"; + width = 7 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"aU" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/mine/eva) +"aV" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/mine/production) +"aW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/mine/production) +"aX" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Mining External Airlock"; + opacity = 0; + req_access_txt = "54" + }, +/turf/open/floor/plasteel, +/area/mine/eva) +"aY" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"aZ" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 30 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"ba" = ( +/obj/machinery/power/apc{ + dir = 8; + name = "Mining Station Starboard Wing APC"; + pixel_x = -25; + pixel_y = 2 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel, +/area/mine/production) +"bb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/mine/production) +"bc" = ( +/obj/machinery/mineral/mint, +/turf/open/floor/plasteel, +/area/mine/production) +"bd" = ( +/obj/structure/closet/crate, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/mine/production) +"be" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/structure/closet/secure_closet/miner, +/turf/open/floor/plasteel, +/area/mine/production) +"bf" = ( +/turf/open/floor/mech_bay_recharge_floor, +/area/mine/eva) +"bg" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/mine/production) +"bh" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/mine/production) +"bi" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/eva) +"bj" = ( +/obj/structure/ore_box, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/eva) +"bk" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"bl" = ( +/obj/machinery/mineral/equipment_vendor, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/mine/production) +"bm" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/mine/production) +"bn" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/structure/closet/secure_closet/miner, +/turf/open/floor/plasteel, +/area/mine/production) +"bo" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Shuttle Docking Foyer"; + dir = 8; + network = list("mine") + }, +/obj/machinery/newscaster{ + pixel_x = 30; + pixel_y = 1 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/structure/closet/secure_closet/miner, +/turf/open/floor/plasteel, +/area/mine/production) +"bp" = ( +/obj/machinery/door/airlock{ + name = "Closet" + }, +/turf/open/floor/plating, +/area/mine/production) +"bq" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating, +/area/mine/production) +"br" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Mining Shuttle Airlock"; + opacity = 0 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"bs" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel, +/area/mine/production) +"bt" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Mining Shuttle Airlock"; + opacity = 0 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"bu" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"bv" = ( /obj/structure/cable{ icon_state = "0-4" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/mine/production) -"Le" = ( -/obj/structure/closet/crate/internals, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"Lj" = ( -/obj/machinery/power/port_gen/pacman{ - anchored = 1 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/mine/living_quarters) -"Lm" = ( -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"LC" = ( -/obj/structure/table, -/obj/item/storage/fancy/donut_box, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, +"bw" = ( /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"LG" = ( -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/mine/living_quarters) -"LL" = ( -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/power/apc{ - dir = 1; - name = "Labor Camp Security APC"; - pixel_y = 23 - }, /obj/structure/cable{ icon_state = "0-4" }, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"LZ" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/mine/production) +"bx" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/mine/eva) +"by" = ( +/obj/machinery/space_heater, +/turf/open/floor/plating, +/area/mine/production) +"bz" = ( +/turf/closed/mineral/random/high_chance/volcanic, +/area/lavaland/surface/outdoors) +"bA" = ( +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/explored) +"bB" = ( +/turf/open/floor/circuit, +/area/mine/maintenance) +"bC" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "Mining Communications APC"; + pixel_x = 1; + pixel_y = 23 + }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3, -/turf/open/floor/plasteel, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/mine/maintenance) +"bD" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/machinery/iv_drip, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/white, /area/mine/living_quarters) -"Mc" = ( +"bE" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/machinery/door/airlock/mining/glass{ @@ -2503,33 +754,7 @@ }, /turf/open/floor/plasteel, /area/mine/production) -"Mh" = ( -/obj/structure/table, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/white, -/area/mine/laborcamp) -"Mj" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = -12 - }, -/obj/structure/mirror{ - pixel_x = -28 - }, -/turf/open/floor/plasteel/freezer, -/area/mine/living_quarters) -"Mk" = ( -/obj/machinery/conveyor_switch/oneway{ - id = "gulag" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"Mn" = ( -/turf/closed/wall/r_wall, -/area/mine/laborcamp/security) -"Ms" = ( +"bF" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 }, @@ -2539,21 +764,170 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3, /turf/open/floor/plasteel/white, /area/mine/living_quarters) -"Mw" = ( -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Mining External Airlock"; - opacity = 0 +"bG" = ( +/turf/open/lava/smooth/lava_land_surface, +/area/template_noop) +"bH" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/mine/production) +"bI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/mine/production) +"bJ" = ( +/obj/machinery/conveyor{ + id = "mining_internal" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/mine/production) +"bK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/mine/production) +"bL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/circuit, +/area/mine/maintenance) +"bM" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3, +/obj/effect/turf_decal/tile/purple{ dir = 1 }, /turf/open/floor/plasteel, /area/mine/production) -"MD" = ( -/turf/closed/mineral/random/volcanic, -/area/lavaland/surface/outdoors/unexplored) -"ME" = ( +"bN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"bO" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"bP" = ( +/obj/machinery/mineral/processing_unit{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plating, +/area/mine/production) +"bQ" = ( +/turf/closed/wall, +/area/mine/living_quarters) +"bR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/mine/production) +"bS" = ( +/obj/item/radio/intercom{ + dir = 8; + name = "Station Intercom (General)"; + pixel_x = -28 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"bT" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/mine/production) +"bU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/obj/machinery/door/airlock/glass{ + name = "Mining Station Bridge" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/mine/production) +"bV" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/mine/production) +"bW" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3, /obj/structure/cable{ @@ -2561,7 +935,39 @@ }, /turf/open/floor/plasteel, /area/mine/production) -"MF" = ( +"bX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3, +/turf/open/floor/plasteel, +/area/mine/production) +"bY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"bZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"ca" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"cb" = ( /obj/structure/closet/crate/freezer, /obj/item/reagent_containers/blood, /obj/item/reagent_containers/blood{ @@ -2592,246 +998,274 @@ }, /turf/open/floor/plasteel/white, /area/mine/living_quarters) -"MG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, +"cc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"cd" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"ce" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/mineral/equipment_vendor, +/turf/open/floor/plasteel, +/area/mine/production) +"cf" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown, +/turf/open/floor/plasteel, +/area/mine/production) +"cg" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Mining External Airlock"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plasteel, +/area/mine/production) +"ch" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"ci" = ( +/obj/machinery/mineral/equipment_vendor, /obj/effect/turf_decal/tile/brown{ dir = 1 }, +/obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/plasteel, +/area/mine/production) +"cj" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"ck" = ( +/obj/machinery/power/smes{ + charge = 5e+006 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, /area/mine/living_quarters) -"MH" = ( +"cl" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/closet/crate/secure/loot, +/obj/structure/sign/warning/electricshock{ + pixel_y = 32 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/mine/living_quarters) +"cm" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/structure/cable{ icon_state = "2-8" }, /turf/open/floor/plating, /area/mine/living_quarters) -"MM" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/closet/secure_closet/freezer/gulag_fridge, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"MV" = ( -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"Nf" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/structure/closet/secure_closet/miner, -/turf/open/floor/plasteel, -/area/mine/production) -"Nk" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"NB" = ( +"cn" = ( /obj/machinery/light/small{ dir = 4 }, -/obj/machinery/button/door{ - id = "miningdorm3"; - name = "Door Bolt Control"; - normaldoorcontrol = 1; - pixel_x = 25; - specialfunctions = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/mine/living_quarters) -"NH" = ( -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"NI" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/mine/production) -"Oh" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"Oj" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "mining_internal" - }, -/obj/structure/plasticflaps, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plating, -/area/mine/production) -"Op" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/security/glass{ - name = "Labor Camp Shuttle Prisoner Airlock" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"Os" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"Ov" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"OI" = ( -/obj/machinery/mineral/mint, -/turf/open/floor/plasteel, -/area/mine/production) -"ON" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"Pp" = ( -/obj/machinery/camera{ - c_tag = "Public Shuttle Lobby"; - network = list("mine") - }, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/structure/table, -/obj/item/gps/mining, -/obj/item/gps/mining, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"Pq" = ( /obj/effect/turf_decal/tile/purple{ dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"PN" = ( -/obj/machinery/light_switch{ - pixel_x = 27 - }, -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/eva) -"PO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, /turf/open/floor/plasteel, /area/mine/production) -"PY" = ( +"co" = ( /obj/machinery/shower{ dir = 8 }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/white, -/area/mine/laborcamp) -"Qi" = ( -/obj/structure/table, -/obj/machinery/reagentgrinder, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 +/obj/structure/extinguisher_cabinet{ + pixel_x = 30 }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"Qr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/obj/structure/cable, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/mine/laborcamp/security) -"Qx" = ( -/obj/structure/chair{ +/obj/effect/turf_decal/tile/purple{ dir = 8 }, /turf/open/floor/plasteel, -/area/mine/laborcamp) -"Qy" = ( +/area/mine/production) +"cp" = ( +/turf/open/floor/plating, +/area/mine/living_quarters) +"cq" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Mining External Airlock"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"cr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/mine/living_quarters) +"cs" = ( +/obj/machinery/airalarm{ + pixel_y = 24 + }, +/turf/open/floor/circuit, +/area/mine/maintenance) +"ct" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"cu" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/mine/production) +"cv" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating, +/area/mine/living_quarters) +"cx" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"cB" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/obj/structure/table, +/obj/item/paper/fluff/stations/lavaland/orm_notice, +/turf/open/floor/plasteel, +/area/mine/production) +"cC" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/structure/sign/poster/official/random{ + pixel_y = 32 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"cD" = ( +/obj/structure/ore_box, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/mine/production) +"cE" = ( +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/mine/production) +"cJ" = ( +/obj/machinery/camera{ + c_tag = "Communications Relay"; + dir = 8; + network = list("mine") + }, +/turf/open/floor/circuit, +/area/mine/maintenance) +"cM" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"cN" = ( +/turf/open/floor/plasteel, +/area/mine/production) +"cP" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/dark, +/area/mine/maintenance) +"cQ" = ( +/obj/structure/table, +/obj/item/storage/firstaid/toxin{ + pixel_x = 3; + pixel_y = 3 + }, +/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/white, +/area/mine/living_quarters) +"cX" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/machinery/power/port_gen/pacman{ + anchored = 1 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/mine/living_quarters) +"cY" = ( +/turf/closed/wall/r_wall, +/area/mine/maintenance) +"cZ" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/atmos_waste{ + dir = 4; + piping_layer = 3 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/mine/living_quarters) +"da" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/meter, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/mine/living_quarters) +"de" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3, /obj/structure/cable{ @@ -2839,102 +1273,112 @@ }, /turf/open/floor/plasteel, /area/mine/living_quarters) -"QD" = ( -/obj/machinery/suit_storage_unit/mining, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, +"dg" = ( /obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ +/turf/open/floor/plasteel, +/area/mine/production) +"di" = ( +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"dj" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/mine/living_quarters) +"dk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ dir = 4 }, -/turf/open/floor/plasteel, -/area/mine/eva) -"QL" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"Rf" = ( -/obj/machinery/mineral/unloading_machine{ - dir = 1; - icon_state = "unloader-corner"; - input_dir = 1; - output_dir = 2 - }, -/turf/open/floor/plating, -/area/mine/laborcamp) -"Ro" = ( +/area/mine/living_quarters) +"dl" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/obj/machinery/door/airlock/highsecurity{ - name = "Labor Camp Monitoring"; - req_access_txt = "2"; - security_level = 6 +/obj/effect/turf_decal/tile/brown{ + dir = 1 }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/structure/cable{ icon_state = "1-2" }, /turf/open/floor/plasteel, -/area/mine/laborcamp) -"Ru" = ( -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/obj/structure/chair, -/turf/open/floor/plasteel, /area/mine/living_quarters) -"Rv" = ( -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"RC" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"RF" = ( -/turf/closed/wall, -/area/mine/laborcamp/security) -"RH" = ( -/obj/machinery/camera{ - c_tag = "Crew Area"; - dir = 1; - network = list("mine") - }, -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_y = -32 - }, -/obj/machinery/light, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ +"dn" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, +/turf/open/floor/plating, +/area/mine/living_quarters) +"dq" = ( +/obj/machinery/camera{ + c_tag = "Crew Area Hallway"; + network = list("mine") + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3, /turf/open/floor/plasteel, /area/mine/living_quarters) -"RI" = ( -/obj/structure/closet/crate, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/effect/turf_decal/bot, +"dr" = ( +/obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel, -/area/mine/production) -"RP" = ( +/area/mine/living_quarters) +"dt" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"du" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ dir = 4 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel, /area/mine/living_quarters) -"Sd" = ( +"dv" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"dx" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"dy" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, @@ -2946,144 +1390,170 @@ }, /turf/open/floor/plasteel, /area/mine/living_quarters) -"Sj" = ( +"dD" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, /obj/structure/cable{ icon_state = "4-8" }, /turf/open/floor/plasteel, /area/mine/living_quarters) -"Sp" = ( -/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/mine/laborcamp/security) -"Sq" = ( -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"Ss" = ( -/obj/machinery/conveyor{ - dir = 10; - id = "mining_internal" - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/plating, -/area/mine/production) -"SO" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ +"dK" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ dir = 8 }, -/turf/open/floor/plasteel/freezer, +/turf/open/floor/plating, /area/mine/living_quarters) -"SW" = ( +"dL" = ( +/turf/closed/mineral/random/volcanic, +/area/lavaland/surface/outdoors) +"dM" = ( +/obj/effect/turf_decal/loading_area, +/turf/open/floor/plasteel, +/area/mine/production) +"dN" = ( +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/mine/living_quarters) +"dO" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"dQ" = ( /obj/effect/turf_decal/loading_area{ dir = 4 }, /turf/open/floor/plasteel, /area/mine/production) -"SY" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3, -/turf/open/floor/plasteel, -/area/mine/eva) -"Te" = ( -/obj/structure/table, -/obj/item/trash/plate, -/obj/item/kitchen/fork, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"Tm" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ +"dR" = ( +/obj/machinery/light/small{ dir = 4 }, -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Mining Shuttle Airlock"; - opacity = 0 - }, +/obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/mine/production) -"TC" = ( -/obj/structure/chair/comfy/brown{ - dir = 8 +"dS" = ( +/obj/machinery/light_switch{ + pixel_y = -25 }, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"TG" = ( -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/obj/machinery/mineral/equipment_vendor, -/turf/open/floor/plasteel, -/area/mine/production) -"TI" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Infirmary" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/turf/open/floor/plasteel/white, -/area/mine/living_quarters) -"TJ" = ( -/obj/structure/bed, -/obj/item/bedsheet/brown, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/carpet, -/area/mine/living_quarters) -"Ue" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "1-4" +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 }, /turf/open/floor/circuit, /area/mine/maintenance) -"Uk" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/obj/effect/turf_decal/tile/red{ +"dT" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/mine/living_quarters) +"dU" = ( +/obj/item/twohanded/required/kirbyplants/random, +/obj/effect/turf_decal/tile/brown{ dir = 1 }, -/mob/living/simple_animal/bot/secbot/beepsky{ - desc = "Powered by the tears and sweat of laborers."; - name = "Prison Ofitser" +/obj/effect/turf_decal/tile/brown{ + dir = 4 }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"dV" = ( +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/obj/structure/chair, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"dW" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/chair, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"dX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"dY" = ( +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"ea" = ( +/obj/structure/table, +/obj/item/storage/firstaid/regular, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/mine/living_quarters) +"eb" = ( +/obj/machinery/power/port_gen/pacman{ + anchored = 1 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/mine/living_quarters) +"ec" = ( +/obj/machinery/atmospherics/components/binary/pump/on, /obj/structure/cable{ icon_state = "1-2" }, +/turf/open/floor/plating, +/area/mine/living_quarters) +"ed" = ( +/obj/structure/chair{ + dir = 4 + }, /turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"Un" = ( +/area/mine/living_quarters) +"ee" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plating, +/area/mine/living_quarters) +"ef" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"eg" = ( /obj/machinery/light/small{ dir = 4 }, @@ -3099,156 +1569,14 @@ }, /turf/open/floor/carpet, /area/mine/living_quarters) -"Uz" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Mining Communications APC"; - pixel_x = 1; - pixel_y = 23 +"ei" = ( +/obj/structure/closet/crate{ + icon_state = "crateopen" }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/dark, -/area/mine/maintenance) -"UE" = ( -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/machinery/power/port_gen/pacman{ - anchored = 1 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/mine/living_quarters) -"UI" = ( -/obj/machinery/camera{ - c_tag = "Crew Area Hallway East"; - network = list("mine") - }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"UJ" = ( -/obj/effect/turf_decal/tile/red, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"Vj" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -5; - pixel_y = 30 - }, -/obj/structure/table, -/obj/item/paper/fluff/stations/lavaland/orm_notice, +/obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/mine/production) -"Vo" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/mine/production) -"Vs" = ( -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/plasteel, -/area/mine/production) -"VN" = ( -/turf/closed/wall, -/area/mine/living_quarters) -"VP" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating, -/area/mine/production) -"VR" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/security/glass{ - name = "Labor Camp Shuttle Security Airlock"; - req_access_txt = "2" - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"VT" = ( -/turf/open/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"VY" = ( -/obj/structure/closet/emcloset, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/eva) -"Wf" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"Wt" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3, -/turf/open/floor/plasteel, -/area/mine/laborcamp) -"Ww" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/mine/production) -"WL" = ( -/obj/machinery/computer/secure_data, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"WN" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/dark, -/area/mine/maintenance) -"WY" = ( -/obj/machinery/door/airlock{ - id_tag = "miningdorm1"; - name = "Room 1" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"Xo" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/mine/laborcamp) -"Xr" = ( +"el" = ( /obj/machinery/camera{ c_tag = "Processing Area Room"; dir = 8; @@ -3265,11 +1593,98 @@ }, /turf/open/floor/plasteel, /area/mine/production) -"XG" = ( -/obj/effect/turf_decal/bot, +"en" = ( +/obj/structure/table, +/obj/item/clothing/glasses/meson, +/obj/item/storage/bag/ore, +/obj/item/pickaxe, +/obj/item/mining_scanner, +/obj/item/flashlight, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"eo" = ( +/obj/machinery/mineral/unloading_machine{ + dir = 1; + icon_state = "unloader-corner"; + input_dir = 1; + output_dir = 2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plating, +/area/mine/production) +"ep" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Mining Station Communications"; + req_access_txt = "48" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/mine/maintenance) +"eq" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, /turf/open/floor/plasteel, /area/mine/production) -"XN" = ( +"er" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Infirmary" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/turf/open/floor/plasteel/white, +/area/mine/living_quarters) +"es" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Mining Station Maintenance"; + req_access_txt = "48" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/mine/living_quarters) +"et" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"eu" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/mine/living_quarters) +"ev" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/mine/production) +"ex" = ( +/obj/machinery/conveyor_switch/oneway{ + id = "mining_internal"; + name = "mining conveyor" + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"eC" = ( +/obj/machinery/door/airlock{ + id_tag = "miningdorm3"; + name = "Room 3" + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -3277,8 +1692,134 @@ dir = 4 }, /turf/open/floor/plasteel, +/area/mine/living_quarters) +"eF" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/mine/living_quarters) +"eI" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/mine/living_quarters) +"eJ" = ( +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"eK" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "Mining Station Port Wing APC"; + pixel_x = 1; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"eL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"eM" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, /area/mine/production) -"XP" = ( +"eO" = ( +/obj/structure/closet/crate{ + icon_state = "crateopen" + }, +/obj/machinery/light, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"eZ" = ( +/obj/machinery/camera{ + c_tag = "Crew Area Hallway East"; + network = list("mine") + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"fb" = ( +/obj/structure/bed, +/obj/item/bedsheet/brown, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/turf/open/floor/carpet, +/area/mine/living_quarters) +"fd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"fy" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"fA" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"fB" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 6 + }, +/turf/open/floor/carpet, +/area/mine/living_quarters) +"fC" = ( +/obj/machinery/door/airlock{ + id_tag = "miningdorm2"; + name = "Room 2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"fD" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, @@ -3287,63 +1828,366 @@ }, /turf/open/floor/plasteel, /area/mine/living_quarters) -"XU" = ( -/obj/machinery/power/smes{ - charge = 5e+006 +"gJ" = ( +/obj/machinery/vending/cigarette, +/obj/machinery/newscaster{ + pixel_y = 32 }, -/obj/structure/cable{ - icon_state = "0-4" +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 }, -/turf/open/floor/plating, +/turf/open/floor/plasteel, /area/mine/living_quarters) -"XX" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/closed/wall, +"hE" = ( +/obj/structure/chair, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/turf/open/floor/plasteel, /area/mine/living_quarters) -"Ya" = ( -/turf/closed/wall/r_wall, -/area/mine/laborcamp) -"Ye" = ( -/turf/closed/mineral/random/high_chance/volcanic, -/area/lavaland/surface/outdoors) -"Yf" = ( -/obj/machinery/light/small{ +"ib" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/light/small, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/turf/open/floor/plasteel/freezer, +/area/mine/living_quarters) +"jx" = ( +/obj/machinery/door/airlock{ + id_tag = "miningdorm1"; + name = "Room 1" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ dir = 4 }, /turf/open/floor/plasteel, -/area/mine/laborcamp) -"Yg" = ( -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Labor Camp Security Office"; - dir = 1; - network = list("labor") - }, -/turf/open/floor/plasteel, -/area/mine/laborcamp/security) -"Yi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/obj/machinery/door/airlock/glass, +/area/mine/living_quarters) +"jz" = ( +/obj/structure/table, +/obj/item/cigbutt, /turf/open/floor/plasteel, /area/mine/living_quarters) -"Yp" = ( +"jQ" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 8 + }, +/turf/open/floor/plasteel/freezer, +/area/mine/living_quarters) +"mh" = ( +/obj/machinery/door/airlock/glass{ + name = "Break Room" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"np" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"nx" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"nP" = ( +/obj/machinery/light, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"pI" = ( +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"pN" = ( +/obj/machinery/button/door{ + id = "miningbathroom"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_y = -25; + specialfunctions = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/turf/open/floor/plasteel/freezer, +/area/mine/living_quarters) +"qw" = ( +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"rb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"rp" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"rT" = ( +/obj/structure/table, +/obj/item/storage/box/donkpockets, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"se" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "miningdorm2"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 25; + specialfunctions = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 1 + }, +/turf/open/floor/carpet, +/area/mine/living_quarters) +"st" = ( +/obj/machinery/door/window/southleft, +/obj/machinery/shower{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/freezer, +/area/mine/living_quarters) +"sC" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"sP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/turf/open/floor/plasteel/freezer, +/area/mine/living_quarters) +"vp" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "miningdorm3"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 25; + specialfunctions = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 1 + }, +/turf/open/floor/carpet, +/area/mine/living_quarters) +"vr" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, /obj/effect/turf_decal/tile/brown{ dir = 1 }, /turf/open/floor/plasteel, -/area/mine/production) -"Yr" = ( -/obj/machinery/light/small, -/obj/effect/turf_decal/loading_area{ - dir = 4 +/area/mine/living_quarters) +"vx" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" }, /turf/open/floor/plasteel, -/area/mine/laborcamp) -"Yy" = ( +/area/mine/living_quarters) +"vH" = ( +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"wd" = ( +/obj/machinery/vending/snack, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"wQ" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/structure/displaycase, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"xv" = ( +/obj/item/radio/intercom{ + dir = 8; + name = "Station Intercom (General)"; + pixel_x = 28 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"xK" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "mining_internal" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/mine/production) +"zE" = ( +/obj/structure/closet/crate, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"Az" = ( +/obj/structure/table, +/obj/item/gps/mining, +/obj/item/gps/mining, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"BT" = ( +/obj/structure/displaycase, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"BZ" = ( +/obj/machinery/door/window/southright, +/obj/machinery/shower{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/freezer, +/area/mine/living_quarters) +"Cu" = ( +/turf/closed/wall, +/area/mine/eva) +"Cv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"CJ" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_x = 7; + pixel_y = 5 + }, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_x = -1; + pixel_y = 9 + }, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_x = -8 + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"CO" = ( +/obj/machinery/conveyor{ + dir = 10; + id = "mining_internal" + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plating, +/area/mine/production) +"De" = ( /obj/machinery/door/airlock{ id_tag = "miningbathroom"; name = "Restroom" @@ -3356,7 +2200,219 @@ }, /turf/open/floor/plasteel/freezer, /area/mine/living_quarters) -"YH" = ( +"Dg" = ( +/obj/item/radio/intercom{ + dir = 8; + name = "Station Intercom (General)"; + pixel_x = -28 + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"Dj" = ( +/obj/machinery/camera{ + c_tag = "Dormitories"; + dir = 4; + network = list("mine") + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"Em" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "mining_internal" + }, +/obj/structure/plasticflaps, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plating, +/area/mine/production) +"Fp" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"Fu" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + name = "Lavaland Shuttle Airlock" + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"FI" = ( +/obj/structure/toilet{ + dir = 8 + }, +/turf/open/floor/plasteel/freezer, +/area/mine/living_quarters) +"Hb" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + name = "Lavaland Shuttle Airlock" + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"He" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/obj/machinery/door/airlock/glass{ + name = "Mining Station Bridge" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"Iq" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"Iz" = ( +/obj/machinery/camera{ + c_tag = "Crew Area"; + dir = 1; + network = list("mine") + }, +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_y = -32 + }, +/obj/machinery/light, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"Ji" = ( +/obj/machinery/light/small, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"Kd" = ( +/obj/structure/statue{ + desc = "A lifelike statue of a horrifying monster."; + dir = 8; + icon = 'icons/mob/lavaland/lavaland_monsters.dmi'; + icon_state = "goliath"; + name = "goliath" + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"LK" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = -12 + }, +/obj/structure/mirror{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/freezer, +/area/mine/living_quarters) +"Mi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/obj/machinery/door/airlock/glass, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"Nn" = ( +/obj/structure/table, +/turf/open/floor/carpet, +/area/mine/living_quarters) +"Oe" = ( +/obj/machinery/mineral/processing_unit_console, +/turf/closed/wall, +/area/mine/production) +"Ou" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"Qh" = ( +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/mine/production) +"Qn" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = 11 + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"QR" = ( +/obj/structure/table, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 5; + pixel_y = 3 + }, +/obj/item/tank/internals/emergency_oxygen, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"Rq" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/closed/wall, +/area/mine/living_quarters) +"Rt" = ( +/obj/machinery/camera{ + c_tag = "Public Shuttle Lobby"; + network = list("mine") + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/structure/table, +/obj/item/gps/mining, +/obj/item/gps/mining, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"Ru" = ( +/obj/machinery/computer/shuttle/mining/common{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"TO" = ( /obj/machinery/door/airlock{ name = "Restroom" }, @@ -3368,4294 +2424,2015 @@ }, /turf/open/floor/plasteel/freezer, /area/mine/living_quarters) -"YM" = ( -/obj/item/radio/intercom{ - dir = 8; - name = "Station Intercom (General)"; - pixel_x = -28 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/mine/production) -"YV" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, +"Uj" = ( /obj/effect/turf_decal/tile/purple{ dir = 1 }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"Zp" = ( -/obj/machinery/camera{ - c_tag = "Crew Area Hallway"; - network = list("mine") - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3, -/turf/open/floor/plasteel, -/area/mine/living_quarters) -"Zw" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ dir = 4 }, -/obj/machinery/door/airlock/external{ - name = "Lavaland Shuttle Airlock" +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"WS" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 6 + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 }, /turf/open/floor/plasteel, /area/mine/living_quarters) -"ZF" = ( -/obj/machinery/telecomms/relay/preset/mining, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ +"Xa" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"Xi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"Xm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"Yg" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/mine/maintenance) -"ZK" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Labor Camp APC"; - pixel_y = 23 +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"Za" = ( +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer3, +/obj/structure/cable{ + icon_state = "4-8" }, /obj/structure/cable{ - icon_state = "0-2" + icon_state = "1-4" }, -/turf/open/floor/plating, -/area/mine/laborcamp) -"ZN" = ( -/obj/machinery/mineral/processing_unit_console, -/turf/closed/wall, -/area/mine/production) +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"Zu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/chair, +/turf/open/floor/plasteel, +/area/mine/living_quarters) +"Zy" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) (1,1,1) = {" -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +aP +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ac +ac +ac +ac +ak +ak +ak +ak +ac +ac +ac +ac +ac +ac "} (2,1,1) = {" -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +aP +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ac +ac +ac +ak +ak +ak +ak +ak +ak +ak +ak +ac +ac +ac "} (3,1,1) = {" -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +aP +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ac +ac +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ac +ac "} (4,1,1) = {" -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -wz -wz -VT -VT -VT -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +aP +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ac +ac +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak "} (5,1,1) = {" -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -wz -wz -wz -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +aP +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ac +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ac "} (6,1,1) = {" -VT -VT -VT -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -Lm -wz -my -Lm -VT -VT -VT -VT -VT -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +aP +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ac +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ac "} (7,1,1) = {" -VT -VT -VT -VT -VT -VT -VT -Lm -VT -VT -zI -zI -Lm -my -Lm -VT -VT -VT -VT -VT -VT -VT -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -VT -VT -VT -VT +aP +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ac +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ac +ac "} (8,1,1) = {" -VT -Lm -VT -VT -VT -Lm -VT -VT -VT -zI -zI -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -VT -VT -VT -VT -VT -VT +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ac +ac "} (9,1,1) = {" -Lm -Lm -VT -Lm -Lm -VT -VT -VT -VT -zI -zI -VT -VT -zI -zI -VT -VT -zI -VT -Lm -VT -VT -VT -VT -VT -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -Lm -VT -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ac +ac +ab +ak +ak +ab +dL +ak +ak +ak +ak +ak +ak +aT +ak +ak +ak +ak +ac +ac "} (10,1,1) = {" -VT -VT -VT -Lm -Lm -VT -VT -VT -zI -zI -zI -zI -zI -zI -zI -zI -zI -zI -zI -zI -zI -VT -VT -VT -VT -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -VT -VT -VT -VT -VT -Lm -VT -VT -VT -VT -VT -VT -VT +ab +ab +ab +ab +ab +ab +ab +ab +ac +ac +ac +bA +ac +ac +ac +ac +dL +ak +ak +ak +ak +ak +eu +Hb +eu +ak +ak +ak +ac +ac "} (11,1,1) = {" -VT -VT -VT -VT -VT -VT -zI -zI -my -zI -zI -zI -zI -zI -zI -zI -zI -zI -zI -zI -zI -zI -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -VT -Lm -VT -VT -VT -VT -VT -VT -VT +ab +ab +ab +ab +ab +ab +ab +ac +ac +ac +ac +ac +ac +ac +ac +ak +ak +ak +ak +ak +ak +ak +eu +di +eu +ak +ak +ac +ac +ac "} (12,1,1) = {" -VT -VT -VT -VT -VT -VT -VT -zI -zI -zI -my -zI -zI -zI -zI -zI -my -zI -zI -my -zI -zI -zI -VT -zI -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ab +ab +ab +ab +ab +ab +ab +ac +ac +ac +ac +bA +bA +ac +ak +cZ +ak +bQ +bQ +bQ +Rq +bQ +eu +Fu +eu +ac +ac +ac +ab +ab "} (13,1,1) = {" -VT -VT -VT -VT -VT -VT -Lm -VT -zI -zI -zI -my -my -my -my -my -my -my -my -my -zI -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -Lm -VT -VT -VT -VT -VT -VT -VT +ab +ab +ab +ab +ab +ab +ab +ab +ac +ac +cY +cY +cY +cY +eI +dj +dN +bQ +dU +ed +Ru +ed +et +vr +eu +ac +ab +ab +ab +ab "} (14,1,1) = {" -VT -VT -VT -VT -VT -VT -VT -zI -zI -zI -zI -my -my -my -my -my -my -my -my -my -zI -zI -Lm -VT -VT -VT -VT -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -Lm -Lm -VT -Lm -VT -VT -VT -VT -VT +ab +ab +ab +ab +ab +ab +ab +ac +ac +ac +cY +bB +bB +cY +dr +Zu +jz +bQ +dV +di +di +di +di +di +eu +ac +ab +ab +ab +ab "} (15,1,1) = {" -VT -VT -Lm -VT -VT -VT -VT -zI -zI -zI -zI -my -my -my -my -my -my -my -my -my -zI -zI -zI -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT +ab +ab +ab +ab +ab +ab +ab +ac +ac +ac +cY +bC +bL +cY +cC +dk +ax +bQ +dW +di +en +en +di +Kd +eu +ac +ab +ab +ab +ab "} (16,1,1) = {" -VT -VT -VT -VT -VT -VT -VT -VT -zI -zI -zI -my -my -my -my -my -my -my -my -my -zI -VT -VT -VT -VT -VT -Lm -VT -VT -VT -VT -VT -VT -Lm -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -Lm -VT -VT -VT -VT -VT -VT -VT +ab +ab +ab +ab +ab +ab +ab +ac +ac +ak +cY +ah +am +ep +dl +Za +Cv +Mi +dX +ef +en +en +di +di +eu +ac +ab +ab +ab +ab "} (17,1,1) = {" -VT -VT -VT -VT -VT -VT -VT -VT -zI -zI -my -my -my -my -my -my -my -mp -my -my -my -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -Lm -Lm -VT -VT -Lm -VT -VT -VT -VT +ab +ab +ab +ab +ab +ab +ab +ac +ak +bz +cY +cP +dS +cY +ca +dD +et +bQ +dY +Xm +di +di +di +nP +bQ +ac +ab +ab +ab +ab "} (18,1,1) = {" -VT -VT -VT -VT -VT -VT -VT -VT -cd -cd -cd -cd -cd -Cy -cd -cd -cd -HO -cd -RF -RF -RF -VT -VT -VT -VT -Lm -wz -VT -VT -VT -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ab +ab +ab +ab +ab +ab +ac +ac +ak +dL +cY +cs +cJ +cY +dq +Xi +nP +bQ +Rt +xv +Az +QR +BT +wQ +bQ +dL +ak +ab +ab +ab "} (19,1,1) = {" -JY -Lm -VT -VT -VT -VT -VT -Lm -cd -Te -CR -xh -cd -eE -cd -HU -cd -Jr -cd -fA -fx -RF -VT -uJ -VT -Lm -Lm -wz -wz -VT -VT -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ab +ab +ab +ab +ab +ab +ac +ac +ak +ak +cY +cY +cY +cY +eJ +dD +di +bQ +bQ +bQ +bQ +bQ +bQ +bQ +bQ +bQ +bQ +ak +ak +ab "} (20,1,1) = {" -JY -JY -Lm -VT -VT -VT -Lm -Lm -cd -Qx -NH -Yf -cd -VR -cd -at -cd -Op -cd -hb -dU -RF -VT -VT -VT -VT -Lm -wz -wz -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ab +ab +ab +ab +ab +ab +ab +ac +ac +ak +bQ +bD +cb +bQ +di +du +dO +bQ +fb +Nn +bQ +fb +Nn +bQ +fb +Nn +bQ +ak +ab +ab "} (21,1,1) = {" -JY -JY -JY -JY -zx -kP -td -cd -cd -cd -ci -cd -cd -cz -cd -Ga -NH -NH -Ya -Mn -BD -Mn -Dv -Mn -wV -VT -VT -VT -wz -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ab +ab +ab +ab +ab +ab +ab +ac +ac +ak +eu +bF +cr +ar +dt +dD +di +bQ +fB +eg +bQ +fB +se +bQ +fB +vp +bQ +ab +ab +ab "} (22,1,1) = {" -JY -JY -JY -JY -Cw -wB -Mh -cd -AH -NH -NH -NH -NH -NH -NH -kR -NH -NH -Ya -jD -EB -MM -LC -Mn -wV -wV -VT -VT -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ab +ab +ab +ab +ab +ab +ab +ac +ac +ak +eu +eF +dT +er +dX +de +di +bQ +jx +bQ +bQ +fC +bQ +bQ +eC +bQ +bQ +ab +ab +ab "} (23,1,1) = {" -JY -JY -JY -JY -cd -eh -aN -ow -Cl -Cl -Cl -gn -vo -ly -vA -Hg -gs -gs -Ro -Uk -si -fN -TC -Mn -wV -my -VT -VT -VT -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ab +ab +ab +ab +ab +ab +ac +ac +dL +ak +bQ +cQ +ea +ar +ca +dD +di +et +fd +Dj +et +fd +Uj +et +fd +ca +eu +ab +ab +ab "} (24,1,1) = {" -JY -JY -JY -JY -cd -gT -Xo -cd -fs -NH -Wt -xd -vA -Fx -Yf -uR -NH -NH -Ya -nm -Hx -mL -Yg -Mn -zI -VT -VT -VT -VT -wz -Lm -Lm -Lm -Lm -Lm -Lm -Hk -Lm -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ab +ab +ab +ab +ab +ab +ab +ac +dL +bQ +bQ +bQ +bQ +bQ +eK +vx +fy +fy +fD +fy +fy +fD +rb +fy +Ou +dO +eu +ak +ab +ab "} (25,1,1) = {" -JY -JY -JY -JY -cd -cd -cd -cd -cd -NH -NH -PY -NH -Mk -cd -Hh -Ya -Ya -Ya -LL -Hx -xS -Gt -Dv -my -VT -VT -VT -VT -wz -Lm -Lm -Lm -Lm -Lm -KV -Zw -KV -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ab +ab +ab +ab +ab +ab +ab +ac +ac +bQ +ck +cX +eb +bQ +dv +du +dO +bQ +bQ +ar +ar +bQ +bQ +bQ +TO +bQ +bQ +dL +ak +ak "} (26,1,1) = {" -JY -JY -JY -JY -cd -CH -CH -CH -cd -NH -Yr -cd -cd -kb -cd -Hh -Ya -ZK -Ho -oY -JJ -nJ -Ah -Qr -hQ -VT -VT -VT -Lm -Lm -Lm -Lm -Lm -Lm -Lm -KV -Ag -KV -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ab +ab +ab +ab +ab +ab +ab +ac +ac +bQ +cl +cp +cp +bQ +dt +dD +nP +bQ +wd +qw +Xa +Dg +bQ +st +sP +bQ +dL +bz +dL +dL "} (27,1,1) = {" -JY -JY -JY -JY -cd -Hq -NH -NH -BO -NH -ia -Rf -kj -sa -kj -HS -Ya -wt -RF -WL -Hx -IG -UJ -yQ -my -my -VT -Lm -hP -Lm -VN -VN -VN -XX -VN -KV -Hm -KV -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ab +ab +ab +ab +ab +ab +ab +ac +ac +bQ +cm +da +ec +es +eL +dx +ax +ar +qw +qw +Zy +qw +bQ +BZ +ib +bQ +ak +dL +dL +ak "} (28,1,1) = {" -JY -JY -JY -JY -cd -cd -sW -Le -cd -vy -cd -cd -cd -cd -cd -cd -Ya -Ya -Mn -kB -Oh -QL -sR -Al -Al -Al -Al -LG -pu -bn -VN -zy -If -DN -If -FE -qZ -KV -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ab +ab +ab +ab +ab +ac +ac +ac +ak +bQ +cp +dn +ee +bQ +eZ +dy +Yg +mh +pI +hE +CJ +Iz +bQ +bQ +De +bQ +ac +ab +ab +ab "} (29,1,1) = {" -JY -JY -JY -JY -JY -cd -cd -cd -cd -NH -cd -Ab -tK -tK -my -my -my -zI -Dv -ny -ig -IK -re -Al -wC -wC -Al -hf -vM -xH -VN -Ru -Ag -Ag -Ag -Ag -Ag -KV -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ab +ab +ab +ab +ac +ac +ac +ac +ak +bQ +cv +dK +dK +bQ +fA +Xi +et +ar +qw +qw +Iq +Fp +bQ +LK +pN +bQ +ac +ab +ab +ab "} (30,1,1) = {" -JY -JY -JY -JY -JY -JY -JY -JY -cd -Jr -cd -Ab -my -my -my -my -my -zI -Sp -zk -nL -nX -nx -Al -Uz -Ue -Al -qx -sm -aW -VN -Dr -Ag -uG -uG -Ag -cX -KV -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ab +ab +ab +ac +ac +ac +ac +ac +ac +bQ +bQ +bQ +bQ +bQ +di +dD +di +bQ +gJ +qw +vH +qw +bQ +FI +jQ +bQ +ac +ab +ab +ab "} (31,1,1) = {" -JY -JY -JY -JY -JY -JY -JY -JY -cd -aX -cd -Ab -my -my -my -my -my -VT -VT -VT -VT -VT -Lm -Al -ZF -HE -gP -ON -tk -zY -Yi -MG -KO -uG -uG -Ag -Ag -KV -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ab +ab +ab +ac +ac +ac +ac +ac +ac +ac +ak +ac +ac +eu +di +dD +di +bQ +WS +sC +rT +Qn +bQ +bQ +bQ +bQ +ac +ab +ab +ab "} (32,1,1) = {" -JY -JY -JY -JY -JY -JY -JY -JY -my -my -hy -my -my -my -my -my -VT -VT -VT -VT -VT -Lm -Ye -Al -WN -Ad -Al -cD -JP -FE -VN -YV -RP -Ag -Ag -Ag -oy -VN -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ab +ab +ab +ac +ac +ak +ac +ac +ac +ac +ak +ak +ac +eu +ax +rp +Ji +bQ +eu +eu +eu +eu +bQ +dL +dL +dL +ac +ab +ab +ab "} (33,1,1) = {" -JY -JY -JY -JY -JY -JY -JY -JY -my -my -my -my -my -my -my -my -my -VT -VT -VT -VT -Lm -wz -Al -FC -xA -Al -Zp -Sj -oy -VN -Pp -sx -eS -Cg -nH -hH -VN -wz -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ab +ab +ac +ac +ac +ak +ac +ak +ac +ac +ak +ak +ac +eu +eu +He +eu +eu +ak +ak +ak +ak +dL +dL +dL +ac +ac +ab +ab +ab "} (34,1,1) = {" -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -my -my -my -my -my -my -my -VT -VT -VT -VT -Lm -Lm -Al -Al -Al -Al -Ov -JP -Ag -VN -VN -VN -VN -VN -VN -VN -VN -VN -VN -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ab +ac +ac +ak +ak +ak +ak +ak +ak +ak +ac +ac +ac +ac +eu +aJ +eu +ak +ak +ac +ac +ac +ac +ac +ac +ac +ac +ab +ab +ab "} (35,1,1) = {" -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -my -my -my -my -my -my -my -VT -VT -VT -VT -VT -Lm -VN -HY -MF -VN -Ag -JH -cr -VN -TJ -zo -VN -TJ -zo -VN -TJ -zo -VN -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ac +ac +ak +ak +ak +ak +ak +ak +ak +ak +ak +ac +ac +ac +eu +aK +eu +ak +ac +ac +ac +ac +ac +ac +ac +ac +ac +ab +ab +ab "} (36,1,1) = {" -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -my -my -my -my -my -my -my -my -VT -VT -VT -VT -Lm -KV -Ms -rU -se -EH -JP -Ag -VN -IY -Un -VN -IY -Ev -VN -IY -NB -VN -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ac +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ac +ac +ac +eu +aK +eu +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ab +ab +ab "} (37,1,1) = {" -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -my -my -Ab -JY -my -jJ -VT -VT -VT -VT -Lm -KV -IS -lr -TI -MG -Qy -Ag -VN -WY -VN -VN -AQ -VN -VN -cn -VN -VN -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ac +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ac +ac +eu +aK +eu +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ab +ab +ab "} (38,1,1) = {" -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -jJ -jJ -VT -VT -VT -wz -Ye -VN -kS -jf -se -cD -JP -Ag -FE -Os -iv -FE -Os -Pq -FE -Os -cD -KV -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ac +ac +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ac +ac +eM +bR +eM +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ab +ab +ab "} (39,1,1) = {" -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -VT -VT -VT -VT -wz -VN -VN -VN -VN -VN -Ca -ik -oM -oM -XP -oM -oM -XP -AZ -oM -CA -cr -KV -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ac +ac +ak +ak +ak +ak +aG +ak +ak +ak +ak +ac +ac +ac +eM +bR +eM +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ab +ab +ab "} (40,1,1) = {" -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -VT -VT -VT -VT -VT -VT -VT -VN -XU -UE -Lj -VN -mg -JH -cr -VN -VN -se -se -VN -VN -VN -YH -VN -VN -wz -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ac +ac +ac +ak +ak +aI +br +eM +ak +ak +ac +ac +ac +ak +eM +bR +eM +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ab +ab +ab "} (41,1,1) = {" -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -VT -VT -VT -VT -VT -VT -VT -VT -VN -qm -aG -aG -VN -EH -JP -oy -VN -Cm -hm -zZ -fU -VN -bX -yT -VN -wz -Ye -wz -wz -Lm -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT +ac +ac +ac +ac +ak +eM +cN +eM +ak +ac +ac +ac +ac +ak +eM +bT +eM +ak +ac +ac +ac +ac +ac +ac +ac +ac +ac +ab +ab +ab "} (42,1,1) = {" -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -VT -VT -VT -VT -VT -VT -VT -VT -VT -VN -MH -ID -dL -uI -Dd -nI -aW -se -hm -hm -Nk -hm -VN -mv -nN -VN -Lm -wz -wz -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ac +ac +ac +ac +eM +eM +bt +eM +eM +ak +ac +ac +ak +eM +eM +bU +eM +eM +ak +ak +ac +ac +ac +ac +ac +ac +ac +ab +ab +ab "} (43,1,1) = {" -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -VT -VT -VT -VT -VT -VT -Lm -Lm -VT -Lm -VN -aG -zh -pi -VN -UI -Sd -kF -AJ -sU -tr -qM -RH -VN -VN -Yy -VN -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ac +ac +ac +aw +eM +cM +bu +bk +eM +aw +aw +aw +aw +bv +cM +bV +bk +eM +aw +ak +ak +ac +ac +ac +ac +ac +ac +ab +ab +ab "} (44,1,1) = {" -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -JY -VT -VT -VT -VT -VT -Lm -Lm -Lm -Lm -Lm -Lm -VN -Bo -aK -aK -VN -LZ -Sj -FE -se -hm -hm -rK -MV -VN -Mj -va -VN -VT -VT -VT -VT -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ac +ac +ak +aw +ae +ai +cN +aQ +cM +bS +ba +be +bn +bw +np +bR +cN +ce +aw +ak +ak +ak +ac +ac +ac +ac +ac +ab +ab +ab "} (45,1,1) = {" -JY -JY -JY -JY -JY -JY -Lm -VT -VT -VT -VT -VT -VT -VT -VT -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VN -VN -VN -VN -VN -Ag -JP -Ag -VN -wE -hm -rf -hm -VN -qg -SO -VN -VT -VT -VT -VT -VT -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ac +ac +ak +eM +ap +as +aH +aV +aW +aW +bb +bg +aW +bE +bK +bW +cd +eO +aw +ak +ak +ak +ak +ac +ac +ac +ac +ab +ab +ab "} (46,1,1) = {" -JY -JY -JY -JY -JY -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -KV -Ag -JP -Ag -VN -sP -Qi -Ii -qh -VN -VN -VN -VN -VT -VT -VT -VT -VT -VT -VT -VT -Lm -VT -VT -VT -VT -VT -VT -VT +ac +ak +ak +eM +aN +at +np +nx +aY +aZ +np +bh +cN +bH +bM +bX +cN +zE +aw +aw +aw +aw +cu +ak +ak +ac +ac +ab +ab +ab "} (47,1,1) = {" -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -KV -aW -kH -kz -VN -KV -KV -KV -KV -VN -wz -wz -wz -VT -Lm -VT -VT -Lm -Lm -VT -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT +ak +Cu +Cu +Cu +bx +au +bx +Cu +bp +aw +ci +bl +bo +bH +cN +bY +cN +dg +eM +ch +dg +eM +ak +ak +dL +ac +ac +ab +ab +ab "} (48,1,1) = {" -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -KV -KV -eP -KV -KV -Lm -Lm -Lm -Lm -wz -wz -wz -Lm -VT -VT -VT -VT -Lm -Lm -Lm -wz -Ye -Ye -Lm -Lm -VT -VT -VT -VT +ak +Cu +al +aa +ay +av +aL +Cu +bq +aw +aw +bm +aw +bm +cN +bY +cN +cf +cg +cj +cf +cq +ak +ak +dL +dL +ac +ab +ab +ab "} (49,1,1) = {" -VT -VT -VT -VT -VT -VT -VT -wz -wz -wz -VT -VT -VT -VT -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -Lm -KV -CJ -KV -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -Ye -Ye -Ye -Ye -Ye -wz -wz -VT -VT -VT +ak +aj +an +az +af +aA +aM +Cu +by +aw +bc +dM +ei +cM +ct +bY +cN +cM +eM +cn +co +eM +ak +ak +ak +dL +ac +ab +ab +ab "} (50,1,1) = {" -wz -wz -wz -wz -wz -wz -wz -MD -wz -Lm -VT -VT -VT -VT -VT -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -VT -KV -JP -KV -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -VT -Lm -Lm -Ye -Ye -Ye -Ye -Ye -Ye -Ye -Ye -Lm -VT -VT +ak +aj +an +aB +ag +aC +bf +Cu +aw +aw +cx +cN +cN +cN +cN +bZ +nx +Qh +aw +aw +aw +aw +cu +ak +ak +ak +ac +ab +ab +ab "} (51,1,1) = {" -MD -MD -MD -MD -MD -MD -MD -wz -Lm -VT -VT -VT -VT -VT -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -VT -KV -JP -KV -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -Lm -Ye -Ye -Ye -Ye -Ye -Ye -Ye -Lm -VT -VT +ak +Cu +aq +ad +aD +aR +aO +Cu +bz +aw +bd +cN +bs +bI +bN +cc +aw +Em +aw +ak +ak +ak +ak +ak +ak +ak +ac +ab +ab +ab "} (52,1,1) = {" -MD -MD -MD -MD -MD -MD -MD -wz -Lm -VT -VT -Lm -Lm -VT -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -KV -JP -KV -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -Ye -Ye -Ye -Ye -Ye -Ye -Ye -Lm -VT -VT +ak +Cu +Cu +Cu +aj +aS +aj +Cu +dL +aw +cB +cN +el +ex +bO +eq +ev +xK +aw +ak +ak +ak +ak +ak +ak +ak +ac +ab +ab +ab "} (53,1,1) = {" -MD -MD -MD -MD -MD -MD -MD -wz -Lm -VT -Lm -Lm -VT -VT -VT -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -Ed -wd -Ed -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -Lm -Ye -Ye -wz -Ye -Lm -Lm -VT -VT +ak +ak +ak +Cu +aE +aU +bi +Cu +dL +aw +cD +dQ +aw +ev +Oe +ev +ev +xK +aw +ak +ak +ak +ak +ak +ak +ac +ac +ab +ab +ab "} (54,1,1) = {" -MD -MD -MD -MD -MD -MD -MD -wz -VT -VT -VT -VT -VT -VT -VT -Lm -Lm -Lm -Lm -Lb -Lm -Lm -Lm -Lm -VT -VT -VT -Ed -wd -Ed -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -Lm -Lm -Lm -Lm -VT -VT -VT -VT +ac +ak +ak +Cu +aF +aR +bj +Cu +dL +aw +cE +dR +eo +bJ +bP +bJ +bJ +CO +aw +ak +ak +ak +ak +ak +ak +ak +ac +ab +ab +ab "} (55,1,1) = {" -MD -MD -MD -MD -MD -MD -MD -MD -wz -VT -Lm -VT -VT -VT -VT -VT -Lm -Lm -fm -Tm -Ed -Lm -Lm -VT -VT -VT -Lm -Ed -wd -Ed -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -Lm -Lm -VT -VT -VT -VT -VT +ac +ac +ak +Cu +aj +aX +aj +Cu +dL +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +ak +ak +ak +ak +ak +ak +ak +ak +ab +ab +ab "} (56,1,1) = {" -MD -MD -MD -MD -MD -MD -MD -MD -wz -Lm -Lm -VT -VT -VT -VT -VT -VT -Lm -Ed -es -Ed -Lm -VT -VT -VT -VT -Lm -Ed -aJ -Ed -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -VT -VT -VT -VT -VT +ak +ak +ak +ao +ak +ak +ak +ao +dL +dL +ak +ak +bG +bG +bG +bG +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ac +ab +ab +ab "} (57,1,1) = {" -MD -MD -MD -MD -MD -MD -MD -MD -MD -wz -Lm -VT -VT -VT -VT -VT -VT -Ed -Ed -KQ -Ed -Ed -Lm -VT -VT -Lm -Ed -Ed -dZ -Ed -Ed -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -VT -VT -VT -VT -VT +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +bG +bG +bG +bG +bG +bG +bG +ak +ak +ak +ak +ak +ak +ak +ak +ac +ac +ab +ab +ab "} (58,1,1) = {" -MD -MD -MD -MD -MD -MD -MD -MD -MD -MD -wz -wz -wz -VT -VT -VT -Cd -Ed -Wf -II -Jo -Ed -Cd -Cd -Cd -Cd -Lc -Wf -Ww -Jo -Ed -Cd -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +bG +bG +bG +bG +bG +bG +bG +bG +ak +ak +ak +ak +ak +ak +ak +ac +ac +ab +ab +ab "} (59,1,1) = {" -MD -MD -MD -MD -MD -MD -MD -MD -MD -MD -MD -wz -VT -VT -VT -Lm -Cd -dP -RC -es -wX -Wf -YM -GN -ou -Nf -mN -Aj -wd -es -TG -Cd -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -VT -VT -VT -VT -VT +ak +ak +ak +ak +ak +ak +ak +ak +ak +bG +bG +bG +ab +ab +ab +bG +bG +bG +bG +ak +ak +ak +ak +ak +ak +ac +ac +ab +ab +ab "} (60,1,1) = {" -MD -MD -MD -MD -MD -MD -MD -MD -MD -MD -wz -VT -VT -VT -VT -Lm -Ed -wg -Bh -KG -nK -sj -sj -mi -GM -sj -Mc -pK -ME -Cj -yt -Cd -Lm -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -"} -(61,1,1) = {" -MD -MD -MD -MD -MD -MD -MD -MD -MD -wz -VT -VT -VT -VT -Lm -Lm -Ed -eL -PO -Aj -zN -Sq -qH -Aj -Eg -es -Vo -Jl -KS -es -sE -Cd -Cd -Cd -Cd -At -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -"} -(62,1,1) = {" -MD -MD -MD -MD -MD -MD -MD -MD -MD -wz -VT -VT -wz -Lm -bg -bg -bg -Hd -au -Hd -bg -av -Cd -oG -cf -fO -Vo -es -XN -es -Vs -Ed -tY -Vs -Ed -Lm -Lm -wz -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -"} -(63,1,1) = {" -MD -MD -MD -MD -MD -MD -MD -MD -MD -MD -wz -wz -wz -Lm -bg -pr -Kx -dk -vJ -JW -bg -VP -Cd -Cd -Bc -Cd -Bc -es -XN -es -lI -AS -qR -lI -Mw -Lm -Lm -wz -wz -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -"} -(64,1,1) = {" -MD -MD -MD -MD -MD -MD -MD -MD -MD -MD -MD -wz -Lm -Lm -cA -xP -SY -jn -Ex -xv -bg -mI -Cd -OI -sz -gk -Wf -Yp -XN -es -Wf -Ed -lS -qc -Ed -Lm -Lm -Lm -wz -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -"} -(65,1,1) = {" -MD -MD -MD -MD -MD -MD -MD -MD -MD -MD -wz -VT -VT -Lm -cA -xP -Kl -CV -al -lj -bg -Cd -Cd -mw -es -es -es -es -iG -zN -ez -Cd -Cd -Cd -Cd -At -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -"} -(66,1,1) = {" -MD -MD -MD -MD -MD -MD -MD -MD -MD -MD -wz -VT -VT -Lm -bg -QD -PN -qb -KU -lu -bg -Ye -Cd -RI -es -yR -yF -me -Kb -Cd -Oj -Cd -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -VT -VT -VT -VT -VT -"} -(67,1,1) = {" -MD -MD -MD -MD -MD -MD -MD -MD -MD -MD -wz -VT -VT -Lm -bg -bg -bg -cA -kE -cA -bg -wz -Cd -Vj -es -Xr -Kk -iQ -Rv -NI -Kt -Cd -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -VT -VT -VT -VT -VT -"} -(68,1,1) = {" -MD -MD -MD -MD -MD -MD -MD -MD -MD -MD -wz -VT -VT -Lm -Lm -Lm -bg -qS -vE -VY -bg -wz -Cd -nR -SW -Cd -NI -ZN -NI -NI -Kt -Cd -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -VT -VT -VT -VT -VT -"} -(69,1,1) = {" -MD -MD -MD -MD -MD -MD -MD -MD -MD -MD -wz -wz -VT -VT -Lm -Lm -bg -Ik -KU -ap -bg -wz -Cd -XG -wj -rB -oo -JV -oo -oo -Ss -Cd -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -VT -VT -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -"} -(70,1,1) = {" -MD -MD -MD -MD -MD -MD -MD -MD -MD -wz -Lm -wz -wz -VT -VT -Lm -bg -cA -KP -cA -bg -wz -Cd -Cd -Cd -Cd -Cd -Cd -Cd -Cd -Cd -Cd -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -VT -Lm -VT -VT -VT -VT -VT -Lm -VT -VT -VT -VT -VT -"} -(71,1,1) = {" -MD -MD -MD -MD -MD -MD -MD -MD -wz -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Be -Lm -Lm -Lm -Be -wz -wz -Lm -Lm -VT -VT -VT -VT -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -VT -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -"} -(72,1,1) = {" -MD -MD -wz -wz -MD -MD -MD -wz -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -VT -VT -Lm -Lm -VT -VT -VT -VT -VT -Lm -VT -VT -VT -VT -VT -"} -(73,1,1) = {" -MD -wz -Lm -Lm -wz -wz -MD -wz -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -VT -VT -Lm -Lm -VT -VT -VT -VT -Lm -Lm -Lm -VT -VT -VT -VT -"} -(74,1,1) = {" -wz -Lm -Lm -Lm -wz -Lm -wz -MD -wz -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -VT -VT -VT -VT -VT -VT -VT -VT -Lm -Lm -Lm -Lm -Lm -Lm -VT -VT -VT -VT -Lm -Lm -VT -VT -VT -VT -Lm -Lm -Lm -VT -VT -VT -VT +ak +ak +ak +ak +ak +ak +ak +ak +bG +bG +ab +ab +ab +ab +ab +ab +bG +dL +dL +ak +ak +ak +ak +ak +ak +ak +ac +ab +ab +ab "} diff --git a/_maps/RandomRuins/SpaceRuins/clericden.dmm b/_maps/RandomRuins/SpaceRuins/clericden.dmm new file mode 100644 index 0000000000..0b6ca24dd3 --- /dev/null +++ b/_maps/RandomRuins/SpaceRuins/clericden.dmm @@ -0,0 +1,579 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/turf/closed/mineral/random/no_caves, +/area/ruin/unpowered/no_grav) +"c" = ( +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered/no_grav) +"d" = ( +/turf/closed/wall, +/area/ruin/unpowered/no_grav) +"e" = ( +/turf/closed/wall/rust, +/area/ruin/unpowered/no_grav) +"f" = ( +/obj/item/stack/rods{ + amount = 2 + }, +/obj/item/shard, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered/no_grav) +"g" = ( +/obj/structure/grille, +/obj/structure/window/fulltile, +/turf/open/floor/plating, +/area/ruin/unpowered/no_grav) +"h" = ( +/obj/structure/grille/broken, +/obj/structure/barricade/wooden/crude, +/obj/structure/trap/cult, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating/airless, +/area/ruin/unpowered/no_grav) +"i" = ( +/obj/structure/light_prism, +/turf/open/floor/plasteel/airless/dark, +/area/ruin/unpowered/no_grav) +"j" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plating/airless, +/area/ruin/unpowered/no_grav) +"k" = ( +/obj/item/ectoplasm, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered/no_grav) +"l" = ( +/obj/structure/closet/crate/coffin, +/turf/open/floor/plasteel/airless/dark, +/area/ruin/unpowered/no_grav) +"m" = ( +/turf/open/floor/plating/airless, +/area/ruin/unpowered/no_grav) +"n" = ( +/turf/open/floor/carpet/royalblack/airless, +/area/ruin/unpowered/no_grav) +"o" = ( +/obj/structure/table/wood/fancy, +/obj/item/reagent_containers/food/drinks/bottle/holywater, +/turf/open/floor/carpet/airless, +/area/ruin/unpowered/no_grav) +"p" = ( +/obj/structure/table/wood/fancy, +/obj/item/melee/cleric_mace, +/turf/open/floor/carpet/airless, +/area/ruin/unpowered/no_grav) +"q" = ( +/obj/effect/decal/cleanable/shreds, +/turf/open/floor/carpet/airless, +/area/ruin/unpowered/no_grav) +"r" = ( +/obj/effect/decal/cleanable/shreds, +/obj/effect/decal/remains/human, +/obj/item/disk/design_disk/adv/cleric_mace, +/obj/structure/trap/cult, +/turf/open/floor/carpet/airless, +/area/ruin/unpowered/no_grav) +"s" = ( +/obj/effect/decal/cleanable/shreds, +/turf/open/floor/carpet/royalblack/airless, +/area/ruin/unpowered/no_grav) +"t" = ( +/turf/open/floor/carpet/royalblue/airless, +/area/ruin/unpowered/no_grav) +"u" = ( +/turf/open/floor/carpet/airless, +/area/ruin/unpowered/no_grav) +"v" = ( +/obj/effect/decal/cleanable/blood/splatter, +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/shreds, +/turf/open/floor/carpet/airless, +/area/ruin/unpowered/no_grav) +"w" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/carpet/royalblack/airless, +/area/ruin/unpowered/no_grav) +"x" = ( +/obj/structure/bonfire, +/turf/open/floor/plasteel/airless/dark, +/area/ruin/unpowered/no_grav) +"y" = ( +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/carpet/airless, +/area/ruin/unpowered/no_grav) +"z" = ( +/obj/item/paper/fluff/ruins/clericsden/contact, +/turf/open/floor/plating/airless, +/area/ruin/unpowered/no_grav) +"A" = ( +/obj/structure/table/wood{ + layer = 3.3 + }, +/turf/open/floor/carpet/royalblack/airless, +/area/ruin/unpowered/no_grav) +"B" = ( +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/carpet/airless, +/area/ruin/unpowered/no_grav) +"C" = ( +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/carpet/royalblue/airless, +/area/ruin/unpowered/no_grav) +"D" = ( +/obj/effect/decal/remains/human, +/obj/structure/trap/cult, +/turf/open/floor/carpet/airless, +/area/ruin/unpowered/no_grav) +"E" = ( +/obj/effect/decal/cleanable/blood/tracks, +/mob/living/simple_animal/hostile/construct/proteon/hostile, +/turf/open/floor/carpet/airless, +/area/ruin/unpowered/no_grav) +"F" = ( +/obj/item/flashlight/flare/torch, +/turf/open/floor/plating/airless, +/area/ruin/unpowered/no_grav) +"G" = ( +/obj/effect/decal/cleanable/blood/tracks, +/obj/structure/trap/cult, +/turf/open/floor/carpet/airless, +/area/ruin/unpowered/no_grav) +"H" = ( +/obj/structure/light_prism, +/turf/open/floor/plating/airless, +/area/ruin/unpowered/no_grav) +"I" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/carpet/airless, +/area/ruin/unpowered/no_grav) +"J" = ( +/obj/structure/rack, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/turf/open/floor/plasteel/airless/dark, +/area/ruin/unpowered/no_grav) +"K" = ( +/obj/structure/grille, +/obj/structure/window/fulltile, +/turf/open/floor/plating/airless, +/area/ruin/unpowered/no_grav) +"L" = ( +/obj/machinery/door/airlock/wood, +/turf/open/floor/plating/airless, +/area/ruin/unpowered/no_grav) +"M" = ( +/obj/effect/decal/cleanable/blood/tracks, +/obj/machinery/door/airlock/wood, +/turf/open/floor/plating/airless, +/area/ruin/unpowered/no_grav) +"N" = ( +/mob/living/simple_animal/hostile/construct/proteon, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered/no_grav) +"O" = ( +/obj/structure/grille, +/obj/structure/window/fulltile, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/plating/airless, +/area/ruin/unpowered/no_grav) +"Q" = ( +/obj/item/storage/book/bible, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered/no_grav) +"S" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered/no_grav) +"U" = ( +/obj/effect/decal/remains/human, +/obj/item/paper/fluff/ruins/clericsden/warning, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered/no_grav) + +(1,1,1) = {" +a +a +a +a +a +a +a +a +c +b +c +c +c +c +a +a +a +a +"} +(2,1,1) = {" +a +a +a +c +c +c +c +c +c +c +c +b +c +c +b +c +c +a +"} +(3,1,1) = {" +a +c +b +c +c +b +c +b +c +c +b +b +b +c +b +b +b +a +"} +(4,1,1) = {" +a +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +c +a +"} +(5,1,1) = {" +a +b +d +d +e +d +e +K +d +d +d +d +d +d +e +c +c +a +"} +(6,1,1) = {" +a +b +e +i +l +e +x +m +e +x +m +e +m +J +d +e +b +a +"} +(7,1,1) = {" +a +a +e +j +n +n +t +w +A +C +n +A +C +n +H +e +d +a +"} +(8,1,1) = {" +a +f +h +m +o +q +u +u +u +D +u +u +u +u +I +L +c +c +"} +(9,1,1) = {" +a +b +g +m +p +r +v +y +B +E +B +y +B +G +B +M +U +S +"} +(10,1,1) = {" +a +b +d +m +n +s +t +n +A +C +n +A +C +n +H +d +e +c +"} +(11,1,1) = {" +a +c +e +i +l +d +x +z +e +x +F +e +m +J +e +d +b +b +"} +(12,1,1) = {" +a +a +e +e +d +d +e +O +d +d +d +e +e +d +d +b +b +c +"} +(13,1,1) = {" +a +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +c +c +"} +(14,1,1) = {" +a +c +b +b +b +c +b +b +c +b +c +Q +b +b +b +c +S +a +"} +(15,1,1) = {" +a +a +c +c +c +c +c +c +N +c +c +c +c +S +c +c +a +a +"} +(16,1,1) = {" +a +a +k +c +b +b +c +c +b +c +c +b +c +b +b +b +a +a +"} +(17,1,1) = {" +a +b +c +b +c +b +b +b +b +b +b +b +b +b +c +a +a +a +"} +(18,1,1) = {" +b +b +b +a +a +c +c +c +c +c +c +c +c +a +a +a +a +a +"} +(19,1,1) = {" +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} diff --git a/_maps/RandomRuins/StationRuins/Box/Engine/engine_am.dmm b/_maps/RandomRuins/StationRuins/Box/Engine/engine_am.dmm index 96e28fbc6f..0c83691bd7 100644 --- a/_maps/RandomRuins/StationRuins/Box/Engine/engine_am.dmm +++ b/_maps/RandomRuins/StationRuins/Box/Engine/engine_am.dmm @@ -118,13 +118,6 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"nR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/box/red, -/turf/open/floor/engine, -/area/engine/engineering) "nW" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -180,13 +173,6 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"xg" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" - }, -/turf/open/floor/plasteel, -/area/engine/engineering) "xx" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -266,13 +252,6 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"Bh" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" - }, -/turf/open/floor/plasteel, -/area/engine/engineering) "BG" = ( /obj/structure/closet/emcloset/anchored, /obj/machinery/light/small{ @@ -427,13 +406,6 @@ }, /turf/open/floor/engine, /area/engine/engineering) -"Mn" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/box/red, -/turf/open/floor/engine, -/area/engine/engineering) "MD" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/stripes/line{ @@ -503,10 +475,6 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"SD" = ( -/obj/effect/turf_decal/box/red, -/turf/open/floor/engine, -/area/engine/engineering) "Tr" = ( /obj/structure/sign/warning/radiation/rad_area, /obj/machinery/atmospherics/pipe/simple/orange/visible{ @@ -1117,8 +1085,8 @@ MJ wt eJ Zx -Mn -Mn +nW +nW WQ lY Og @@ -1401,7 +1369,7 @@ fh JZ kK Ch -dz +Ch MJ MJ MJ diff --git a/_maps/RandomRuins/StationRuins/Box/Engine/engine_teg.dmm b/_maps/RandomRuins/StationRuins/Box/Engine/engine_teg.dmm index 42ed0035ce..6a134fca70 100644 --- a/_maps/RandomRuins/StationRuins/Box/Engine/engine_teg.dmm +++ b/_maps/RandomRuins/StationRuins/Box/Engine/engine_teg.dmm @@ -189,8 +189,10 @@ /turf/open/floor/plasteel, /area/engine/engineering) "gA" = ( -/obj/machinery/igniter{ - id = "TEG_igniter" +/obj/machinery/atmospherics/components/unary/outlet_injector{ + dir = 1; + injecting = 50; + on = 1 }, /turf/open/floor/engine/vacuum, /area/engine/engineering) @@ -390,21 +392,23 @@ /turf/open/floor/plating, /area/engine/engineering) "nc" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector{ - dir = 1 - }, +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/obj/effect/spawner/structure/window/plasma/reinforced, /turf/open/floor/engine/vacuum, /area/engine/engineering) "nk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 +/obj/machinery/atmospherics/components/binary/pump{ + name = "Hot to Burn Chamber" }, -/turf/closed/wall/r_wall, +/turf/open/floor/plasteel, /area/engine/engineering) "nD" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 9 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, /turf/open/floor/engine/vacuum, /area/engine/engineering) "nL" = ( @@ -461,10 +465,11 @@ /turf/open/floor/plasteel, /area/engine/engineering) "oQ" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple, /obj/structure/sign/warning/securearea{ pixel_x = -32 }, +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/pipe/heat_exchanging/junction, /turf/open/floor/engine/vacuum, /area/engine/engineering) "oS" = ( @@ -728,16 +733,16 @@ /area/engine/engineering) "vq" = ( /obj/structure/table/reinforced, -/obj/item/storage/box/lights/mixed, -/obj/item/storage/box/lights/mixed{ - pixel_x = 3; - pixel_y = 3 - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/camera{ c_tag = "TEG - South West"; dir = 4 }, +/obj/item/analyzer, +/obj/item/analyzer{ + pixel_x = 7; + pixel_y = 3 + }, /turf/open/floor/plasteel, /area/engine/engineering) "vG" = ( @@ -798,17 +803,10 @@ /turf/open/floor/plasteel, /area/engine/engineering) "xD" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, /obj/machinery/atmospherics/components/binary/pump{ dir = 8; name = "Mix to Engine" }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Atmos to Loop" - }, /turf/open/floor/plasteel, /area/engine/engineering) "yf" = ( @@ -837,11 +835,7 @@ /area/engine/engineering) "zx" = ( /obj/structure/table/wood, -/obj/item/electronics/apc, -/obj/item/electronics/apc{ - pixel_x = 3; - pixel_y = 3 - }, +/obj/item/analyzer, /turf/open/floor/plasteel, /area/engine/engineering) "zG" = ( @@ -855,8 +849,8 @@ /turf/open/space/basic, /area/space) "Am" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 +/obj/machinery/igniter{ + id = "TEG_igniter" }, /turf/open/floor/engine/vacuum, /area/engine/engineering) @@ -962,10 +956,11 @@ /turf/open/floor/plasteel, /area/engine/engineering) "BY" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple, /obj/structure/sign/warning/securearea{ pixel_x = 32 }, +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/pipe/heat_exchanging/junction, /turf/open/floor/engine/vacuum, /area/engine/engineering) "CH" = ( @@ -1099,7 +1094,8 @@ /area/engine/engineering) "FW" = ( /obj/machinery/atmospherics/components/binary/pump{ - dir = 1 + dir = 1; + name = "Burn Chamber to Hot" }, /obj/effect/decal/cleanable/dirt, /obj/machinery/light{ @@ -1177,7 +1173,9 @@ /turf/open/floor/plating/airless, /area/engine/engineering) "Hp" = ( -/obj/machinery/atmospherics/components/binary/pump, +/obj/machinery/atmospherics/components/binary/pump{ + name = "Space Loop Bypass" + }, /turf/open/floor/plasteel, /area/engine/engineering) "HF" = ( @@ -1204,11 +1202,10 @@ /turf/open/floor/plasteel, /area/engine/engineering) "IA" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 }, -/turf/open/floor/engine/vacuum, +/turf/closed/wall/r_wall, /area/engine/engineering) "IP" = ( /obj/machinery/portable_atmospherics/canister/oxygen, @@ -1290,11 +1287,6 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"Kx" = ( -/obj/effect/spawner/structure/window/plasma/reinforced, -/obj/machinery/atmospherics/pipe/heat_exchanging/junction, -/turf/open/floor/plasteel, -/area/engine/engineering) "KA" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/turf_decal/bot, @@ -1441,6 +1433,7 @@ }, /obj/machinery/airalarm{ dir = 1; + locked = 0; pixel_y = -22 }, /obj/machinery/light, @@ -1593,7 +1586,9 @@ /turf/open/floor/plasteel, /area/engine/engineering) "SE" = ( -/obj/machinery/atmospherics/components/binary/pump/on, +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Mix To Burn Chamber" + }, /turf/open/floor/plasteel, /area/engine/engineering) "ST" = ( @@ -1715,7 +1710,7 @@ "Vs" = ( /obj/machinery/atmospherics/components/binary/valve/digital/on{ dir = 4; - name = "Output Release" + name = "Cold to Space Loop" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, @@ -1780,7 +1775,7 @@ "XD" = ( /obj/machinery/atmospherics/components/binary/valve/digital/on{ dir = 4; - name = "Output Release" + name = "Space Loop to Cold" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/camera{ @@ -1799,6 +1794,9 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 4 }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, /turf/open/floor/engine/vacuum, /area/engine/engineering) "XP" = ( @@ -1857,8 +1855,8 @@ /area/engine/engineering) "YP" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/item/pipe_dispenser, /turf/open/floor/plasteel, /area/engine/engineering) "YQ" = ( @@ -1917,7 +1915,7 @@ /area/engine/engineering) "ZC" = ( /obj/machinery/atmospherics/pipe/simple/dark/visible, -/turf/open/floor/engine/vacuum, +/turf/open/space/basic, /area/engine/engineering) "ZT" = ( /turf/template_noop, @@ -2531,9 +2529,9 @@ Xe aR ZY QH -Hp -Kx -kS +nk +le +ZC oQ kS kS @@ -2588,11 +2586,11 @@ sH sH gq FW -Kx -kS +le +ZC BY kS -IA +kS nD ek Le @@ -2620,8 +2618,8 @@ yN yN yN yN -nk -MP +yN +IA fO Rh Rh diff --git a/_maps/kilostation.dm b/_maps/kilostation.dm new file mode 100644 index 0000000000..d784be6e8f --- /dev/null +++ b/_maps/kilostation.dm @@ -0,0 +1 @@ +#define FORCE_MAP "_maps/kilostation.json" \ No newline at end of file diff --git a/_maps/kilostation.json b/_maps/kilostation.json new file mode 100644 index 0000000000..388f07ef1a --- /dev/null +++ b/_maps/kilostation.json @@ -0,0 +1,11 @@ +{ + "map_name": "Kilo Station", + "map_path": "map_files/KiloStation", + "map_file": "KiloStation.dmm", + "shuttles": { + "emergency": "emergency_kilo", + "ferry": "ferry_kilo", + "cargo": "cargo_kilo", + "whiteship": "whiteship_delta" + } +} \ No newline at end of file diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 452a080be0..45301329d3 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -3984,7 +3984,12 @@ /turf/open/floor/plasteel, /area/security/brig) "aiA" = ( -/obj/effect/spawner/structure/window/reinforced, +/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" = ( @@ -6145,11 +6150,8 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "anE" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/external{ - req_access_txt = "13" +/obj/structure/cable{ + icon_state = "4-8" }, /turf/open/floor/plating, /area/maintenance/fore/secondary) @@ -6157,11 +6159,16 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "anG" = ( -/obj/structure/sign/warning/vacuum/external{ - pixel_y = 32 +/obj/machinery/power/apc{ + areastring = "/area/crew_quarters/fitness/pool"; + name = "Pool APC"; + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "0-8" }, /turf/open/floor/plating, -/area/maintenance/fore/secondary) +/area/crew_quarters/fitness/pool) "anH" = ( /obj/structure/sign/warning/electricshock, /turf/closed/wall/r_wall, @@ -6317,7 +6324,7 @@ dir = 10 }, /turf/closed/wall, -/area/maintenance/fore/secondary) +/area/crew_quarters/fitness/pool) "aof" = ( /turf/closed/wall/r_wall, /area/maintenance/solars/starboard/fore) @@ -7145,14 +7152,16 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "aqs" = ( -/obj/machinery/door/airlock{ - id_tag = "Room Two"; - name = "Room Seven - Luxury Suite" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 }, /obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/dorms) +/obj/machinery/door/airlock/public/glass{ + name = "Pool" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "aqu" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -9307,8 +9316,8 @@ /obj/item/clothing/under/trek/medsci/next, /obj/item/clothing/under/trek/medsci/next, /obj/item/clothing/under/trek/medsci/next, -/obj/item/clothing/under/mw2_russian_para, -/obj/item/clothing/under/mw2_russian_para, +/obj/item/clothing/under/russobluecamooutfit, +/obj/item/clothing/under/russobluecamooutfit, /obj/item/clothing/under/gladiator, /obj/item/clothing/under/gladiator, /obj/machinery/firealarm{ @@ -10298,6 +10307,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"azm" = ( +/obj/structure/closet/secure_closet/personal, +/obj/item/toy/poolnoodle/blue, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "azo" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 @@ -31375,6 +31389,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, +/obj/effect/landmark/start/paramedic, /turf/open/floor/plasteel/white, /area/medical/sleeper) "bzg" = ( @@ -48182,6 +48197,9 @@ /obj/machinery/atmospherics/pipe/manifold4w/scrubbers, /turf/open/floor/plasteel, /area/security/brig) +"con" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "cop" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/atmos/incinerator_input{ dir = 1 @@ -53297,13 +53315,8 @@ /turf/open/floor/plasteel/dark, /area/hallway/primary/central) "dqb" = ( -/obj/structure/bed, -/obj/item/bedsheet/random, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "dqu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, @@ -53368,6 +53381,12 @@ /obj/machinery/portable_atmospherics/scrubber, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"dCr" = ( +/obj/structure/pool/Rboard, +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "dCV" = ( /obj/structure/table, /obj/structure/cable{ @@ -53384,6 +53403,9 @@ /obj/item/gun/energy/laser/practice, /turf/open/floor/plasteel, /area/security/prison) +"dFX" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "dKP" = ( /turf/closed/wall, /area/maintenance/bar) @@ -53413,14 +53435,14 @@ }, /obj/item/clothing/head/russobluecamohat, /obj/item/clothing/head/russobluecamohat, -/obj/item/clothing/head/helmet/rus_ushanka, -/obj/item/clothing/head/helmet/rus_ushanka, -/obj/item/clothing/head/helmet/rus_ushanka, -/obj/item/clothing/head/helmet/rus_ushanka, -/obj/item/clothing/under/mw2_russian_para, -/obj/item/clothing/under/mw2_russian_para, -/obj/item/clothing/under/mw2_russian_para, -/obj/item/clothing/under/mw2_russian_para, +/obj/item/clothing/head/ushanka, +/obj/item/clothing/head/ushanka, +/obj/item/clothing/head/ushanka, +/obj/item/clothing/head/ushanka, +/obj/item/clothing/under/russobluecamooutfit, +/obj/item/clothing/under/russobluecamooutfit, +/obj/item/clothing/under/russobluecamooutfit, +/obj/item/clothing/under/russobluecamooutfit, /obj/item/clothing/shoes/jackboots, /obj/item/clothing/shoes/jackboots, /obj/item/clothing/shoes/jackboots, @@ -53462,6 +53484,11 @@ }, /turf/open/space, /area/solar/starboard/fore) +"ecg" = ( +/turf/open/floor/plasteel/yellowsiding/corner{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) "edA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -53657,6 +53684,17 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) +"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) "eQb" = ( /turf/open/floor/carpet, /area/crew_quarters/dorms) @@ -53678,6 +53716,11 @@ /obj/machinery/door/firedoor, /turf/open/floor/plating, /area/crew_quarters/cryopod) +"eVJ" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "eVL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/light_switch{ @@ -53792,6 +53835,17 @@ }, /turf/open/floor/plating, /area/crew_quarters/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 @@ -53861,6 +53915,13 @@ "fxV" = ( /turf/closed/wall/r_wall, /area/hallway/primary/central) +"fyS" = ( +/obj/structure/pool/ladder{ + dir = 1; + pixel_y = -24 + }, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "fzd" = ( /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel, @@ -53922,14 +53983,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, /area/science/circuit) -"fMZ" = ( -/obj/item/radio/intercom{ - dir = 4; - name = "Station Intercom (General)"; - pixel_x = 27 - }, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) "fOA" = ( /obj/machinery/door/airlock{ name = "Theatre Backstage"; @@ -54072,6 +54125,14 @@ }, /turf/open/floor/circuit, /area/ai_monitored/nuke_storage) +"grc" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "grA" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -54082,6 +54143,9 @@ }, /turf/open/floor/plasteel/dark, /area/crew_quarters/fitness) +"gvX" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "gwd" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -54320,6 +54384,11 @@ }, /turf/open/floor/plating, /area/space/nearstation) +"hzK" = ( +/turf/open/floor/plasteel/yellowsiding/corner{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "hBA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/table, @@ -54473,9 +54542,13 @@ }, /area/crew_quarters/theatre) "iou" = ( -/obj/machinery/light/small, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/dorms) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "ipA" = ( /turf/open/floor/plating, /area/maintenance/department/medical/morgue) @@ -54536,6 +54609,12 @@ }, /turf/open/floor/wood, /area/maintenance/bar) +"iBv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "iDo" = ( /obj/structure/grille, /turf/open/space/basic, @@ -54567,6 +54646,21 @@ }, /turf/closed/wall/r_wall, /area/engine/gravity_generator) +"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, +/area/crew_quarters/fitness/pool) "iNn" = ( /obj/machinery/camera{ c_tag = "Kitchen Cold Room" @@ -54604,6 +54698,14 @@ /obj/item/coin/silver, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"iYE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/table/glass, +/obj/item/storage/firstaid/regular, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "jaF" = ( /obj/machinery/light/small, /obj/machinery/atmospherics/components/unary/tank/air{ @@ -54878,19 +54980,22 @@ /turf/open/floor/plasteel, /area/engine/engine_smes) "jLT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"jMW" = ( +/obj/structure/chair/comfy/black{ + dir = 4 + }, /obj/machinery/button/door{ - id = "Room Two"; - name = "Door Bolt Control"; - normaldoorcontrol = 1; - pixel_x = 7; - pixel_y = -24; - specialfunctions = 4 + id = "PoolShut"; + name = "Pool Shutters"; + pixel_y = 24 }, -/obj/structure/chair/comfy/brown{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "jRw" = ( /obj/machinery/computer/arcade/minesweeper{ dir = 4 @@ -54906,6 +55011,10 @@ }, /turf/open/floor/plasteel, /area/science/circuit) +"jUN" = ( +/obj/effect/landmark/start/paramedic, +/turf/open/floor/plasteel/white, +/area/medical/sleeper) "jVl" = ( /obj/structure/cable{ icon_state = "4-8" @@ -54927,6 +55036,10 @@ "kaq" = ( /turf/closed/wall/mineral/titanium, /area/space/nearstation) +"kdO" = ( +/obj/machinery/pool/controller, +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "kdP" = ( /obj/structure/cable{ icon_state = "2-8" @@ -54991,11 +55104,9 @@ /turf/open/floor/plasteel, /area/hallway/secondary/service) "khB" = ( -/obj/machinery/door/airlock/external{ - req_access_txt = "13" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 +/obj/machinery/door/airlock/maintenance{ + name = "Pool Maintenance"; + req_access_txt = "12" }, /turf/open/floor/plating, /area/maintenance/fore/secondary) @@ -55267,6 +55378,12 @@ /obj/item/clothing/under/lawyer/red, /turf/open/floor/plasteel, /area/crew_quarters/locker) +"lnk" = ( +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "lnu" = ( /obj/structure/chair/wood/normal{ dir = 4 @@ -55312,6 +55429,12 @@ }, /turf/open/floor/plating, /area/construction/mining/aux_base) +"lCo" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "lGV" = ( /obj/machinery/button/door{ id = "maintdiy"; @@ -55327,12 +55450,6 @@ }, /turf/open/floor/plasteel, /area/science/circuit) -"lOe" = ( -/obj/machinery/shower{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/dorms) "lPr" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "applebush" @@ -55356,13 +55473,6 @@ /turf/open/floor/carpet, /area/crew_quarters/dorms) "lXE" = ( -/obj/structure/sign/warning/fire{ - desc = "A sign that states the labeled room's number."; - dir = 5; - icon_state = "roomnum"; - name = "Room Number 7"; - pixel_y = 24 - }, /obj/structure/chair/sofa/right, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -55377,6 +55487,12 @@ /obj/item/coin/gold, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"lZK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "mbU" = ( /obj/machinery/vr_sleeper{ dir = 8 @@ -55397,6 +55513,15 @@ /obj/item/target/syndicate, /turf/open/floor/plating, /area/security/prison) +"meb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/bed, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"mgF" = ( +/obj/structure/bed, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "mjr" = ( /obj/structure/reagent_dispensers/keg/milk, /turf/open/floor/wood, @@ -55459,13 +55584,6 @@ /obj/effect/spawner/lootdrop/keg, /turf/open/floor/wood, /area/maintenance/bar) -"mse" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/structure/chair/sofa/left, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) "mvt" = ( /obj/machinery/airalarm{ dir = 1; @@ -55876,10 +55994,6 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) -"obc" = ( -/obj/structure/chair/sofa/right, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) "oce" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 @@ -55906,6 +56020,13 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"ohq" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "old" = ( /obj/effect/turf_decal/tile/red{ dir = 8 @@ -56077,17 +56198,6 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"oLn" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 2; - name = "2maintenance loot spawner" - }, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) "oTW" = ( /obj/structure/chair/stool{ pixel_y = 8 @@ -56106,6 +56216,10 @@ /obj/machinery/disposal/bin, /turf/open/floor/plasteel/white, /area/science/circuit) +"oVo" = ( +/obj/structure/pool/ladder, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "oZl" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/closet/wardrobe/pjs, @@ -56148,6 +56262,14 @@ }, /turf/open/floor/plating, /area/security/prison) +"pkF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/extinguisher_cabinet{ + pixel_x = -27; + pixel_y = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "plm" = ( /obj/structure/reagent_dispensers/watertank/high, /obj/effect/turf_decal/tile/yellow{ @@ -56375,6 +56497,16 @@ }, /turf/open/floor/plating, /area/crew_quarters/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/crew_quarters/fitness/pool) "qeQ" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -56446,13 +56578,6 @@ /obj/structure/grille/broken, /turf/open/space/basic, /area/space/nearstation) -"qAm" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/light/small, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) "qBi" = ( /obj/structure/lattice, /turf/closed/wall/r_wall, @@ -56522,6 +56647,12 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) +"qWV" = ( +/obj/machinery/pool/filter{ + pixel_y = 24 + }, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "qXg" = ( /obj/structure/chair/sofa/left, /turf/open/floor/plasteel, @@ -56891,6 +57022,21 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) +"sth" = ( +/obj/structure/table/glass, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"str" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/closed/wall, +/area/crew_quarters/fitness/pool) +"stF" = ( +/obj/structure/closet/secure_closet/personal, +/obj/item/toy/poolnoodle/yellow, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "sxs" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/table, @@ -57236,6 +57382,22 @@ /obj/item/soap, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/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, +/area/crew_quarters/fitness/pool) +"tAH" = ( +/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) "tCa" = ( /obj/structure/table/wood, /obj/item/instrument/guitar{ @@ -57417,6 +57579,12 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) +"uei" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "ufD" = ( /obj/machinery/vr_sleeper{ dir = 4 @@ -57457,16 +57625,26 @@ /area/crew_quarters/cryopod) "ujS" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 + dir = 10 }, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"ulM" = ( +/obj/structure/closet/secure_closet/personal, +/obj/item/toy/poolnoodle/red, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "unA" = ( /obj/machinery/light{ dir = 8 }, /turf/open/floor/wood, /area/crew_quarters/bar) +"unR" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "unW" = ( /obj/effect/landmark/event_spawn, /obj/structure/cable{ @@ -57538,6 +57716,16 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"uzs" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) +"uAH" = ( +/turf/open/floor/plasteel/yellowsiding/corner{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "uBa" = ( /obj/structure/table, /obj/item/reagent_containers/food/drinks/soda_cans/starkist{ @@ -57557,6 +57745,14 @@ }, /turf/open/space, /area/solar/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/crew_quarters/fitness/pool) "uEI" = ( /obj/structure/chair/comfy/brown{ dir = 8 @@ -57658,6 +57854,10 @@ icon_state = "carpetsymbol" }, /area/crew_quarters/theatre) +"uSC" = ( +/obj/machinery/pool/drain, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "uVS" = ( /obj/structure/cable{ icon_state = "4-8" @@ -57729,6 +57929,12 @@ }, /turf/open/floor/wood, /area/security/vacantoffice) +"veS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "vhb" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -57788,6 +57994,10 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) +"voW" = ( +/obj/structure/pool/Lboard, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "vpY" = ( /obj/structure/closet/lasertag/blue, /obj/item/clothing/under/pj/blue, @@ -57854,6 +58064,14 @@ }, /turf/open/floor/wood, /area/maintenance/bar) +"vAl" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/machinery/camera{ + c_tag = "Pool East"; + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "vBa" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -58001,6 +58219,12 @@ }, /turf/open/floor/wood, /area/library) +"wag" = ( +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "wbE" = ( /obj/effect/turf_decal/tile/blue{ alpha = 255 @@ -58026,6 +58250,9 @@ }, /turf/open/floor/carpet, /area/crew_quarters/heads/captain) +"wcR" = ( +/turf/open/floor/plasteel/yellowsiding/corner, +/area/crew_quarters/fitness/pool) "wdv" = ( /obj/structure/fans/tiny/invisible, /turf/open/space/basic, @@ -58040,15 +58267,11 @@ /turf/open/floor/plating, /area/maintenance/bar) "wig" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - on = 0; - pixel_x = -7; - pixel_y = 12 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "wkN" = ( /turf/closed/wall, /area/science/circuit) @@ -58121,6 +58344,12 @@ }, /turf/closed/wall, /area/hallway/secondary/service) +"wHk" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "wHz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -58145,6 +58374,13 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) +"wQg" = ( +/obj/structure/pool/ladder{ + dir = 2; + pixel_y = 24 + }, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "wTf" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 @@ -58185,19 +58421,24 @@ /obj/effect/landmark/start/roboticist, /turf/open/floor/plasteel/white, /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, +/area/crew_quarters/fitness/pool) "wXl" = ( -/obj/structure/mirror{ - pixel_y = 32 - }, -/obj/structure/sink{ - dir = 1; - pixel_y = 25 - }, -/obj/structure/toilet{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/machinery/camera{ + c_tag = "Pool West"; dir = 4 }, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "wYc" = ( /obj/machinery/vr_sleeper{ dir = 8 @@ -58213,6 +58454,22 @@ }, /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/captain) +"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, +/area/crew_quarters/fitness/pool) "xbn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 @@ -58565,6 +58822,13 @@ /obj/item/clothing/under/pj/red, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"xZL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "ybj" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -93145,7 +93409,7 @@ aif aif aif aif -aif +fpz bkV jKP alK @@ -93397,12 +93661,12 @@ abp abp uhm ahn -aiA -aiA +ahn aiA ahn -oLn -anF +ahn +grc +anE aod ahn apx @@ -93654,11 +93918,11 @@ wdv abp nQi ahn -aaa -aaf -aaf +ahn +uei ahn ahn +grc anE aod aoK @@ -93911,11 +94175,11 @@ aaa adR ahn ahn -aaa -aaa -aaa -aaf ahn +tAH +ahn +ahn +eMs anG aoe aoL @@ -94168,13 +94432,13 @@ aaa gXs aaa aaa -aaa -aaa -aaa -aaa +gJi +gJi +gJi +ahn ahn khB -ahn +dFX ahn ahn ahn @@ -94428,17 +94692,17 @@ aaa aaa aaa aaa -aaa -aag -aag -aag -arf +dFX +wWW +dqb +lCo +ohq wXl iou -arf -eSe +pkF +xZL wig -vyp +str rrM clO asZ @@ -94685,17 +94949,17 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -arf -lOe -pgf -gzf -eQb +uEx +ulM +wcR +uzs +uzs +uzs +uzs +uzs +ecg jLT -arf +veS arm fHG aya @@ -94942,15 +95206,15 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -arf -arf -arf -arf -oAB +uEx +azm +gvX +qWV +con +oVo +con +con +eVJ ujS aqs coh @@ -95199,17 +95463,17 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -arf -obc -eQb -qAm -arf +uEx +stF +gvX +con +con +con +con +con +eVJ +dqb +qeA lXE pFX mOO @@ -95456,17 +95720,17 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -arf -mse -fMZ +dFX +lnk +gvX +wQg +con +con +con +fyS +eVJ dqb -arf +veS xzd sJI jJg @@ -95713,17 +95977,17 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aae -aaa -aaa -arf -arf -arf -arf -arf +uEx +dqb +gvX +con +con +con +con +con +eVJ +iBv +lZK fZm jmV epD @@ -95970,16 +96234,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -gXs +uEx +dqb +kdO +con +con +uSC +con +con +eVJ +wHk ewu pQp pQp @@ -96032,7 +96296,7 @@ bAv bvj bCO bDR -bDR +jUN bDR bIn bJC @@ -96227,16 +96491,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -gXs -gXs +uEx +dqb +gvX +con +con +con +con +con +eVJ +wHk aqu aro aro @@ -96484,16 +96748,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -gXs -gXs -aaa +dFX +jMW +gvX +wQg +con +con +con +fyS +eVJ +wHk aqu aro aro @@ -96741,16 +97005,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -gXs -gXs -aaa -aaa +uEx +sth +gvX +con +con +con +con +con +eVJ +wHk aqu aro aro @@ -96998,16 +97262,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -gXs -gXs -aaa -aaa -aaa +uEx +wag +gvX +con +con +voW +con +con +eVJ +wHk aqu aro aro @@ -97255,16 +97519,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -gXs -gXs -aaa -aaa -aaa -aaa +uEx +tAC +uAH +unR +unR +dCr +unR +unR +hzK +iYE aqu aro aro @@ -97512,16 +97776,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaf -aaf -aaa -aaa -aaa -aaa -aaa +dFX +xaB +mgF +mgF +mgF +vAl +meb +meb +meb +iMv vmQ pQp pQp @@ -97768,18 +98032,18 @@ aaS aaS aaS aaS -aaS -aaS -aaS -aaf -aaf -aaa -aaa -aaa -aaa -aaa -aaa aaa +dFX +dFX +uEx +uEx +uEx +dFX +uEx +uEx +uEx +dFX +dFX aaa aaa arj @@ -98025,10 +98289,10 @@ aaf aaa aaf aaa -aaf aaa -aaS -aaf +aaa +aaa +aaa aaa aaa aaa @@ -98284,7 +98548,7 @@ ads adS aeG aaa -aaS +gXs aaa aaa aaa diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 13597584ae..1d738b7382 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -86375,6 +86375,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 4 }, +/obj/effect/landmark/start/paramedic, /turf/open/floor/plasteel/white, /area/medical/storage) "cPF" = ( @@ -127461,6 +127462,22 @@ /obj/machinery/light/small, /turf/open/floor/plasteel, /area/security/prison) +"vEq" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/landmark/start/paramedic, +/turf/open/floor/plasteel/white, +/area/medical/storage) "wei" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, @@ -174855,7 +174872,7 @@ cAm cKO cMm cNO -cPF +vEq cRi cSV cUN diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm new file mode 100644 index 0000000000..a645dabd18 --- /dev/null +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -0,0 +1,154021 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aaa" = ( +/turf/open/space/basic, +/area/space) +"aab" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"aac" = ( +/obj/machinery/computer/atmos_alert{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/power/apc{ + areastring = "/area/ai_monitored/turret_protected/aisat/atmos"; + dir = 8; + name = "MiniSat Atmospherics APC"; + pixel_x = -27 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/atmos) +"aad" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/mmi/posibrain{ + pixel_x = 5; + pixel_y = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"aae" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/security/brig) +"aaf" = ( +/turf/closed/wall/r_wall, +/area/security/brig) +"aah" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "brigcelldoor"; + name = "Cell Blast door" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/security/warden) +"aai" = ( +/obj/structure/grille, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"aaj" = ( +/turf/closed/wall, +/area/security/brig) +"aak" = ( +/obj/structure/table, +/obj/machinery/status_display/ai{ + pixel_y = 32 + }, +/obj/item/storage/toolbox/mechanical, +/obj/item/multitool, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai) +"aal" = ( +/obj/structure/table, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/sign/warning/electricshock{ + pixel_y = 32 + }, +/obj/item/storage/toolbox/electrical, +/obj/item/assembly/flash/handheld, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai) +"aam" = ( +/obj/machinery/flasher{ + id = "AI"; + name = "Meatbag Pacifier"; + pixel_y = 24 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"aan" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai) +"aao" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/security/courtroom) +"aap" = ( +/turf/closed/mineral/random/low_chance, +/area/space/nearstation) +"aaq" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/shieldwallgen, +/turf/open/floor/plasteel/dark, +/area/teleporter) +"aar" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"aas" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"aau" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/security/prison) +"aav" = ( +/turf/closed/wall/r_wall, +/area/security/prison) +"aaw" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai) +"aax" = ( +/obj/item/beacon, +/turf/open/floor/engine, +/area/science/xenobiology) +"aay" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/sign/poster/contraband/random{ + pixel_x = -32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/fore) +"aaz" = ( +/obj/structure/table/wood, +/obj/item/clipboard, +/obj/item/folder, +/obj/item/pen, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/security/courtroom) +"aaA" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"aaB" = ( +/obj/effect/landmark/carpspawn, +/turf/open/space/basic, +/area/space) +"aaC" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/blood/gibs/limb, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"aaD" = ( +/obj/machinery/flasher{ + id = "AI"; + name = "Meatbag Pacifier"; + pixel_y = 24 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/machinery/camera{ + c_tag = "AI Chamber SMES"; + name = "core camera"; + network = list("aicore") + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"aaE" = ( +/obj/structure/chair, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"aaF" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/remains/human, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"aaG" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall, +/area/security/prison) +"aaH" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"aaI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"aaJ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/fore) +"aaK" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/security/courtroom) +"aaL" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/folder, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/reagent_containers/glass/beaker/large{ + pixel_x = -4 + }, +/obj/item/reagent_containers/glass/beaker{ + pixel_x = 4 + }, +/obj/item/reagent_containers/dropper, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"aaM" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/power/apc{ + areastring = "/area/maintenance/central/secondary"; + dir = 8; + name = "Central Maintenance APC"; + pixel_x = -25 + }, +/obj/structure/cable, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"aaN" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/item/radio/intercom{ + pixel_x = -28; + pixel_y = 22 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/cmo) +"aaO" = ( +/obj/structure/flora/grass/jungle, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"aaP" = ( +/obj/machinery/ai_slipper{ + uses = 10 + }, +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"aaQ" = ( +/obj/structure/lattice, +/obj/structure/grille/broken, +/turf/open/space/basic, +/area/space/nearstation) +"aaR" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aaS" = ( +/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/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"aaT" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/warden) +"aaU" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"aaV" = ( +/obj/structure/table/wood, +/obj/item/radio/intercom, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/security/courtroom) +"aaW" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/window/brigdoor/northright{ + id = "Cell 4"; + name = "Cell 4"; + req_access_txt = "1" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"aaX" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/fore) +"aaY" = ( +/turf/closed/wall, +/area/security/detectives_office) +"aaZ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 4 + }, +/area/hallway/primary/fore) +"aba" = ( +/obj/machinery/vending/snack/random, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"abb" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/fore) +"abc" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/window/brigdoor/northright{ + id = "Cell 3"; + name = "Cell 3"; + req_access_txt = "1" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"abd" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"abe" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"abf" = ( +/obj/machinery/photocopier, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/requests_console{ + department = "Law office"; + name = "Lawyer RC"; + pixel_y = -30 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/lawoffice) +"abg" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/security/courtroom) +"abi" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/reagent_dispensers/watertank, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating, +/area/maintenance/starboard) +"abj" = ( +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"abk" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "Bridge Blast door" + }, +/turf/open/floor/plating, +/area/bridge) +"abl" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "cmoprivacy"; + name = "Office Privacy Shutters" + }, +/turf/open/floor/plating, +/area/crew_quarters/heads/cmo) +"abm" = ( +/obj/structure/bed/dogbed/runtime, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/mob/living/simple_animal/pet/cat/Runtime, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/cmo) +"abn" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/stool, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"abo" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/folder/white, +/obj/item/wrench/medical, +/obj/item/toy/figure/cmo, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/cmo) +"abp" = ( +/turf/closed/wall, +/area/security/prison) +"abq" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen, +/obj/item/stamp/captain{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/item/pen/fountain/captain, +/obj/item/radio/intercom{ + dir = 8; + freerange = 1; + name = "Station Intercom (Command)"; + pixel_y = -28 + }, +/turf/open/floor/carpet, +/area/crew_quarters/heads/captain) +"abr" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/window/brigdoor/northright{ + id = "Cell 1"; + name = "Cell 1"; + req_access_txt = "1" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"abs" = ( +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"abt" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/item/tank/internals/oxygen, +/obj/item/pickaxe, +/turf/open/floor/plating, +/area/maintenance/starboard) +"abu" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot_white, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/rack, +/obj/item/storage/toolbox/emergency{ + pixel_y = 5 + }, +/obj/item/clothing/under/color/grey, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"abv" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"abw" = ( +/obj/machinery/ai_slipper{ + uses = 10 + }, +/obj/effect/turf_decal/box, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"abx" = ( +/obj/structure/grille/broken, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard) +"aby" = ( +/obj/machinery/requests_console{ + department = "AI"; + departmentType = 5; + name = "AI RC"; + pixel_x = 30; + pixel_y = -30 + }, +/obj/machinery/ai_slipper{ + uses = 10 + }, +/obj/effect/turf_decal/box, +/obj/machinery/flasher{ + id = "AI"; + name = "Meatbag Pacifier"; + pixel_x = 24; + pixel_y = 24 + }, +/obj/machinery/camera{ + c_tag = "AI Chamber Core"; + dir = 1; + name = "core camera"; + network = list("aicore") + }, +/obj/machinery/light/floor, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"abz" = ( +/obj/machinery/ai_slipper{ + uses = 10 + }, +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"abA" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/table/optable{ + name = "Forensics Operating Table" + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark, +/area/security/detectives_office) +"abB" = ( +/obj/machinery/flasher{ + id = "AI"; + name = "Meatbag Pacifier"; + pixel_x = -24 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"abC" = ( +/obj/machinery/flasher{ + id = "AI"; + name = "Meatbag Pacifier"; + pixel_x = 24 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/remains/human, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"abD" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard) +"abE" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard) +"abF" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/bridge) +"abG" = ( +/obj/machinery/newscaster{ + pixel_x = -30 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/stool, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"abH" = ( +/obj/structure/table, +/obj/item/flashlight/lamp, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"abI" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"abJ" = ( +/obj/structure/flora/ausbushes/palebush, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"abK" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"abL" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/machinery/newscaster/security_unit{ + pixel_x = 30 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"abM" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"abN" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/maintenance/fore) +"abO" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/security/warden) +"abP" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/rust, +/area/chapel/office) +"abQ" = ( +/obj/machinery/light, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"abR" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/status_display/ai{ + pixel_x = -32; + pixel_y = -32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"abS" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"abT" = ( +/obj/structure/sign/departments/security, +/turf/closed/wall, +/area/security/detectives_office) +"abU" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/filingcabinet/security, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/detectives_office) +"abV" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"abW" = ( +/obj/machinery/ai_slipper{ + uses = 10 + }, +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"abX" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"abY" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/warden) +"abZ" = ( +/obj/machinery/status_display/ai{ + pixel_x = 32; + pixel_y = -32 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"aca" = ( +/obj/machinery/light, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"acb" = ( +/obj/machinery/camera{ + c_tag = "AI Chamber Door"; + dir = 1; + name = "core camera"; + network = list("aicore") + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"acc" = ( +/obj/machinery/door/airlock/maintenance{ + name = "security maintenance"; + req_one_access_txt = "4;63" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"acd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"ace" = ( +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat_interior) +"acf" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/security/warden) +"acg" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat_interior) +"ach" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/clothing/gloves/color/latex, +/obj/item/storage/backpack/duffelbag/sec/surgery{ + pixel_y = 5 + }, +/obj/item/clothing/mask/surgical, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/turf/open/floor/plasteel/dark, +/area/security/detectives_office) +"aci" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/table, +/obj/item/storage/box/evidence{ + pixel_y = 5 + }, +/obj/item/restraints/handcuffs/cable/zipties, +/turf/open/floor/plasteel/dark, +/area/security/detectives_office) +"acj" = ( +/obj/machinery/power/port_gen/pacman, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/sign/warning/electricshock{ + pixel_y = 32 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/ai_monitored/storage/satellite) +"ack" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/wood, +/area/security/detectives_office) +"acl" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/wood, +/area/security/detectives_office) +"acm" = ( +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) +"acn" = ( +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/atmos) +"aco" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/atmos) +"acp" = ( +/obj/machinery/ai_slipper{ + uses = 10 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat_interior) +"acq" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/structure/noticeboard{ + dir = 8; + pixel_x = 32 + }, +/obj/machinery/camera{ + c_tag = "Detective's Office"; + dir = 8; + name = "detective camera" + }, +/turf/open/floor/wood, +/area/security/detectives_office) +"acr" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat_interior) +"acs" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/wood, +/area/security/detectives_office) +"act" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/turf/open/floor/carpet, +/area/security/detectives_office) +"acu" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/hatch{ + name = "Satellite Storage"; + req_one_access_txt = "32;19" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/foyer) +"acv" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/toy/figure/scientist{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/item/pen, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"acw" = ( +/obj/machinery/computer/camera_advanced/xenobio{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/window/reinforced, +/obj/machinery/requests_console{ + department = "Science"; + departmentType = 2; + name = "Science RC"; + pixel_x = -30; + pixel_y = 30; + receive_ore_updates = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"acx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/wood, +/area/security/detectives_office) +"acy" = ( +/obj/docking_port/stationary/random{ + id = "pod_lavaland3"; + name = "lavaland" + }, +/turf/open/space, +/area/space/nearstation) +"acz" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat_interior) +"acA" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/turf/open/floor/engine, +/area/ai_monitored/storage/satellite) +"acB" = ( +/obj/structure/cable, +/turf/open/floor/engine, +/area/ai_monitored/storage/satellite) +"acC" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/vending/cola/random, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"acD" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/departments/holy{ + pixel_y = 32 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 4 + }, +/area/hallway/primary/fore) +"acE" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/item/storage/box/bodybags{ + pixel_y = 5 + }, +/obj/item/shovel, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"acF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/chair/office{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/atmos) +"acG" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/medical/glass{ + name = "Genetics"; + req_access_txt = "5; 9; 68" + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"acH" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/security/warden) +"acI" = ( +/obj/machinery/ai_slipper{ + uses = 10 + }, +/obj/effect/turf_decal/box, +/obj/machinery/camera{ + c_tag = "Satellite Atmospherics"; + dir = 8; + name = "satellite camera"; + network = list("minisat") + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/atmos) +"acJ" = ( +/obj/structure/table, +/obj/item/crowbar/red, +/obj/item/radio{ + pixel_y = 5 + }, +/obj/machinery/light_switch{ + pixel_x = 24 + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/atmos) +"acK" = ( +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) +"acL" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/maintenance/fore) +"acM" = ( +/obj/item/radio/intercom{ + pixel_x = -28 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat_interior) +"acN" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/landmark/event_spawn, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"acO" = ( +/obj/structure/chair{ + dir = 4 + }, +/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/warden) +"acP" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/item/storage/toolbox/electrical{ + pixel_x = 2; + pixel_y = 6 + }, +/obj/item/storage/toolbox/mechanical, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/storage/satellite) +"acQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/stock_parts/cell/high, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"acR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"acS" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"acT" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/item/toy/figure/md{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "emmd"; + name = "Emergency Medical Lockdown Shutters" + }, +/turf/open/floor/plating, +/area/medical/medbay/central) +"acU" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/research{ + name = "Xenobiology Lab"; + req_access_txt = "47" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"acV" = ( +/obj/machinery/door/firedoor/heavy, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xeno_blastdoor"; + name = "Xenobiology Containment Blast Door" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"acW" = ( +/obj/machinery/light_switch{ + pixel_y = -24 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/light/small, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat_interior) +"acX" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat_interior) +"acY" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/camera{ + c_tag = "Satellite Antechamber"; + dir = 1; + name = "satellite camera"; + network = list("minisat") + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat_interior) +"acZ" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/fernybush, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"ada" = ( +/obj/machinery/power/apc{ + areastring = "/area/ai_monitored/turret_protected/aisat_interior"; + dir = 4; + name = "MiniSat Antechamber APC"; + pixel_x = 26 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat_interior) +"adb" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/clipboard{ + pixel_x = -6; + pixel_y = 2 + }, +/obj/item/aicard{ + pixel_x = 4 + }, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Bridge Control Pit"; + name = "command camera" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"adc" = ( +/obj/structure/filingcabinet/employment, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/machinery/button/door{ + id = "lawyer_shutters"; + name = "Law Office Shutters Toggle"; + pixel_x = 24; + req_access_txt = "38" + }, +/turf/open/floor/plasteel/dark, +/area/lawoffice) +"add" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/fernybush, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"ade" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_x = -30 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/wood{ + icon_state = "wood-broken4" + }, +/area/maintenance/port/fore) +"adf" = ( +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"adg" = ( +/turf/closed/wall/r_wall, +/area/ai_monitored/turret_protected/aisat_interior) +"adh" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"adi" = ( +/obj/structure/chair{ + dir = 8 + }, +/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/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"adj" = ( +/obj/machinery/ai_slipper{ + uses = 10 + }, +/obj/effect/turf_decal/box, +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/engine, +/area/ai_monitored/storage/satellite) +"adk" = ( +/turf/closed/wall/r_wall, +/area/maintenance/port) +"adl" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/obj/machinery/door/poddoor/preopen{ + id = "prisonblast"; + name = "Prison Blast Door" + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"adm" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/engine, +/area/ai_monitored/storage/satellite) +"adn" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/security/warden) +"ado" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/warden) +"adp" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/warden) +"adq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai) +"adr" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/portable_atmospherics/canister/air, +/obj/machinery/status_display/evac{ + pixel_x = -32 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/atmos) +"ads" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/preopen{ + id = "xeno_blastdoor"; + name = "Xenobiology Containment Blast Door" + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"adt" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/atmos) +"adu" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/closet/secure_closet/courtroom, +/obj/item/gavelhammer, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/machinery/camera{ + c_tag = "Courtroom Judge"; + name = "command camera" + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"adv" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/blood/gibs/limb, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"adw" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/atmos) +"adx" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/machinery/door/airlock/research{ + glass = 1; + name = "Slime Euthanization Chamber"; + opacity = 0; + req_access_txt = "55" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"ady" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/camera{ + c_tag = "Satellite Maintenance"; + dir = 4; + name = "satellite camera"; + network = list("minisat") + }, +/turf/open/floor/engine, +/area/ai_monitored/storage/satellite) +"adz" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/engine, +/area/ai_monitored/storage/satellite) +"adA" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/sign/warning/fire{ + pixel_x = -32 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/atmos) +"adB" = ( +/obj/machinery/computer/telecomms/monitor, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"adC" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/light, +/obj/structure/extinguisher_cabinet{ + pixel_y = -28 + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/fore) +"adD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/atmos) +"adE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/atmos) +"adF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/ai_monitored/turret_protected/aisat/foyer"; + dir = 1; + name = "MiniSat Foyer APC"; + pixel_y = 26 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/foyer) +"adG" = ( +/obj/machinery/turretid{ + control_area = "/area/ai_monitored/turret_protected/aisat_interior"; + name = "Antechamber Turret Control"; + pixel_y = 28; + req_access_txt = "65" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/foyer) +"adH" = ( +/turf/closed/wall, +/area/maintenance/fore) +"adI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/foyer) +"adJ" = ( +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/turf/open/floor/engine, +/area/ai_monitored/storage/satellite) +"adK" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/landmark/start/chief_medical_officer, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/cmo) +"adL" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/barricade/wooden/crude, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"adM" = ( +/obj/machinery/door/airlock/external{ + name = "Abandoned External Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"adN" = ( +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 30; + pixel_y = -32 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/engine, +/area/ai_monitored/storage/satellite) +"adO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/atmos) +"adP" = ( +/obj/machinery/status_display/ai, +/turf/closed/wall, +/area/hallway/primary/fore) +"adQ" = ( +/turf/closed/wall/rust, +/area/maintenance/fore) +"adR" = ( +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/foyer) +"adS" = ( +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/foyer) +"adT" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/r_wall/rust, +/area/ai_monitored/turret_protected/aisat_interior) +"adU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/foyer) +"adV" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/door/poddoor/preopen{ + id = "prisonblast"; + name = "Prison Blast Door" + }, +/obj/machinery/button/door{ + id = "prisonblast"; + name = "Prison Lockdown"; + pixel_y = 24; + req_one_access_txt = "2" + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"adW" = ( +/obj/machinery/door/airlock/external{ + name = "Prison External Airlock"; + req_access_txt = "2" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"adX" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/server) +"adY" = ( +/obj/item/beacon, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/foyer) +"adZ" = ( +/obj/machinery/door/airlock/external{ + name = "Prison External Airlock"; + req_access_txt = "2" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"aea" = ( +/obj/structure/bed, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/obj/item/bedsheet/brown, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"aeb" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/fore) +"aec" = ( +/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/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/preopen{ + id = "prisonblast"; + name = "Prison Blast Door" + }, +/obj/machinery/button/door{ + id = "prisonblast"; + name = "Prison Lockdown"; + pixel_y = -24; + req_one_access_txt = "2" + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"aed" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/atmos) +"aee" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/closet/emcloset/anchored, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/atmos) +"aef" = ( +/turf/closed/wall, +/area/security/warden) +"aeh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/foyer) +"aei" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/security/warden) +"aej" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/security/warden) +"aek" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Satellite Foyer"; + dir = 8; + name = "satellite camera"; + network = list("minisat") + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/foyer) +"ael" = ( +/obj/structure/sign/departments/medbay/alt, +/turf/closed/wall/rust, +/area/security/warden) +"aem" = ( +/obj/structure/disposalpipe/trunk, +/obj/structure/disposaloutlet{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"aen" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/medical/cryo) +"aeo" = ( +/obj/structure/lattice, +/obj/structure/grille, +/turf/open/space/basic, +/area/space/nearstation) +"aep" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/rack, +/obj/item/storage/backpack/satchel/tox, +/obj/item/analyzer, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aeq" = ( +/obj/machinery/atmospherics/pipe/simple/general/hidden, +/turf/open/floor/engine, +/area/science/xenobiology) +"aer" = ( +/turf/closed/wall/rust, +/area/maintenance/port/aft) +"aes" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"aet" = ( +/obj/item/storage/box/bodybags, +/obj/item/pen, +/obj/structure/table, +/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/bot, +/obj/item/radio/intercom{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"aeu" = ( +/turf/closed/mineral/random/labormineral, +/area/space/nearstation) +"aev" = ( +/obj/structure/transit_tube/curved/flipped{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/foyer) +"aew" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/airlock/research{ + name = "Xenobiology Closet"; + req_access_txt = "47" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"aex" = ( +/obj/structure/transit_tube/station{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/foyer) +"aey" = ( +/turf/closed/wall/rust, +/area/security/main) +"aez" = ( +/turf/closed/wall, +/area/security/execution/education) +"aeA" = ( +/obj/structure/transit_tube/curved{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/foyer) +"aeB" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/security/execution/education) +"aeD" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"aeE" = ( +/obj/structure/flora/rock/pile, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"aeF" = ( +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/palebush, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"aeG" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/server) +"aeH" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"aeI" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"aeJ" = ( +/obj/structure/rack, +/obj/item/wirecutters{ + pixel_y = 5 + }, +/obj/item/wirerod, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"aeK" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/light/small, +/turf/open/floor/plating/airless, +/area/maintenance/starboard/fore) +"aeL" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating/airless, +/area/maintenance/starboard/fore) +"aeM" = ( +/obj/machinery/photocopier, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"aeN" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/closet/firecloset, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aeO" = ( +/obj/structure/bonfire, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice{ + desc = "For the weary spacemen on their quest to rekindle the first plasma fire."; + name = "Carton of Estus" + }, +/obj/effect/decal/remains/human, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/obj/item/melee/baseball_bat{ + desc = "Don't tell anyone you put any points into dex, though."; + icon_state = "swordon"; + item_state = "swordon"; + name = "moonlight greatsword" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/fore) +"aeP" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/medical/cryo) +"aeQ" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/warden) +"aeR" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"aeS" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/button/door{ + id = "bridge blast"; + name = "Bridge Lockdown Toggle"; + pixel_x = 6; + pixel_y = 8; + req_access_txt = "19" + }, +/obj/machinery/button/door{ + id = "transittube"; + name = "Transit Tube Lockdown Toggle"; + pixel_x = 6; + pixel_y = -2; + req_access_txt = "19" + }, +/obj/machinery/button/door{ + id = "teleshutter"; + name = "Teleporter Shutter Toggle"; + pixel_x = -6; + pixel_y = 8; + req_access_txt = "19" + }, +/obj/machinery/button/door{ + id = "evashutter"; + name = "E.V.A. Storage Shutter Toggle"; + pixel_x = -6; + pixel_y = -2; + req_access_txt = "19" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aeT" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aeU" = ( +/turf/open/floor/plating/asteroid/airless, +/area/space/nearstation) +"aeV" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"aeW" = ( +/obj/structure/table/reinforced, +/obj/item/crowbar/red, +/obj/item/wrench, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"aeX" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/security/warden) +"aeY" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/security/warden) +"aeZ" = ( +/obj/structure/table/reinforced, +/obj/machinery/button/door{ + id = "Xenolab"; + name = "Containment Chamber Toggle"; + pixel_y = 4; + req_access_txt = "55" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"afa" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"afb" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/closet/emcloset/anchored, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"afc" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall, +/area/security/brig) +"afd" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/closet/secure_closet/injection{ + name = "Justice Injections" + }, +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/machinery/button/door{ + id = "SecJusticeChamber"; + layer = 4; + name = "Justice Vent Toggle"; + pixel_x = -24; + pixel_y = 8; + req_access_txt = "3" + }, +/obj/machinery/light_switch{ + pixel_x = -40; + pixel_y = -8 + }, +/obj/machinery/button/door{ + id = "executionfireblast"; + name = "Justice Shutter Control"; + pixel_x = -24; + pixel_y = -8; + req_access_txt = "2" + }, +/turf/open/floor/plasteel/dark, +/area/security/execution/education) +"afe" = ( +/turf/closed/wall/r_wall, +/area/medical/virology) +"aff" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"afg" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table, +/obj/machinery/computer/med_data/laptop, +/turf/open/floor/plasteel/dark, +/area/security/execution/education) +"afh" = ( +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/palebush, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"afi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_x = 32 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/fore) +"afj" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/warden) +"afk" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/warden) +"afl" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/warden) +"afm" = ( +/obj/structure/sign/warning/vacuum/external, +/turf/closed/wall, +/area/maintenance/port/aft) +"afn" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/security/warden) +"afo" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Gas to Chamber" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"afp" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"afq" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 1 + }, +/obj/machinery/meter, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"afr" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"afs" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/item/folder/red, +/obj/machinery/door/window/brigdoor/northleft{ + dir = 2; + name = "Brig Control Desk"; + req_access_txt = "3" + }, +/turf/open/floor/plating, +/area/security/warden) +"aft" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/security/warden) +"afu" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"afv" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/fore) +"afw" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/chair/office/light{ + dir = 1; + pixel_y = 3 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"afx" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"afy" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/start/scientist, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"afz" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall, +/area/maintenance/port/aft) +"afA" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Gas to Chamber" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"afB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/aft) +"afC" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/warden) +"afD" = ( +/turf/closed/wall, +/area/crew_quarters/heads/cmo) +"afE" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/warden) +"afF" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"afG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"afH" = ( +/obj/structure/table, +/obj/item/storage/toolbox/emergency, +/obj/item/taperecorder, +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"afI" = ( +/obj/structure/flora/rock/pile, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"afJ" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard) +"afK" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table, +/obj/item/stack/sheet/metal/ten, +/obj/item/stack/cable_coil, +/obj/item/storage/backpack/duffelbag/sec/surgery{ + pixel_y = 5 + }, +/obj/item/wirecutters, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/execution/education) +"afL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/sign/warning/xeno_mining{ + pixel_x = -32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"afM" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/machinery/camera{ + c_tag = "Xenobiology Labs"; + dir = 4; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"afN" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"afO" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"afP" = ( +/obj/machinery/computer/message_monitor, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"afQ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel/dark, +/area/library) +"afR" = ( +/obj/structure/closet/secure_closet/evidence, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"afS" = ( +/obj/structure/closet/secure_closet/evidence, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"afT" = ( +/obj/structure/table, +/obj/effect/turf_decal/bot, +/obj/item/folder/white{ + pixel_x = 6 + }, +/obj/item/storage/firstaid/regular, +/obj/machinery/door/window/northleft{ + name = "Emergency Storage"; + req_access_txt = "19" + }, +/obj/machinery/camera{ + c_tag = "Bridge Emergency Supplies"; + dir = 1; + name = "command camera" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"afU" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"afV" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/power/apc/highcap/ten_k{ + areastring = "/area/science/xenobiology"; + dir = 4; + name = "Xenobiology APC"; + pixel_x = 26 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-10" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"afW" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"afX" = ( +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/fore) +"afY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/closet/crate{ + icon_state = "crateopen" + }, +/obj/item/flashlight/lantern, +/obj/structure/sign/poster/official/bless_this_spess{ + pixel_y = 32 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"afZ" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/fore) +"aga" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"agb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"agc" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"agd" = ( +/obj/structure/bodycontainer/morgue, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"age" = ( +/obj/machinery/door/airlock/highsecurity{ + name = "AI Chamber"; + req_access_txt = "16" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "AI Chamber entrance shutters"; + name = "AI Chamber Lockdown Shutter" + }, +/obj/machinery/flasher{ + id = "AI"; + pixel_x = -26; + pixel_y = 3 + }, +/obj/item/radio/intercom{ + broadcasting = 1; + frequency = 1447; + listening = 0; + name = "Station Intercom (AI Private)"; + pixel_x = 28 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"agf" = ( +/obj/machinery/camera{ + c_tag = "Xenobiology Euthanization Chamber"; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/turf/open/floor/circuit/telecomms, +/area/science/xenobiology) +"agg" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"agh" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ + external_pressure_bound = 120; + name = "server vent" + }, +/turf/open/floor/circuit/telecomms, +/area/science/xenobiology) +"agi" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"agj" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/cmo) +"agk" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/cmo) +"agl" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/cmo) +"agm" = ( +/obj/machinery/smartfridge/chemistry/virology/preloaded, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"agn" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"ago" = ( +/turf/closed/wall, +/area/hallway/primary/fore) +"agp" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/emergency{ + pixel_y = 5 + }, +/obj/item/stack/cable_coil, +/obj/item/wirecutters, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = 28 + }, +/obj/machinery/camera{ + c_tag = "Recreation VR Sleepers"; + name = "recreation camera" + }, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"agq" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/window/brigdoor/northright{ + id = "Cell 6"; + name = "Cell 6"; + req_access_txt = "1" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"agr" = ( +/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/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"ags" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/window/brigdoor/northright{ + id = "Cell 5"; + name = "Cell 5"; + req_access_txt = "1" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"agt" = ( +/turf/closed/wall/rust, +/area/space/nearstation) +"agu" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"agv" = ( +/obj/machinery/atmospherics/components/unary/tank/air, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/structure/sign/warning/nosmoking{ + pixel_y = 30 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"agw" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/emcloset, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating, +/area/maintenance/starboard) +"agx" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate{ + icon_state = "crateopen" + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"agy" = ( +/obj/structure/fans/tiny/invisible, +/turf/open/space/basic, +/area/space) +"agz" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/general/visible, +/obj/machinery/door/window/southleft{ + dir = 1; + name = "Maximum Security Test Chamber"; + req_access_txt = "55" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"agA" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/item/tank/internals/oxygen/red, +/obj/item/clothing/mask/breath, +/turf/open/floor/plating, +/area/maintenance/fore) +"agB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/fore) +"agC" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet, +/obj/item/cardboard_cutout{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/cardboard_cutout, +/turf/open/floor/plating, +/area/maintenance/fore) +"agD" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/fore) +"agE" = ( +/obj/structure/grille/broken, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"agF" = ( +/obj/structure/grille, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"agG" = ( +/obj/docking_port/stationary{ + dir = 2; + dwidth = 1; + height = 4; + name = "escape pod loader"; + roundstart_template = /datum/map_template/shuttle/escape_pod/default; + width = 3 + }, +/obj/structure/fans/tiny/invisible, +/turf/open/space/basic, +/area/space) +"agH" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Chief Medical Officer's Office"; + req_access_txt = "40" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/cmo) +"agI" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/cmo) +"agJ" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"agK" = ( +/obj/structure/flora/ausbushes/palebush, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/sign/warning/electricshock{ + pixel_y = -32 + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"agL" = ( +/obj/structure/chair/office/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/landmark/start/chief_medical_officer, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/cmo) +"agM" = ( +/obj/machinery/light/small, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4; + external_pressure_bound = 140; + name = "server vent"; + pressure_checks = 0 + }, +/turf/open/floor/circuit/telecomms, +/area/science/xenobiology) +"agN" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 5 + }, +/turf/closed/wall, +/area/engine/break_room) +"agO" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/rust, +/area/crew_quarters/heads/hos) +"agP" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/main) +"agQ" = ( +/obj/machinery/atmospherics/pipe/manifold/general/hidden, +/turf/open/floor/circuit/telecomms, +/area/science/xenobiology) +"agR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/medical/virology"; + dir = 1; + name = "Virology APC"; + pixel_y = 24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"agS" = ( +/turf/closed/wall, +/area/security/main) +"agT" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"agU" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/security/main) +"agV" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/security/warden) +"agW" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "Bridge Blast door" + }, +/turf/open/floor/plating, +/area/bridge) +"agX" = ( +/turf/closed/wall/r_wall, +/area/security/warden) +"agY" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"agZ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/hatch{ + name = "Upload Access"; + req_one_access_txt = "16" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aha" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/fore) +"ahb" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "justiceshutter"; + name = "Justice Shutter" + }, +/turf/open/floor/plating, +/area/security/execution/education) +"ahc" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "cmoprivacy"; + name = "Office Privacy Shutters" + }, +/turf/open/floor/plating, +/area/medical/storage) +"ahd" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table, +/obj/item/clipboard, +/obj/item/folder/red, +/obj/item/restraints/handcuffs, +/obj/item/melee/baseball_bat{ + desc = "A staple of security force interrogations."; + icon_state = "baseball_bat_metal"; + name = "kneecapper" + }, +/obj/machinery/status_display/ai{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/security/execution/education) +"ahe" = ( +/obj/effect/landmark/secequipment, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/main) +"ahf" = ( +/obj/effect/landmark/secequipment, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/main) +"ahg" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock/security/glass{ + name = "Security Office"; + req_access_txt = "63" + }, +/turf/open/floor/plasteel/dark, +/area/security/main) +"ahh" = ( +/turf/closed/wall/r_wall, +/area/tcommsat/server) +"ahi" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"ahj" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/dark, +/area/security/main) +"ahk" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/security/main) +"ahl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/grille/broken, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"ahm" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "Bridge Blast door" + }, +/turf/open/floor/plating, +/area/bridge) +"ahn" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/warden) +"aho" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_y = -24 + }, +/obj/machinery/camera{ + c_tag = "Xenobiology Closet"; + dir = 1; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"ahp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"ahq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/light/small, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"ahr" = ( +/obj/machinery/computer/crew{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/button/door{ + id = "brigcelldoor"; + name = "Cell Blast Door Toggle"; + pixel_x = -24; + pixel_y = -6 + }, +/obj/machinery/button/door{ + id = "brigfrontdoor"; + name = "Front Blast Door Toggle"; + pixel_x = -24; + pixel_y = 6 + }, +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + name = "Security RC"; + pixel_x = -30; + pixel_y = -30 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"ahs" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"aht" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"ahu" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/warden) +"ahv" = ( +/obj/machinery/door/poddoor/preopen{ + id = "transittube"; + name = "Transit Tube Blast door" + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/bridge) +"ahw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"ahx" = ( +/obj/structure/sign/poster/official/random, +/turf/closed/wall, +/area/hallway/primary/fore) +"ahy" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Transit Access"; + req_access_txt = "19" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"ahz" = ( +/obj/machinery/door/airlock/maintenance/external{ + name = "construction zone"; + req_access_txt = "12" + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"ahA" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel, +/area/construction/mining/aux_base) +"ahB" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/construction/mining/aux_base) +"ahC" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/safe{ + pixel_x = 3 + }, +/obj/item/book{ + desc = "An undeniably handy book."; + icon_state = "bookknock"; + name = "A Simpleton's Guide to Safe-cracking with Stethoscopes" + }, +/obj/item/stack/spacecash/c500{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/stack/spacecash/c1000, +/obj/item/gun/ballistic/automatic/pistol/deagle/gold, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/nuke_storage) +"ahD" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/construction/mining/aux_base) +"ahE" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"ahF" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 4 + }, +/area/hallway/primary/fore) +"ahG" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel, +/area/maintenance/starboard/fore) +"ahH" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"ahI" = ( +/obj/structure/grille/broken, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"ahJ" = ( +/obj/structure/sign/warning/electricshock{ + pixel_y = 32 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/maintenance/port/fore) +"ahK" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/general/visible, +/obj/machinery/door/window/southleft{ + name = "Maximum Security Test Chamber"; + req_access_txt = "55" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"ahL" = ( +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"ahM" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken4" + }, +/area/maintenance/port/fore) +"ahN" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/machinery/status_display/evac{ + pixel_x = 32; + pixel_y = 32 + }, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"ahO" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/construction/mining/aux_base) +"ahP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/security/brig) +"ahQ" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/security/brig) +"ahR" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"ahS" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/hallway/primary/central) +"ahT" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/construction/mining/aux_base) +"ahU" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/security/brig) +"ahV" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/maintenance/starboard/fore) +"ahW" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"ahX" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/security/brig) +"ahY" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/plasteel, +/area/security/main) +"ahZ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/security/main) +"aia" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/security/main) +"aib" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/security/main) +"aic" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/turf/open/floor/plasteel, +/area/security/main) +"aid" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aie" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aif" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/security/main) +"aig" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/chair/office/light{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"aih" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/landmark/blobstart, +/obj/effect/landmark/xeno_spawn, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/central) +"aii" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/security/brig) +"aij" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/leafybush, +/obj/machinery/light{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/turf/open/floor/grass, +/area/chapel/main) +"aik" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/science/server) +"ail" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aim" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"ain" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Evidence Closet"; + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"aio" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/closet/cardboard, +/turf/open/floor/plating, +/area/maintenance/starboard) +"aip" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/closet/crate{ + icon_state = "crateopen" + }, +/obj/effect/spawner/lootdrop/costume, +/obj/effect/spawner/lootdrop/costume, +/turf/open/floor/plating, +/area/maintenance/starboard) +"aiq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"air" = ( +/obj/effect/turf_decal/loading_area, +/obj/structure/barricade/wooden/crude, +/obj/machinery/door/window/southleft{ + name = "cage door" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"ais" = ( +/obj/machinery/door/airlock/medical{ + id_tag = "Shower_2"; + name = "Shower 2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/toilet/restrooms) +"ait" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/fore) +"aiu" = ( +/obj/item/trash/chips, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"aiv" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/construction/mining/aux_base) +"aiw" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Auxiliary Base Construction"; + dir = 8; + name = "cargo camera"; + network = list("ss13","qm") + }, +/obj/effect/landmark/blobstart, +/turf/open/floor/plasteel, +/area/construction/mining/aux_base) +"aix" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/security/main) +"aiy" = ( +/obj/structure/table/reinforced, +/obj/item/folder/red{ + pixel_x = -2; + pixel_y = -2 + }, +/obj/item/folder/blue{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/lighter, +/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, +/area/security/main) +"aiz" = ( +/obj/machinery/computer/secure_data, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/main) +"aiA" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aiB" = ( +/obj/machinery/door/airlock/medical{ + id_tag = "Shower_1"; + name = "Shower 1" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/toilet/restrooms) +"aiC" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/research{ + name = "Xenobiology Lab"; + req_access_txt = "47" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"aiD" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/security/brig) +"aiE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aiF" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/effect/spawner/lootdrop/costume, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/central) +"aiG" = ( +/obj/structure/table/reinforced, +/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, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/plasteel, +/area/security/main) +"aiH" = ( +/obj/structure/table/reinforced, +/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, +/obj/item/crowbar/red, +/obj/item/radio/headset/headset_sec, +/turf/open/floor/plasteel, +/area/security/main) +"aiI" = ( +/obj/structure/table/reinforced, +/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, +/obj/item/storage/fancy/donut_box, +/turf/open/floor/plasteel, +/area/security/main) +"aiJ" = ( +/obj/structure/table/reinforced, +/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, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/head/helmet/justice/escape{ + name = "justice helmet" + }, +/turf/open/floor/plasteel, +/area/security/main) +"aiK" = ( +/obj/structure/table/reinforced, +/obj/item/clipboard, +/obj/item/clothing/accessory/armband/deputy, +/obj/item/clothing/accessory/armband/deputy, +/obj/item/clothing/accessory/armband/deputy, +/obj/item/clothing/accessory/armband/deputy, +/obj/item/clothing/accessory/armband/deputy, +/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, +/area/security/main) +"aiL" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/landmark/start/security_officer, +/turf/open/floor/plasteel, +/area/security/main) +"aiM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/closet{ + name = "chapel locker" + }, +/obj/item/clothing/shoes/sandal, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aiN" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/maintenance/starboard/fore) +"aiO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/fore) +"aiP" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"aiQ" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"aiR" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aiS" = ( +/obj/machinery/vending/cola/random, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"aiT" = ( +/obj/structure/table, +/obj/item/storage/briefcase{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/secure/briefcase, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"aiU" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aiV" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box/corners, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"aiW" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"aiX" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/mob/living/simple_animal/bot/secbot/pingsky, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat_interior) +"aiY" = ( +/obj/structure/chair, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/mob/living/simple_animal/bot/secbot/beepsky{ + desc = "It's Officer Beepsky! Powered by a potato and a shot of whiskey, and with a sturdier reinforced chassis, too."; + health = 45; + maxHealth = 45; + name = "Officer Beepsky" + }, +/turf/open/floor/plasteel, +/area/security/main) +"aiZ" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/window/brigdoor/northright{ + id = "Cell 2"; + name = "Cell 2"; + req_access_txt = "1" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"aja" = ( +/obj/machinery/door/airlock/maintenance{ + name = "morgue maintenance"; + req_access_txt = "6" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"ajb" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/item/toy/figure/borg{ + pixel_x = 8; + pixel_y = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/foyer) +"ajc" = ( +/obj/structure/chair, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/landmark/start/security_officer, +/turf/open/floor/plasteel, +/area/security/main) +"ajd" = ( +/turf/closed/wall, +/area/maintenance/port/aft) +"aje" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/wood, +/area/chapel/office) +"ajf" = ( +/obj/structure/table/reinforced, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/taperecorder, +/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, +/area/security/main) +"ajg" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/gibs/limb, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"ajh" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"aji" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/maintenance/port/fore) +"ajj" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/remains/human, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"ajk" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/construction/mining/aux_base) +"ajl" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/construction/mining/aux_base) +"ajm" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/window/eastleft{ + name = "Monkey Pen"; + req_access_txt = "39" + }, +/obj/machinery/light_switch{ + pixel_y = 24 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 8; + name = "virology sorting disposal pipe"; + sortType = 27 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"ajn" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/maintenance/starboard/fore) +"ajo" = ( +/obj/structure/chair/comfy/brown{ + buildstackamount = 0; + color = "#c45c57"; + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/landmark/start/head_of_security, +/turf/open/floor/plasteel, +/area/security/main) +"ajp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"ajq" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"ajr" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"ajs" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"ajt" = ( +/turf/closed/wall, +/area/crew_quarters/kitchen) +"aju" = ( +/obj/structure/closet{ + name = "Evidence Closet" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"ajv" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"ajw" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/taperecorder{ + pixel_x = 4; + pixel_y = 2 + }, +/obj/effect/turf_decal/bot, +/obj/item/pen, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"ajx" = ( +/turf/closed/wall/r_wall, +/area/maintenance/port/aft) +"ajy" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"ajz" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/item/restraints/legcuffs/beartrap, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/fore) +"ajA" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"ajB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = -28 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"ajD" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/structure/chair/office{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"ajE" = ( +/obj/machinery/porta_turret/ai{ + dir = 4 + }, +/obj/structure/sign/warning/securearea{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/turf_decal/box/red, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai) +"ajG" = ( +/obj/structure/table/optable, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/surgical_drapes, +/obj/item/clothing/mask/surgical, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"ajH" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/door/airlock/security{ + name = "Council Chamber"; + req_one_access_txt = "38;63" + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"ajI" = ( +/obj/machinery/door/airlock/external{ + name = "Abandoned External Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"ajJ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"ajK" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/airlock/command{ + name = "Council Chamber"; + req_access_txt = "19" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"ajL" = ( +/obj/machinery/door/poddoor/preopen{ + id = "Biohazard"; + name = "Emergency Research Blast Door" + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/science/research) +"ajM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/shard, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/fore) +"ajN" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/construction/mining/aux_base) +"ajO" = ( +/obj/structure/rack, +/obj/item/storage/bag/ore, +/obj/item/tank/internals/emergency_oxygen, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/grille/broken, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"ajP" = ( +/obj/machinery/telecomms/processor/preset_two, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"ajQ" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/item/storage/box/evidence, +/obj/item/taperecorder{ + pixel_x = 5 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"ajR" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table, +/obj/item/flashlight/lamp, +/turf/open/floor/plasteel/dark, +/area/security/main) +"ajS" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/security/main) +"ajT" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall, +/area/maintenance/port/aft) +"ajU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/obj/structure/closet/emcloset, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"ajV" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/computer/security{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/main) +"ajW" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"ajX" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"ajY" = ( +/obj/machinery/door/airlock/maintenance{ + name = "genetics maintenance"; + req_access_txt = "5; 9; 68" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"ajZ" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plasteel, +/area/construction/mining/aux_base) +"aka" = ( +/turf/closed/wall/r_wall, +/area/ai_monitored/security/armory) +"akb" = ( +/obj/machinery/door/poddoor/preopen{ + id = "transittube"; + name = "Transit Tube Blast door" + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/bridge) +"akc" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel, +/area/construction/mining/aux_base) +"akd" = ( +/obj/structure/flora/tree/jungle/small, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/grass, +/area/medical/genetics) +"ake" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel, +/area/maintenance/starboard/fore) +"akf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"akg" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/grass, +/area/medical/genetics) +"akh" = ( +/obj/structure/sign/departments/security, +/turf/closed/wall, +/area/maintenance/port/aft) +"aki" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/ore_box, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"akj" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"akk" = ( +/obj/structure/plasticflaps/opaque, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=2"; + freq = 1400; + location = "Research Division" + }, +/obj/machinery/door/window/westleft{ + dir = 2; + name = "Research Division Delivery Access"; + req_access_txt = "47" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"akm" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/brig) +"ako" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/sink{ + dir = 8; + pixel_x = -12 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"akp" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple, +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/camera{ + c_tag = "Xenobiology Computers"; + dir = 8; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"akq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/port_gen/pacman, +/obj/structure/sign/warning/nosmoking{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"akr" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc{ + areastring = "/area/maintenance/department/electrical"; + dir = 1; + name = "Electrical Maintenance APC"; + pixel_y = 23 + }, +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"aks" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall, +/area/engine/atmos) +"akt" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8; + name = "Air to Room" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"aku" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"akv" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/crew_quarters/locker) +"akw" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/effect/spawner/lootdrop/costume, +/obj/structure/sign/poster/contraband/random{ + pixel_x = -32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/central) +"akx" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/crew_quarters/heads/hos) +"aky" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"akz" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/crew_quarters/heads/hos) +"akA" = ( +/turf/closed/wall/mineral/plastitanium, +/area/maintenance/starboard) +"akB" = ( +/obj/structure/plasticflaps/opaque, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=1"; + dir = 1; + freq = 1400; + location = "Robotics" + }, +/obj/machinery/door/window/eastleft{ + name = "Robotics Delivery Access"; + req_access_txt = "29" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/science/robotics/mechbay) +"akC" = ( +/obj/structure/closet/secure_closet/lethalshots, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"akD" = ( +/obj/machinery/power/smes, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/electricshock{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"akE" = ( +/turf/open/floor/plating/airless, +/area/solar/port/fore) +"akF" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"akG" = ( +/obj/machinery/flasher/portable, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"akH" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + name = "Chapel Office"; + req_access_txt = "22" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"akI" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/gibs/old, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"akJ" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/item/trash/popcorn, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"akK" = ( +/turf/closed/wall, +/area/security/processing) +"akL" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security{ + name = "Courtroom"; + req_access_txt = "38" + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"akM" = ( +/obj/structure/girder, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/central) +"akN" = ( +/obj/machinery/portable_atmospherics/scrubber/huge, +/obj/effect/turf_decal/delivery, +/obj/machinery/status_display/ai{ + pixel_y = 32 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/atmos) +"akO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/fore) +"akP" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/medical/surgery) +"akQ" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/item/folder/red, +/obj/item/restraints/handcuffs, +/obj/item/assembly/flash/handheld, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/item/key/security, +/obj/item/key/security, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"akR" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hos) +"akS" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hos) +"akT" = ( +/obj/structure/bed, +/obj/machinery/iv_drip, +/obj/item/bedsheet/medical, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"akU" = ( +/obj/structure/closet/crate/coffin, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"akV" = ( +/obj/structure/table/reinforced, +/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/flashlight/seclite, +/obj/item/flashlight/seclite, +/obj/item/flashlight/seclite, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"akW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/fore) +"akX" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/box, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/science/xenobiology) +"akY" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/wood{ + icon_state = "wood-broken5" + }, +/area/chapel/office) +"akZ" = ( +/obj/structure/closet/crate/coffin, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"ala" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/button/door{ + id = "Abandoned Cell"; + name = "Abandoned Door Lock"; + normaldoorcontrol = 1; + pixel_x = -24; + pixel_y = 8; + specialfunctions = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/landmark/xeno_spawn, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"alb" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/fore) +"alc" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"ald" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/table, +/obj/item/book/manual/wiki/detective{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/taperecorder, +/obj/item/flashlight/seclite, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/turf/open/floor/plasteel/dark, +/area/security/detectives_office) +"ale" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/fore) +"alf" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + areastring = "/area/maintenance/starboard/fore"; + dir = 1; + name = "Starboard Bow Maintenance APC"; + pixel_y = 26 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"alg" = ( +/obj/structure/frame/computer{ + anchored = 1; + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"alh" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/circuitboard/computer/operating, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"ali" = ( +/obj/machinery/button/door{ + id = "aux_base_shutters"; + name = "Auxiliary Base Shutters Toggle"; + pixel_x = -24; + pixel_y = 6; + req_one_access_txt = "32;47;48" + }, +/obj/structure/girder/displaced, +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"alj" = ( +/obj/machinery/door/poddoor/preopen{ + id = "transittube"; + name = "Transit Tube Blast door" + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/bridge) +"alk" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"all" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sign/departments/security{ + pixel_x = -32 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"alm" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall, +/area/space/nearstation) +"aln" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/fore) +"alo" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/power/apc{ + areastring = "/area/crew_quarters/heads/hos"; + dir = 1; + name = "Head of Security's Office APC"; + pixel_y = 24 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/camera{ + c_tag = "Head of Security's Office" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hos) +"alp" = ( +/turf/open/floor/carpet, +/area/crew_quarters/heads/hos) +"alq" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"alr" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/chair/office/light{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"als" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/item/stack/cable_coil{ + pixel_y = 8 + }, +/obj/item/stack/rods/ten{ + pixel_y = 4 + }, +/obj/item/stack/sheet/mineral/plasma{ + amount = 10 + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"alt" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hos) +"alu" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"alv" = ( +/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/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"alw" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"alx" = ( +/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/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ai_monitored/security/armory) +"aly" = ( +/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/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/bot, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ai_monitored/security/armory) +"alz" = ( +/obj/structure/closet/secure_closet/security/sec, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/item/gun/energy/e_gun/advtaser, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"alA" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"alB" = ( +/turf/closed/wall/r_wall, +/area/science/xenobiology) +"alC" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"alD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/item/clothing/gloves/color/brown, +/obj/item/clothing/under/overalls, +/obj/item/clothing/mask/gas{ + pixel_x = 4; + pixel_y = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"alE" = ( +/obj/structure/rack, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/item/wrench, +/obj/item/crowbar/red, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"alF" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"alG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/departments/security{ + pixel_y = -32 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/box, +/obj/vehicle/ridden/secway, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"alH" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"alI" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"alJ" = ( +/obj/machinery/computer/crew{ + dir = 4 + }, +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Head of Security's Desk"; + departmentType = 5; + name = "Head of Security RC"; + pixel_x = -30 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/hos) +"alK" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_x = -5; + pixel_y = 7 + }, +/obj/item/pen{ + pixel_x = 8; + pixel_y = 5 + }, +/obj/item/pen/red{ + pixel_x = 5; + pixel_y = 1 + }, +/obj/item/toy/figure/hos, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/carpet, +/area/crew_quarters/heads/hos) +"alL" = ( +/obj/structure/table/wood, +/obj/machinery/computer/med_data/laptop, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/carpet, +/area/crew_quarters/heads/hos) +"alM" = ( +/obj/structure/table/wood, +/obj/item/clipboard, +/obj/item/folder/red, +/obj/item/stamp/denied{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/stamp/hos, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/carpet, +/area/crew_quarters/heads/hos) +"alN" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/closet/emcloset/anchored, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"alO" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"alP" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"alQ" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random{ + pixel_y = -32 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"alR" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"alS" = ( +/obj/structure/rack, +/obj/item/gun/energy/disabler{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/gun/energy/disabler, +/obj/item/gun/energy/disabler{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ai_monitored/security/armory) +"alT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/fore) +"alU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/shard, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"alV" = ( +/turf/closed/wall/r_wall/rust, +/area/ai_monitored/turret_protected/aisat_interior) +"alW" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/fore) +"alX" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"alY" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"alZ" = ( +/obj/machinery/door/airlock/medical{ + id_tag = "Unit_3"; + name = "Unit 3" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/toilet/restrooms) +"ama" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/brig) +"amb" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"amc" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Equipment Room"; + req_access_txt = "1" + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"amd" = ( +/obj/machinery/suit_storage_unit/security, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/main) +"ame" = ( +/obj/machinery/computer/prisoner{ + dir = 4 + }, +/obj/machinery/newscaster/security_unit{ + pixel_x = -28 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/hos) +"amf" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/carpet, +/area/crew_quarters/heads/hos) +"amg" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/start/scientist, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"amh" = ( +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/obj/machinery/power/apc{ + areastring = "/area/tcommsat/computer"; + name = "Telecomms Monitoring APC"; + pixel_y = -24 + }, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/structure/filingcabinet, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"ami" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Research Division Server Room"; + req_access_txt = "30" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/server) +"amj" = ( +/obj/machinery/announcement_system, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"amk" = ( +/obj/machinery/gateway{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/gateway) +"aml" = ( +/obj/machinery/door/airlock/external{ + name = "Abandoned External Airlock" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"amm" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"amn" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"amo" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hos) +"amp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"amq" = ( +/mob/living/simple_animal/hostile/asteroid/basilisk{ + environment_smash = 0 + }, +/turf/open/floor/plating/asteroid/airless, +/area/space/nearstation) +"amr" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/blood/gibs/limb, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"ams" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/clothing/gloves/color/fyellow{ + pixel_y = 6 + }, +/obj/item/storage/toolbox/electrical, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"amt" = ( +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/obj/structure/barricade/wooden/crude, +/obj/machinery/door/window/northleft{ + name = "cage door" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"amu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/turf/open/floor/wood{ + icon_state = "wood-broken5" + }, +/area/maintenance/port/fore) +"amv" = ( +/obj/structure/flora/ausbushes/palebush, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"amw" = ( +/obj/machinery/vending/security, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"amx" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"amz" = ( +/turf/closed/wall/r_wall/rust, +/area/maintenance/port) +"amA" = ( +/turf/closed/wall, +/area/maintenance/port) +"amB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"amC" = ( +/obj/machinery/status_display/evac{ + pixel_x = -32; + pixel_y = -32 + }, +/turf/open/floor/carpet, +/area/crew_quarters/heads/hos) +"amD" = ( +/obj/machinery/computer/card/minor/hos{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/hos) +"amE" = ( +/obj/machinery/computer/security/hos{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/hos) +"amF" = ( +/obj/machinery/computer/secure_data{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/hos) +"amG" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/photocopier, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hos) +"amH" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_y = -26 + }, +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = 30 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hos) +"amI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/camera{ + c_tag = "Security Secways"; + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/box, +/obj/vehicle/ridden/secway, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"amJ" = ( +/obj/item/storage/box/chemimp{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/storage/box/trackimp{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/storage/lockbox/loyalty, +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/light, +/obj/structure/reagent_dispensers/peppertank{ + pixel_y = -30 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"amK" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/hor) +"amL" = ( +/obj/machinery/door/airlock/external{ + name = "Abandoned External Airlock" + }, +/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/plasteel/dark, +/area/maintenance/fore) +"amM" = ( +/obj/structure/rack, +/obj/item/gun/energy/ionrifle{ + pixel_y = 4 + }, +/obj/item/gun/energy/temperature/security, +/obj/item/clothing/suit/armor/laserproof, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"amN" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/r_wall, +/area/ai_monitored/security/armory) +"amO" = ( +/turf/closed/wall/r_wall, +/area/security/processing) +"amP" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/maintenance/aft) +"amQ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"amR" = ( +/turf/closed/wall/rust, +/area/maintenance/port) +"amS" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/landmark/start/security_officer, +/turf/open/floor/plasteel, +/area/security/main) +"amT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"amU" = ( +/obj/effect/turf_decal/bot, +/obj/structure/safe{ + pixel_x = 3 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/stack/spacecash/c500{ + pixel_x = -2; + pixel_y = -2 + }, +/obj/item/lazarus_injector, +/obj/effect/decal/cleanable/dirt, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"amV" = ( +/turf/closed/wall, +/area/crew_quarters/heads/hor) +"amW" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/fore) +"amY" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 4 + }, +/obj/structure/sign/warning/fire, +/turf/closed/wall, +/area/maintenance/disposal/incinerator) +"amZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/structure/chair/office{ + dir = 8 + }, +/mob/living/simple_animal/hostile/russian, +/turf/open/floor/wood, +/area/maintenance/port) +"ana" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"anb" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/box/lights/mixed{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/storage/belt/janitor, +/obj/item/storage/bag/trash, +/obj/structure/sign/poster/contraband/busty_backdoor_xeno_babes_6{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"anc" = ( +/obj/structure/falsewall{ + name = "suspicious wall" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"and" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/cardboard, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"ane" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "atmos"; + name = "Atmospherics Blast Door" + }, +/turf/open/floor/plating, +/area/engine/break_room) +"anf" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/hor) +"ang" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"anh" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/processing) +"ani" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"anj" = ( +/obj/structure/closet/secure_closet/evidence, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"ank" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"anl" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/holopad, +/turf/open/floor/carpet, +/area/crew_quarters/heads/hos) +"anm" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"ann" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/landmark/start/assistant, +/obj/structure/chair/office, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"ano" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"anp" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"anq" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/stock_parts/cell/high, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"anr" = ( +/turf/open/floor/plating/airless, +/area/solar/starboard/fore) +"ans" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/fore) +"ant" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"anu" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"anv" = ( +/obj/machinery/computer/secure_data{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"anw" = ( +/obj/structure/sign/departments/medbay/alt, +/turf/closed/wall, +/area/security/main) +"anx" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall, +/area/crew_quarters/heads/hor) +"any" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/table/wood, +/obj/item/clipboard{ + pixel_x = 4 + }, +/obj/item/stack/spacecash/c50{ + pixel_y = 8 + }, +/obj/item/stack/spacecash/c50, +/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/plasteel/dark, +/area/maintenance/port/fore) +"anz" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/fore) +"anA" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "hosspace"; + name = "Space Blast door" + }, +/turf/open/floor/plating, +/area/crew_quarters/heads/hos) +"anB" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 9 + }, +/turf/closed/wall, +/area/maintenance/disposal/incinerator) +"anC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"anD" = ( +/obj/structure/table, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/clothing/gloves/color/black, +/obj/item/crowbar/red, +/obj/item/flashlight/seclite, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"anE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"anF" = ( +/obj/item/storage/box/teargas{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/box/handcuffs, +/obj/item/storage/box/flashbangs{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"anG" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall/r_wall, +/area/ai_monitored/security/armory) +"anH" = ( +/turf/closed/wall, +/area/space/nearstation) +"anI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/closet{ + name = "bible locker" + }, +/obj/item/storage/book/bible{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/storage/book/bible, +/obj/item/storage/book/bible{ + pixel_x = -2; + pixel_y = -2 + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"anJ" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"anK" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/fore) +"anL" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/table, +/obj/machinery/recharger, +/obj/machinery/camera{ + c_tag = "Brig Prison Access"; + dir = 4 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"anM" = ( +/obj/structure/table/glass, +/obj/item/clothing/gloves/color/latex, +/obj/item/healthanalyzer, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = -3; + pixel_y = 2 + }, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = 5; + pixel_y = -1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"anN" = ( +/obj/machinery/vending/snack/random, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/power/apc/highcap/ten_k{ + areastring = "/area/security/brig"; + dir = 1; + name = "Brig APC"; + pixel_y = 24 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"anO" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/central) +"anP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"anQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/power/apc{ + areastring = "/area/maintenance/starboard"; + name = "Starboard Maintenance APC"; + pixel_y = -23 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard) +"anR" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"anS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/fore) +"anT" = ( +/obj/structure/table/wood, +/obj/item/clipboard, +/obj/item/camera, +/turf/open/floor/wood, +/area/maintenance/starboard/fore) +"anU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"anV" = ( +/obj/item/storage/box/firingpins, +/obj/item/storage/box/firingpins, +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/power/apc{ + areastring = "/area/ai_monitored/security/armory"; + name = "Armoury APC"; + pixel_y = -24 + }, +/obj/structure/cable, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"anW" = ( +/obj/machinery/door/airlock/maintenance/external{ + name = "mass driver intersection"; + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard) +"anX" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"anY" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"anZ" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall, +/area/maintenance/port/aft) +"aoa" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating, +/area/maintenance/fore) +"aob" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 28 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"aoc" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"aod" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"aoe" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/fore) +"aof" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall, +/area/space/nearstation) +"aog" = ( +/obj/effect/landmark/secequipment, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Security Office Lockers" + }, +/obj/structure/noticeboard{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/security/main) +"aoh" = ( +/turf/closed/wall, +/area/lawoffice) +"aoi" = ( +/obj/machinery/door/airlock/maintenance/external{ + name = "transit intersection"; + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = -32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"aoj" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aok" = ( +/obj/structure/rack, +/obj/item/storage/briefcase{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/storage/briefcase, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark, +/area/lawoffice) +"aol" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/easel, +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"aom" = ( +/obj/structure/table/wood, +/obj/machinery/recharger, +/obj/item/toy/figure/hop{ + pixel_x = -8 + }, +/obj/item/toy/figure/ian{ + pixel_x = 8 + }, +/obj/machinery/newscaster/security_unit{ + pixel_x = -28 + }, +/turf/open/floor/carpet, +/area/crew_quarters/heads/hop) +"aon" = ( +/obj/machinery/door/airlock/medical{ + id_tag = "Unit_2"; + name = "Unit 2" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/toilet/restrooms) +"aoo" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/newscaster{ + pixel_y = 30 + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"aop" = ( +/obj/structure/displaycase/captain, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/captain) +"aoq" = ( +/obj/machinery/vending/wardrobe/law_wardrobe, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/lawoffice) +"aor" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/taperecorder{ + pixel_x = 5 + }, +/obj/structure/table, +/obj/item/cartridge/lawyer, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/power/apc{ + areastring = "/area/lawoffice"; + dir = 1; + name = "Law Office APC"; + pixel_y = 24 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/lawoffice) +"aos" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/paper_bin, +/obj/item/pen, +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"aot" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/fore) +"aou" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"aov" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/sign/directions/evac{ + dir = 4; + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/port) +"aow" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/taperecorder{ + pixel_x = 5 + }, +/obj/structure/table, +/obj/machinery/newscaster{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"aox" = ( +/turf/closed/wall, +/area/maintenance/central) +"aoy" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen, +/obj/item/stamp/law{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/lawoffice) +"aoz" = ( +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/carpet, +/area/crew_quarters/heads/captain) +"aoA" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "lawyer_shutters"; + name = "Law Office Shutters" + }, +/turf/open/floor/plating, +/area/lawoffice) +"aoB" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_x = -5; + pixel_y = 7 + }, +/obj/item/pen{ + pixel_x = 8; + pixel_y = 5 + }, +/obj/item/pen/red{ + pixel_x = 5; + pixel_y = 1 + }, +/obj/item/toy/figure/lawyer, +/turf/open/floor/carpet, +/area/lawoffice) +"aoC" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/fore) +"aoD" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall, +/area/tcommsat/computer) +"aoE" = ( +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"aoF" = ( +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/fore) +"aoG" = ( +/obj/machinery/door/airlock/medical{ + id_tag = "Unit_1"; + name = "Unit 1" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/toilet/restrooms) +"aoI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/start/lawyer, +/turf/open/floor/wood, +/area/lawoffice) +"aoJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating, +/area/maintenance/fore) +"aoK" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/sign/departments/science{ + name = "ROBOTICS"; + pixel_y = 32 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aoL" = ( +/obj/machinery/door/airlock/grunge{ + id_tag = "Cabin_4"; + name = "Cabin 3" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"aoM" = ( +/obj/machinery/door/airlock/maintenance/external{ + name = "transit intersection"; + req_access_txt = "12" + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = -32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"aoN" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/table, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/item/storage/toolbox/mechanical, +/obj/item/multitool, +/obj/machinery/camera{ + c_tag = "Telecomms Monitoring"; + dir = 4; + name = "telecomms camera"; + network = list("ss13","tcomms") + }, +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Telecomms Admin"; + departmentType = 5; + name = "Telecomms RC"; + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"aoO" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/fore) +"aoP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/wood, +/area/lawoffice) +"aoQ" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/medical/virology) +"aoR" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-10" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/turf/open/floor/wood, +/area/lawoffice) +"aoS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/wood, +/area/lawoffice) +"aoT" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"aoU" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/chair/office, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"aoV" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/medical/virology) +"aoW" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aoX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/newscaster{ + pixel_x = 30 + }, +/obj/machinery/camera{ + c_tag = "Law Office"; + dir = 8 + }, +/turf/open/floor/wood, +/area/lawoffice) +"aoY" = ( +/obj/structure/table/wood, +/obj/item/clipboard, +/obj/item/folder/yellow, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"aoZ" = ( +/obj/structure/girder/displaced, +/obj/structure/grille/broken, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"apa" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"apb" = ( +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"apc" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"apd" = ( +/obj/structure/filingcabinet/chestdrawer, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"ape" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/hop) +"apf" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/hop) +"apg" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/wood, +/area/crew_quarters/heads/hop) +"aph" = ( +/obj/structure/chair, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"api" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"apj" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/obj/structure/chair/stool, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"apk" = ( +/obj/machinery/power/apc{ + areastring = "/area/security/courtroom"; + dir = 4; + name = "Courtroom APC"; + pixel_x = 26; + pixel_y = 3 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"apm" = ( +/obj/structure/table/wood, +/obj/item/folder/blue{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/folder/red, +/obj/item/clothing/glasses/sunglasses/big{ + pixel_x = 4; + pixel_y = 8 + }, +/obj/item/clothing/glasses/sunglasses/big, +/turf/open/floor/carpet, +/area/lawoffice) +"apn" = ( +/obj/machinery/porta_turret/ai{ + dir = 4 + }, +/obj/structure/sign/warning/securearea{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/box/red, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai) +"apo" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet{ + name = "science locker" + }, +/obj/item/clothing/under/rank/scientist{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/suit/toggle/labcoat/science, +/obj/item/clothing/shoes/sneakers/white, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"app" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_x = -24; + pixel_y = 6 + }, +/obj/item/assembly/prox_sensor{ + desc = "Used for scanning and alerting when someone enters a certain proximity. This one is slightly shifted to the left."; + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/wallframe/camera, +/obj/item/screwdriver, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"apq" = ( +/obj/machinery/power/terminal, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/sign/poster/contraband/missing_gloves{ + pixel_x = 32 + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"apr" = ( +/obj/structure/closet{ + name = "Evidence Closet" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"aps" = ( +/obj/machinery/power/solar_control{ + dir = 4; + id = "aftport"; + name = "Port Quarter Solar Control" + }, +/obj/effect/turf_decal/bot, +/obj/structure/sign/warning/vacuum/external{ + pixel_x = -32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/solars/port/fore) +"apu" = ( +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/solars/port/fore) +"apv" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/closet/crate/engineering, +/obj/item/hand_tele, +/turf/open/floor/plasteel/dark, +/area/teleporter) +"apw" = ( +/obj/item/twohanded/required/kirbyplants, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/status_display/evac{ + pixel_x = -32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"apx" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/teleport/hub, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/foyer) +"apy" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "Bridge Blast door" + }, +/turf/open/floor/plating, +/area/bridge) +"apz" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/solars/port/fore"; + dir = 4; + name = "Port Bow Solar APC"; + pixel_x = 26 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/camera{ + c_tag = "Port Bow Solar"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/solars/port/fore) +"apB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"apC" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/effect/spawner/lootdrop/costume{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"apD" = ( +/obj/effect/turf_decal/bot, +/obj/structure/table, +/obj/item/storage/belt/utility, +/obj/item/gps{ + gpstag = "TP0" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/teleporter) +"apE" = ( +/obj/structure/chair/comfy/brown{ + buildstackamount = 0; + color = "#c45c57"; + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"apF" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/clothing/neck/tie/red, +/obj/item/clothing/head/bowler{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"apG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/fore) +"apH" = ( +/obj/structure/closet/secure_closet/security/sec, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/item/gun/energy/e_gun/advtaser, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"apI" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/cardboard, +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/maintenance/fore) +"apJ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/teleporter) +"apK" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/rack, +/obj/item/storage/toolbox/emergency, +/obj/item/wrench, +/obj/item/stack/packageWrap, +/obj/item/hand_labeler, +/turf/open/floor/plasteel/dark, +/area/teleporter) +"apL" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/turf/open/floor/plasteel, +/area/teleporter) +"apM" = ( +/obj/structure/table/wood, +/obj/item/stack/packageWrap, +/obj/item/storage/lockbox/loyalty, +/obj/item/hand_labeler, +/obj/machinery/keycard_auth{ + pixel_y = 24 + }, +/turf/open/floor/carpet, +/area/crew_quarters/heads/hop) +"apN" = ( +/obj/structure/bed/dogbed/ian, +/obj/machinery/power/apc{ + areastring = "/area/crew_quarters/heads/hop"; + dir = 1; + name = "Head of Personnel's Office APC"; + pixel_y = 24 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/mob/living/simple_animal/pet/dog/corgi/Ian{ + dir = 8 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/hop) +"apO" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/bot, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/structure/sign/warning/fire{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/teleporter) +"apP" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/storage/fancy/donut_box, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"apQ" = ( +/obj/effect/turf_decal/bot, +/obj/structure/tank_dispenser/oxygen{ + pixel_x = -1; + pixel_y = 2 + }, +/turf/open/floor/plasteel, +/area/teleporter) +"apR" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"apS" = ( +/obj/structure/chair/sofa/left{ + color = "#c45c57"; + dir = 8 + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/maintenance/starboard/fore) +"apT" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "Bridge Blast door" + }, +/turf/open/floor/plating, +/area/bridge) +"apU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/closet/firecloset, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"apV" = ( +/obj/machinery/door/airlock/grunge{ + id_tag = "Cabin_3"; + name = "Cabin 2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"apW" = ( +/obj/structure/rack, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/item/circuitboard/machine/telecomms/bus{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/circuitboard/machine/telecomms/broadcaster, +/obj/item/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/treatment, +/obj/machinery/camera{ + c_tag = "Telecomms Storage"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/turf/open/floor/plasteel/dark, +/area/storage/tcom) +"apX" = ( +/turf/closed/wall/rust, +/area/maintenance/central) +"apY" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8; + icon_state = "intact" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"apZ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "Bridge Blast door" + }, +/turf/open/floor/plating, +/area/bridge) +"aqa" = ( +/obj/structure/girder, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/fore) +"aqb" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "Bridge Blast door" + }, +/turf/open/floor/plating, +/area/bridge) +"aqc" = ( +/turf/open/floor/plasteel/dark, +/area/bridge) +"aqd" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/plasteel/dark, +/area/maintenance/aft) +"aqe" = ( +/obj/machinery/computer/prisoner{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/newscaster{ + pixel_x = -30 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aqf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/item/radio/intercom{ + pixel_x = -28 + }, +/obj/item/wallframe/apc, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"aqg" = ( +/turf/open/floor/wood, +/area/crew_quarters/bar) +"aqh" = ( +/obj/machinery/computer/atmos_alert{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Bridge"; + departmentType = 5; + name = "Bridge RC"; + pixel_x = 30 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aqi" = ( +/obj/machinery/computer/security{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aqj" = ( +/obj/structure/table, +/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/machinery/cell_charger, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/stock_parts/cell/high, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aqk" = ( +/obj/machinery/computer/station_alert{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aql" = ( +/obj/structure/cable, +/obj/machinery/computer/monitor{ + dir = 1; + name = "backup power monitoring console" + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/noticeboard{ + dir = 1; + pixel_y = -27 + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"aqm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"aqn" = ( +/obj/machinery/power/smes, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/electricshock{ + pixel_y = -32 + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"aqo" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics) +"aqp" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/port/fore) +"aqq" = ( +/obj/machinery/status_display/ai{ + pixel_x = -32 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/item/beacon, +/turf/open/floor/engine, +/area/science/explab) +"aqr" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/small, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/solars/port/fore) +"aqs" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/solars/port/fore) +"aqt" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/flask/gold{ + pixel_x = 3; + pixel_y = 8 + }, +/obj/item/reagent_containers/food/drinks/bottle/rum{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = 7; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/turf/open/floor/carpet, +/area/crew_quarters/heads/captain) +"aqu" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/air, +/obj/structure/sign/warning/electricshock{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"aqv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/landmark/start/librarian, +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/plasteel/grimy, +/area/library) +"aqw" = ( +/obj/machinery/computer/security/mining, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aqx" = ( +/obj/machinery/computer/communications{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aqy" = ( +/obj/machinery/computer/crew{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aqz" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/folder/red, +/obj/item/restraints/handcuffs, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aqA" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/effect/landmark/event_spawn, +/obj/effect/landmark/start/geneticist, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics) +"aqB" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aqC" = ( +/obj/machinery/computer/cargo/request, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aqD" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/radio/intercom{ + dir = 8; + freerange = 1; + name = "Station Intercom (Command)"; + pixel_x = 1 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aqE" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/keycard_auth, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aqF" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/solars/port/fore) +"aqG" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aqH" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/landmark/start/quartermaster, +/obj/structure/chair/office, +/turf/open/floor/plasteel, +/area/quartermaster/qm) +"aqI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/fore) +"aqJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"aqK" = ( +/obj/structure/girder, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"aqL" = ( +/obj/machinery/computer/monitor{ + dir = 4; + name = "Bridge Power Monitoring Console" + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aqM" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aqN" = ( +/obj/machinery/computer/med_data{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aqO" = ( +/obj/machinery/computer/shuttle/mining, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aqP" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/obj/item/clipboard, +/obj/item/clothing/mask/fakemoustache, +/obj/item/clothing/mask/cigarette/pipe, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"aqQ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/bridge) +"aqR" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/item/folder/blue, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "hop"; + name = "Privacy Shutters" + }, +/obj/machinery/door/window/brigdoor{ + base_state = "rightsecure"; + dir = 1; + icon_state = "rightsecure"; + name = "Head of Personnel's Desk"; + req_access_txt = "57" + }, +/obj/machinery/door/window/southright{ + name = "Reception Desk" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/hop) +"aqS" = ( +/obj/machinery/computer/secure_data{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/status_display/evac{ + pixel_x = -32; + pixel_y = 32 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aqT" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"aqU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"aqV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"aqW" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"aqX" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/ore_silo, +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/security/nuke_storage) +"aqY" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aqZ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"ara" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/northright{ + name = "Emergency Storage"; + req_access_txt = "19" + }, +/obj/machinery/suit_storage_unit/standard_unit, +/turf/open/floor/plasteel/dark, +/area/bridge) +"arb" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"arc" = ( +/obj/machinery/rnd/destructive_analyzer, +/obj/effect/turf_decal/bot, +/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/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/lab) +"ard" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = 6 + }, +/obj/item/storage/toolbox/emergency, +/obj/item/crowbar/red, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/structure/fireaxecabinet{ + pixel_y = -30 + }, +/obj/machinery/door/window/northright{ + name = "Emergency Storage"; + req_access_txt = "19" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"are" = ( +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/turf/open/floor/plating, +/area/chapel/office) +"arf" = ( +/obj/machinery/door/airlock/grunge{ + id_tag = "Cabin_2"; + name = "Cabin 1" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"arg" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"arh" = ( +/obj/structure/table/wood, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"ari" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/vending/wardrobe/chap_wardrobe, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"arj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Cryosleepers" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"ark" = ( +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/hop) +"arl" = ( +/turf/closed/wall/r_wall, +/area/ai_monitored/turret_protected/ai_upload) +"arm" = ( +/obj/structure/table/wood/fancy, +/obj/item/storage/crayons, +/obj/item/storage/fancy/candle_box{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/storage/fancy/candle_box{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/obj/machinery/camera{ + c_tag = "Chapel Office"; + name = "chapel camera" + }, +/turf/open/floor/wood, +/area/chapel/office) +"arn" = ( +/turf/closed/wall/r_wall, +/area/security/courtroom) +"aro" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/chapel/office) +"arp" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"arq" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Aft Hallway Security Doors"; + dir = 4; + name = "aft camera" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"arr" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/security/detectives_office) +"ars" = ( +/obj/structure/flora/ausbushes/palebush, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/fore) +"art" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/maintenance/starboard/fore) +"aru" = ( +/obj/machinery/computer/card{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Captain's Desk"; + departmentType = 5; + name = "Captain RC"; + pixel_y = -30 + }, +/obj/machinery/keycard_auth{ + pixel_x = -24; + pixel_y = -8 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/captain) +"arv" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"arw" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high, +/obj/machinery/camera{ + c_tag = "Teleporter Access"; + dir = 4; + name = "command camera" + }, +/turf/open/floor/plasteel/dark, +/area/teleporter) +"arx" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"ary" = ( +/obj/machinery/door/poddoor/preopen{ + id = "Xenolab"; + name = "Containment Chamber Blast Door" + }, +/obj/structure/sign/warning/electricshock{ + pixel_x = -32 + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/door/firedoor, +/turf/open/floor/engine, +/area/science/xenobiology) +"arz" = ( +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/crew_quarters/heads/captain) +"arA" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/central) +"arB" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/security/courtroom) +"arC" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/command/glass{ + name = "Bridge"; + req_access_txt = "19" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plasteel/dark, +/area/bridge) +"arD" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/hop) +"arE" = ( +/obj/structure/table, +/obj/item/clipboard, +/obj/item/stock_parts/subspace/transmitter, +/obj/item/stock_parts/subspace/transmitter, +/obj/item/stock_parts/subspace/amplifier, +/obj/item/stock_parts/subspace/amplifier, +/obj/item/stock_parts/subspace/amplifier, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/power/apc{ + areastring = "/area/storage/tcom"; + dir = 8; + name = "Telecomms Storage APC"; + pixel_x = -26 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/dark, +/area/storage/tcom) +"arF" = ( +/obj/machinery/computer/communications{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sign/plaques/golden/captain{ + pixel_y = -32 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/captain) +"arG" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/storage/tcom) +"arH" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/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/item/stock_parts/subspace/analyzer{ + desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths. Shifted slightly right."; + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/stock_parts/subspace/analyzer{ + desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths. Shifted slightly right."; + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/stock_parts/subspace/analyzer{ + desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths. Shifted slightly right."; + pixel_x = 6; + pixel_y = 4 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/storage/tcom) +"arI" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 4; + name = "xenobiology sorting disposal pipe"; + sortType = 28 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"arJ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"arK" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"arL" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"arM" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/camera{ + c_tag = "Xenobiology Entrance"; + dir = 1; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/light/small, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"arN" = ( +/obj/machinery/computer/shuttle/labor, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/item/radio/intercom{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"arO" = ( +/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/item/storage/box/PDAs{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/storage/box/ids, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"arP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/grille/broken, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"arQ" = ( +/obj/machinery/light/small, +/obj/item/stack/cable_coil, +/obj/structure/sign/warning/xeno_mining{ + pixel_x = -32 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/landmark/xeno_spawn, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/solars/port/fore) +"arR" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/captain) +"arS" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/solars/port/fore) +"arT" = ( +/obj/machinery/power/smes, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/solars/port/fore) +"arU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"arV" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/item/storage/fancy/cigarettes/cigars/havana{ + pixel_y = 5 + }, +/obj/item/crowbar/red, +/obj/item/lighter{ + pixel_x = -8; + pixel_y = 8 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/item/storage/secure/safe{ + pixel_x = 34 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/captain) +"arW" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel, +/area/bridge) +"arX" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/bridge) +"arY" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/turf/open/floor/plasteel, +/area/bridge) +"arZ" = ( +/obj/machinery/vending/medical, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/extinguisher_cabinet{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"asa" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"asb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"asc" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"asd" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/bridge) +"ase" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/item/storage/fancy/candle_box, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"asf" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/foyer) +"asg" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-22" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"ash" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"asi" = ( +/turf/closed/wall/r_wall, +/area/medical/morgue) +"asj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/fore) +"ask" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"asl" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"asm" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"asn" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"aso" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/airlock/medical/glass{ + id_tag = "CloningDoor"; + name = "Cloning Lab"; + req_access_txt = "5;68" + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics/cloning) +"asp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"asq" = ( +/obj/machinery/vending/snack/random, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"asr" = ( +/obj/machinery/mass_driver{ + dir = 1; + id = "chapelgun" + }, +/obj/item/gps, +/obj/structure/sign/warning/vacuum/external{ + pixel_x = -32 + }, +/turf/open/floor/plating, +/area/chapel/office) +"ass" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "Bridge Blast door" + }, +/turf/open/floor/plating, +/area/bridge) +"ast" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"asu" = ( +/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/neutral{ + dir = 4 + }, +/obj/structure/noticeboard{ + pixel_y = 28 + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"asv" = ( +/obj/structure/closet/secure_closet/security/sec, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/gun/energy/e_gun/advtaser, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"asw" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/chair/stool, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"asx" = ( +/turf/closed/wall/r_wall, +/area/crew_quarters/heads/captain) +"asy" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + name = "Bridge"; + req_access_txt = "19" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plasteel/dark, +/area/bridge) +"asz" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/door/window{ + dir = 8; + name = "Mass Driver"; + req_access_txt = "22" + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/button/massdriver{ + id = "chapelgun"; + name = "Chapel Mass Driver"; + pixel_x = -24; + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"asA" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/hop) +"asB" = ( +/obj/structure/chair/comfy/brown{ + color = "#596479"; + dir = 1 + }, +/obj/effect/landmark/start/captain, +/turf/open/floor/carpet, +/area/crew_quarters/heads/captain) +"asC" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"asD" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/closet/crate, +/obj/item/storage/crayons, +/obj/item/hand_labeler, +/turf/open/floor/plating, +/area/maintenance/fore) +"asE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/hop) +"asF" = ( +/turf/closed/wall, +/area/security/courtroom) +"asH" = ( +/obj/structure/grille/broken, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/fore) +"asI" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table, +/obj/item/clipboard, +/obj/item/folder/yellow, +/obj/item/destTagger, +/obj/item/destTagger, +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/sorting) +"asJ" = ( +/obj/structure/chair/comfy/brown, +/obj/effect/landmark/start/detective, +/turf/open/floor/carpet, +/area/security/detectives_office) +"asK" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/computer/teleporter{ + dir = 8 + }, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/foyer) +"asL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"asM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel/chapel{ + dir = 4 + }, +/area/chapel/main) +"asN" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/chair/stool, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"asO" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall, +/area/security/prison) +"asP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"asQ" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/chair/stool, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"asR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/closet/cardboard, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"asS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/space_heater, +/turf/open/floor/plating, +/area/maintenance/starboard) +"asT" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/solars/starboard/fore"; + dir = 1; + name = "Starboard Bow Solar APC"; + pixel_y = 26 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/obj/item/stack/cable_coil, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/solars/starboard/fore) +"asU" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/filingcabinet/chestdrawer, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hop) +"asV" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"asW" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"asX" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"asY" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/filingcabinet/chestdrawer, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"asZ" = ( +/turf/closed/wall/r_wall, +/area/ai_monitored/turret_protected/ai) +"ata" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/flasher{ + id = "hopflash"; + name = "Crowd Pacifier"; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hop) +"atb" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/solars/starboard/fore) +"atc" = ( +/obj/structure/chair, +/turf/open/floor/plasteel, +/area/security/courtroom) +"atd" = ( +/obj/structure/table/wood, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/hand_tele, +/obj/structure/mirror{ + pixel_x = -26 + }, +/obj/machinery/light, +/turf/open/floor/wood, +/area/crew_quarters/heads/captain) +"ate" = ( +/obj/machinery/power/solar_control{ + dir = 8; + id = "forestarboard"; + name = "Starboard Bow Solar Control" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/sign/warning/vacuum/external{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/solars/starboard/fore) +"atf" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/turf/open/floor/plasteel, +/area/security/courtroom) +"atg" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/photocopier, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hop) +"ath" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall/r_wall, +/area/crew_quarters/heads/hop) +"ati" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/item/tank/internals/oxygen/red, +/obj/item/stack/packageWrap, +/obj/item/clothing/mask/gas, +/turf/open/floor/plating, +/area/maintenance/fore) +"atj" = ( +/turf/closed/wall, +/area/bridge) +"atk" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"atl" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"atm" = ( +/obj/structure/table, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/gloves/color/latex, +/obj/item/storage/box/disks{ + pixel_y = 5 + }, +/obj/item/radio/headset/headset_medsci, +/obj/structure/noticeboard{ + pixel_y = 30 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"ato" = ( +/obj/item/storage/box/rxglasses{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/box/bodybags, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc{ + areastring = "/area/medical/genetics"; + dir = 1; + name = "Genetics Lab APC"; + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"atp" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/radio/intercom{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"atq" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "telelab"; + name = "Test Chamber Blast Door" + }, +/turf/open/floor/plating, +/area/science/robotics/lab) +"atr" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/pen/fourcolor, +/obj/item/stamp/hop{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hop) +"ats" = ( +/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/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/landmark/start/cargo_technician, +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/quartermaster/office) +"att" = ( +/obj/machinery/modular_computer/console/preset/engineering{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/status_display/evac{ + pixel_x = 32; + pixel_y = 32 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"atu" = ( +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "hopqueue"; + name = "Queue Shutters" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/hop) +"atv" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "hop"; + name = "Privacy Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/heads/hop) +"atw" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/machinery/camera{ + c_tag = "Chapel"; + dir = 4; + name = "chapel camera" + }, +/turf/open/floor/plasteel/chapel{ + dir = 8 + }, +/area/chapel/main) +"atx" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "Bridge Blast door" + }, +/turf/open/floor/plating, +/area/bridge) +"aty" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4; + name = "robotics sorting disposal pipe"; + sortType = 14 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"atz" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/chair/comfy/brown{ + buildstackamount = 0; + color = "#c45c57"; + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_x = -32 + }, +/obj/effect/landmark/start/chaplain, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"atB" = ( +/obj/machinery/porta_turret/ai{ + dir = 4 + }, +/obj/effect/turf_decal/box/red, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai) +"atC" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall, +/area/crew_quarters/heads/hop) +"atD" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/item/healthanalyzer, +/obj/item/hand_labeler, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"atE" = ( +/obj/effect/turf_decal/loading_area, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "hopqueue"; + name = "Queue Shutters" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/hop) +"atF" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/plaque{ + icon_state = "L14" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"atG" = ( +/obj/structure/sign/poster/official/pda_ad, +/turf/closed/wall/rust, +/area/crew_quarters/heads/hop) +"atH" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"atI" = ( +/obj/machinery/computer/card{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/button/door{ + id = "hopqueue"; + name = "Queue Shutters Toggle"; + pixel_x = 24; + pixel_y = -6; + req_access_txt = "57" + }, +/obj/machinery/button/door{ + id = "hop"; + name = "Privacy Shutters Toggle"; + pixel_x = 24; + pixel_y = 6; + req_access_txt = "57" + }, +/obj/machinery/button/flasher{ + id = "hopflash"; + pixel_x = 36; + pixel_y = 6 + }, +/obj/machinery/light_switch{ + pixel_x = 36; + pixel_y = -6 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hop) +"atJ" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 28 + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"atK" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall/r_wall, +/area/medical/virology) +"atL" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/box/bodybags{ + pixel_y = 4 + }, +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"atM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/fore) +"atN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"atO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/fore) +"atQ" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"atR" = ( +/obj/structure/flora/rock/pile, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/fore) +"atS" = ( +/obj/machinery/telecomms/receiver/preset_right, +/obj/machinery/camera{ + c_tag = "Telecomms Server SMES"; + name = "telecomms camera"; + network = list("ss13","tcomms") + }, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"atT" = ( +/turf/closed/wall/r_wall, +/area/bridge) +"atU" = ( +/obj/machinery/telecomms/receiver/preset_left, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"atV" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-05" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"atW" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/mob/living/simple_animal/hostile/retaliate/ghost, +/turf/open/floor/wood{ + icon_state = "wood-broken" + }, +/area/maintenance/starboard/fore) +"atX" = ( +/obj/structure/table/wood, +/obj/machinery/newscaster{ + pixel_x = 30 + }, +/obj/item/paper_bin{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/pen, +/turf/open/floor/wood, +/area/maintenance/starboard/fore) +"atY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/fore) +"atZ" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/fore) +"aua" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aub" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/explab) +"auc" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/bridge) +"aud" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/central) +"aue" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/machinery/requests_console{ + department = "Science"; + departmentType = 2; + name = "Science RC"; + pixel_y = 30; + receive_ore_updates = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"auf" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/delivery, +/obj/machinery/power/apc{ + areastring = "/area/science/explab"; + dir = 1; + name = "Experimentation Lab APC"; + pixel_y = 26 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"aug" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/command{ + name = "Teleport Access"; + req_one_access_txt = "17;19" + }, +/turf/open/floor/plasteel/dark, +/area/teleporter) +"auh" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/junction/flip, +/turf/open/floor/plasteel/showroomfloor, +/area/science/explab) +"aui" = ( +/turf/closed/wall/r_wall, +/area/teleporter) +"auj" = ( +/obj/machinery/door/airlock/maintenance{ + name = "hydroponics maintenance"; + req_access_txt = "35" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/central) +"auk" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/light_switch{ + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"aul" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/wood, +/area/lawoffice) +"aum" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light_switch{ + pixel_x = -24; + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/teleporter) +"aun" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/machinery/shieldwallgen, +/turf/open/floor/plasteel/dark, +/area/teleporter) +"auo" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"auq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"aur" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Head of Personnel's Office"; + req_access_txt = "57" + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"aus" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/teleporter) +"aut" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"auu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8; + name = "Connector to Science" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"auv" = ( +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/meter, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"auw" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall, +/area/bridge) +"aux" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"auy" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall, +/area/bridge) +"auz" = ( +/obj/structure/sign/warning/vacuum/external, +/turf/closed/wall/rust, +/area/maintenance/starboard) +"auA" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/solars/starboard/fore) +"auB" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/solars/starboard/fore) +"auC" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall, +/area/maintenance/starboard/fore) +"auD" = ( +/obj/item/radio{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/radio{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/radio, +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/obj/machinery/camera{ + c_tag = "Security Equipment Room"; + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"auE" = ( +/turf/closed/wall, +/area/storage/primary) +"auG" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "hop"; + name = "Privacy Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/heads/hop) +"auH" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/firecloset, +/turf/open/floor/plating, +/area/maintenance/fore) +"auI" = ( +/obj/structure/table/wood, +/obj/item/gavelblock, +/turf/open/floor/plasteel, +/area/security/courtroom) +"auJ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/light/small, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/solars/starboard/fore) +"auK" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"auL" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"auM" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/bridge) +"auN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/starboard/fore) +"auO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"auP" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/security/courtroom) +"auQ" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"auR" = ( +/obj/structure/flora/junglebush, +/obj/structure/flora/ausbushes/brflowers, +/obj/structure/flora/ausbushes/sunnybush, +/obj/item/reagent_containers/food/snacks/grown/banana, +/obj/machinery/light{ + dir = 8 + }, +/mob/living/carbon/monkey, +/turf/open/floor/grass, +/area/medical/genetics) +"auS" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/break_room) +"auT" = ( +/turf/open/floor/carpet, +/area/crew_quarters/heads/captain) +"auU" = ( +/obj/machinery/modular_computer/console/preset/command, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"auV" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/junction/yjunction{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"auW" = ( +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/security{ + name = "Prison Wing"; + req_access_txt = "2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"auX" = ( +/obj/structure/table, +/obj/machinery/recharger, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/bridge) +"auY" = ( +/obj/machinery/vending/cart{ + req_access_txt = "57" + }, +/obj/structure/noticeboard{ + pixel_y = 30 + }, +/obj/machinery/camera{ + c_tag = "Head of Personnel's Office"; + name = "command camera" + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/hop) +"ava" = ( +/turf/closed/wall/rust, +/area/maintenance/starboard) +"avb" = ( +/obj/machinery/door/airlock/maintenance{ + name = "command maintenance"; + req_access_txt = "17;19" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/central) +"avc" = ( +/obj/structure/sign/departments/security, +/turf/closed/wall, +/area/security/courtroom) +"avd" = ( +/obj/structure/table/wood, +/obj/item/clipboard, +/obj/item/folder/red{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/folder/blue, +/obj/item/melee/chainofcommand, +/obj/item/toy/figure/captain, +/turf/open/floor/carpet, +/area/crew_quarters/heads/captain) +"ave" = ( +/obj/structure/table/wood, +/obj/machinery/computer/security/wooden_tv, +/turf/open/floor/carpet, +/area/crew_quarters/heads/captain) +"avf" = ( +/obj/structure/flora/junglebush/b, +/obj/structure/flora/ausbushes/ppflowers, +/turf/open/floor/grass, +/area/medical/genetics) +"avg" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/chair/office/light{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/item/radio/intercom{ + pixel_x = -28; + pixel_y = 22 + }, +/obj/effect/landmark/start/geneticist, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics) +"avh" = ( +/obj/structure/chair/comfy/brown{ + buildstackamount = 0; + color = "#c45c57"; + dir = 4 + }, +/turf/open/floor/carpet, +/area/crew_quarters/heads/captain) +"avi" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/newscaster{ + pixel_x = 30; + pixel_y = 32 + }, +/obj/effect/landmark/start/geneticist, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics) +"avj" = ( +/obj/structure/table/wood, +/obj/item/storage/fancy/donut_box, +/obj/item/card/id/captains_spare, +/turf/open/floor/carpet, +/area/crew_quarters/heads/captain) +"avk" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"avl" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/item/clothing/suit/suspenders, +/obj/item/clothing/head/papersack/smiley, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"avm" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"avn" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/pen, +/obj/machinery/status_display/evac{ + pixel_x = 32 + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"avo" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/plaque{ + icon_state = "L10" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"avp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/obj/machinery/space_heater, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"avq" = ( +/obj/structure/sign/warning/nosmoking, +/turf/closed/wall, +/area/maintenance/aft) +"avr" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners, +/turf/open/floor/plasteel, +/area/security/courtroom) +"avs" = ( +/obj/effect/turf_decal/tile/neutral{ + 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/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/landmark/xeno_spawn, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"avt" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger{ + pixel_x = -7 + }, +/obj/machinery/recharger{ + pixel_x = 7 + }, +/obj/effect/turf_decal/bot, +/obj/item/radio/intercom{ + pixel_x = 32; + pixel_y = 22 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/button/door{ + id = "sidearmory"; + name = "Armoury Shutter Toggle"; + pixel_x = -8; + pixel_y = 24; + req_access_txt = "3" + }, +/obj/machinery/button/door{ + id = "prisonblast"; + name = "Prison Lockdown"; + pixel_x = 8; + pixel_y = 24; + req_one_access_txt = "2" + }, +/obj/item/toy/figure/warden, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"avu" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/power/apc{ + areastring = "/area/medical/morgue"; + dir = 1; + name = "Morgue APC"; + pixel_y = 24 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"avv" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/storage/briefcase, +/obj/item/book/manual/wiki/security_space_law, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"avw" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/hallway/primary/fore"; + dir = 1; + name = "Fore Primary Hallway APC"; + pixel_y = 26 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/fore) +"avx" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"avy" = ( +/obj/structure/table/wood, +/obj/item/clipboard, +/obj/item/folder/red, +/turf/open/floor/plasteel, +/area/security/courtroom) +"avz" = ( +/obj/structure/table/wood, +/obj/item/clipboard, +/obj/item/folder/blue, +/turf/open/floor/plasteel, +/area/security/courtroom) +"avA" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/starboard) +"avB" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"avC" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock/public/glass{ + name = "Courtroom" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"avD" = ( +/obj/structure/table/wood/fancy, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/drinks/bottle/whiskey{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/item/pen, +/obj/machinery/requests_console{ + department = "Chapel"; + departmentType = 2; + name = "Chapel RC"; + pixel_y = -30 + }, +/turf/open/floor/wood, +/area/chapel/office) +"avE" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/chapel/office) +"avF" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/machinery/shieldwallgen, +/turf/open/floor/plasteel/dark, +/area/teleporter) +"avG" = ( +/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/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/power/apc{ + areastring = "/area/chapel/office"; + name = "Chapel Office APC"; + pixel_y = -25 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"avH" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/item/folder/white, +/obj/item/reagent_containers/hypospray/medipen{ + pixel_y = 5 + }, +/obj/item/reagent_containers/hypospray/medipen, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "emmd"; + name = "Emergency Medical Lockdown Shutters" + }, +/turf/open/floor/plating, +/area/medical/medbay/central) +"avI" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/fore) +"avJ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"avK" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"avL" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/caution, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/camera{ + c_tag = "Crematorium"; + dir = 1; + name = "chapel camera" + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"avM" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/computer/secure_data{ + dir = 4 + }, +/obj/machinery/newscaster/security_unit{ + pixel_x = -26 + }, +/obj/machinery/camera{ + c_tag = "Security Office Computers"; + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/main) +"avN" = ( +/obj/machinery/holopad, +/turf/open/floor/carpet, +/area/crew_quarters/heads/hop) +"avO" = ( +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 5; + pixel_y = -4 + }, +/obj/item/clothing/mask/gas{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/mask/gas, +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"avP" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/iv_drip, +/obj/effect/turf_decal/bot_white/right, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"avQ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/bridge) +"avR" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/bridge) +"avS" = ( +/obj/machinery/computer/bounty{ + dir = 4 + }, +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Head of Personnel's Desk"; + departmentType = 5; + name = "Head of Personnel RC"; + pixel_x = -30 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/crew_quarters/heads/hop) +"avT" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"avU" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/turf/open/floor/plasteel, +/area/security/courtroom) +"avV" = ( +/obj/machinery/pdapainter, +/obj/structure/sign/poster/official/ian{ + pixel_y = 32 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/hop) +"avW" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel, +/area/security/courtroom) +"avX" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"avY" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + name = "Crematorium"; + req_access_txt = "22" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"avZ" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/solars/port/fore) +"awa" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + 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/courtroom) +"awb" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"awc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/fore) +"awd" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Courtroom" + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"awe" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/closet/crate, +/obj/item/stack/packageWrap, +/obj/item/storage/box/lights/mixed, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"awf" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/backpack/cultpack{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/under/color/black, +/obj/structure/closet{ + name = "chapel locker" + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"awg" = ( +/obj/structure/chair/office, +/turf/open/floor/plasteel/dark, +/area/bridge) +"awh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/fore) +"awi" = ( +/turf/closed/wall/r_wall, +/area/science/mixing) +"awj" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/wood, +/area/crew_quarters/heads/hop) +"awk" = ( +/obj/structure/closet/secure_closet/security/sec, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/item/gun/energy/e_gun/advtaser, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"awl" = ( +/obj/structure/table/wood/fancy, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/flashlight/lantern, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"awm" = ( +/obj/structure/chair/comfy/brown{ + buildstackamount = 0; + color = "#c45c57"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/start/head_of_security, +/turf/open/floor/carpet, +/area/crew_quarters/heads/hos) +"awn" = ( +/obj/machinery/vending/sustenance, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/status_display/ai{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"awo" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) +"awp" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/machinery/keycard_auth{ + pixel_x = -6; + pixel_y = 24 + }, +/obj/machinery/light_switch{ + pixel_x = 6; + pixel_y = 24 + }, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/mob/living/simple_animal/parrot/Poly, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/chief) +"awq" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/storage/primary) +"awr" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aws" = ( +/obj/machinery/status_display/ai{ + pixel_x = -32; + pixel_y = 32 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) +"awt" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"awu" = ( +/turf/closed/wall/r_wall, +/area/engine/atmos) +"awv" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 10 + }, +/turf/open/floor/plating, +/area/engine/atmos) +"aww" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/door/airlock/command/glass{ + name = "Bridge Access"; + req_access_txt = "19" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"awx" = ( +/obj/machinery/computer/apc_control, +/obj/effect/turf_decal/bot, +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Chief Engineer's Desk"; + departmentType = 3; + name = "Chief Engineer RC"; + pixel_x = -32 + }, +/obj/machinery/button/door{ + id = "ceprivate"; + name = "Privacy Shutters Toggle"; + pixel_x = -6; + pixel_y = 24; + req_one_access_txt = "56" + }, +/obj/machinery/button/door{ + desc = "A remote control-switch for secure storage."; + id = "Secure Storage"; + name = "Secure Storage Toggle"; + pixel_x = 6; + pixel_y = 24; + req_access_txt = "11" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/chief) +"awy" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/crew_quarters/heads/chief) +"awz" = ( +/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 + }, +/obj/item/cartridge/engineering{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/cartridge/engineering{ + pixel_x = 8 + }, +/obj/item/cartridge/atmos{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/item/folder, +/obj/item/stamp/ce, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/chief) +"awA" = ( +/obj/structure/table/wood/fancy, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/storage/book/bible{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/storage/book/bible{ + pixel_y = 2 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"awB" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) +"awC" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/stack/sheet/plasteel/fifty{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/stack/sheet/rglass{ + amount = 50; + pixel_x = 2; + pixel_y = -2 + }, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/stock_parts/cell/high, +/obj/item/stock_parts/cell/high, +/obj/machinery/camera{ + c_tag = "Engineering Storage"; + dir = 1; + name = "engineering camera"; + network = list("ss13","engine") + }, +/obj/machinery/light_switch{ + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"awD" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/recreation) +"awE" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/gateway{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/gateway) +"awF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + name = "Engineering Checkpoint RC"; + pixel_x = -30 + }, +/obj/machinery/light_switch{ + pixel_y = 24 + }, +/obj/machinery/computer/security/telescreen/engine, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/engineering) +"awG" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"awH" = ( +/turf/closed/wall/r_wall, +/area/security/checkpoint/engineering) +"awI" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) +"awJ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) +"awK" = ( +/obj/machinery/status_display/ai{ + pixel_x = 32; + pixel_y = 32 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) +"awM" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) +"awN" = ( +/turf/closed/wall/r_wall, +/area/engine/break_room) +"awO" = ( +/obj/machinery/computer/card/minor/ce, +/obj/effect/turf_decal/bot, +/obj/machinery/computer/security/telescreen/ce{ + pixel_y = 28 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/chief) +"awP" = ( +/obj/machinery/computer/station_alert, +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/newscaster{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/chief) +"awQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/item/storage/backpack/satchel/med, +/obj/item/assembly/health, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"awR" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/fore) +"awS" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall, +/area/security/processing) +"awT" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/clipboard, +/obj/item/reagent_containers/pill/patch/silver_sulf, +/obj/item/reagent_containers/pill/patch/silver_sulf, +/obj/item/clothing/glasses/meson/engine, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"awU" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Research Director's Office"; + req_access_txt = "30" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hor) +"awW" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall, +/area/engine/break_room) +"awX" = ( +/turf/closed/wall/r_wall, +/area/crew_quarters/heads/chief) +"awY" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/fore) +"axa" = ( +/turf/closed/wall/r_wall, +/area/engine/engineering) +"axb" = ( +/turf/closed/wall, +/area/engine/engineering) +"axc" = ( +/obj/structure/chair/office/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"axd" = ( +/obj/machinery/atmospherics/components/binary/pump{ + desc = "A pump that moves gas by pressure. Shower not included."; + dir = 8; + name = "Gas to Chamber" + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/plasteel/showroomfloor, +/area/science/explab) +"axe" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/computer/atmos_control, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/newscaster{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"axf" = ( +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"axg" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/shower{ + dir = 8; + name = "emergency shower" + }, +/obj/structure/mirror{ + pixel_x = 26 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"axh" = ( +/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 + }, +/obj/item/folder/blue{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/folder/yellow, +/obj/item/lighter, +/obj/item/clothing/mask/cigarette/cigar/cohiba, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/chief) +"axi" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot_white, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"axj" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "Engineering"; + name = "Engineering Blast Doors" + }, +/turf/open/floor/plating, +/area/engine/break_room) +"axk" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/sign/warning/electricshock{ + pixel_x = -32 + }, +/turf/open/floor/plating, +/area/tcommsat/computer) +"axl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard) +"axm" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + name = "Teleport Access"; + req_access_txt = "17;19" + }, +/turf/open/floor/plasteel/dark, +/area/teleporter) +"axn" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Tool Storage" + }, +/turf/open/floor/plasteel/dark, +/area/storage/primary) +"axo" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1; + name = "Distro to Connector" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"axp" = ( +/obj/machinery/rnd/production/circuit_imprinter, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"axq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"axr" = ( +/obj/machinery/power/smes, +/obj/structure/cable, +/obj/machinery/status_display/shuttle{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/fore) +"axs" = ( +/obj/machinery/computer/rdconsole/production{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"axt" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera{ + c_tag = "Starboard Bow Solar"; + dir = 1; + name = "engineering camera"; + network = list("ss13","engine") + }, +/obj/structure/cable, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/solars/starboard/fore) +"axu" = ( +/obj/machinery/door/airlock/maintenance{ + name = "mech bay maintenance"; + req_access_txt = "29" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"axv" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/science/explab) +"axw" = ( +/obj/machinery/modular_computer/console/preset/engineering{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/chief) +"axx" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/landmark/xeno_spawn, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/sign/warning/xeno_mining{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/solars/starboard/fore) +"axy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/disposalpipe/sorting/mail{ + dir = 1; + name = "genetics sorting disposal pipe"; + sortType = 23 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"axz" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"axA" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/fernybush, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/grass, +/area/medical/genetics) +"axB" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/item/tank/internals/air{ + pixel_x = 5 + }, +/obj/item/tank/internals/air{ + pixel_x = -5 + }, +/obj/item/wrench, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/atmos) +"axC" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/fernybush, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/mob/living/carbon/monkey, +/turf/open/floor/grass, +/area/medical/genetics) +"axD" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet{ + name = "skirt closet" + }, +/obj/item/clothing/under/skirt/red{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/under/skirt/blue, +/obj/item/clothing/under/skirt/black{ + pixel_x = -4; + pixel_y = -4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"axE" = ( +/obj/structure/table, +/obj/effect/turf_decal/bot, +/obj/machinery/recharger, +/obj/machinery/power/apc{ + areastring = "/area/crew_quarters/heads/chief"; + dir = 4; + name = "Chief Engineer's Office APC"; + pixel_x = 28 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/chief) +"axF" = ( +/turf/closed/wall, +/area/hallway/primary/aft) +"axG" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics) +"axH" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"axI" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/crew_quarters/heads/chief) +"axJ" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/hyper, +/obj/item/stack/cable_coil, +/obj/item/twohanded/rcl/pre_loaded, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/chief) +"axK" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics) +"axL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/lootdrop/grille_or_trash, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/fore) +"axM" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/preopen{ + id = "Engineering"; + name = "Engineering Blast Doors" + }, +/turf/open/floor/plating, +/area/engine/break_room) +"axN" = ( +/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/delivery, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"axO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_x = 32; + pixel_y = -32 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"axP" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/crowbar, +/obj/item/grenade/chem_grenade/smart_metal_foam{ + pixel_x = 6 + }, +/obj/item/grenade/chem_grenade/smart_metal_foam{ + pixel_x = -2 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"axQ" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/stack/cable_coil{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/stack/cable_coil, +/obj/item/electronics/apc, +/obj/item/electronics/apc, +/obj/item/twohanded/rcl/pre_loaded, +/obj/item/twohanded/rcl/pre_loaded, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"axR" = ( +/obj/machinery/door/poddoor/preopen{ + id = "Xenolab"; + name = "Containment Chamber Blast Door" + }, +/obj/machinery/atmospherics/pipe/simple/general/hidden, +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/door/firedoor, +/turf/open/floor/engine, +/area/science/xenobiology) +"axU" = ( +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"axW" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/engineering) +"axX" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/supermatter) +"axY" = ( +/obj/structure/tank_dispenser, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"axZ" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"aya" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"ayb" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"ayc" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + name = "Morgue"; + req_access_txt = "5" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"ayd" = ( +/obj/effect/turf_decal/tile/neutral{ + 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/landmark/blobstart, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"aye" = ( +/obj/machinery/flasher/portable, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"ayf" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"ayg" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "ceprivate"; + name = "Chief Engineer's Privacy Shutters" + }, +/turf/open/floor/plating, +/area/crew_quarters/heads/chief) +"ayh" = ( +/obj/effect/turf_decal/tile/neutral{ + 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/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"ayi" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"ayj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/item/tank/internals/oxygen, +/obj/item/clothing/mask/gas, +/obj/effect/turf_decal/bot, +/turf/open/floor/plating, +/area/maintenance/starboard) +"ayk" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/engine/break_room) +"ayl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/closet/l3closet/virology, +/turf/open/floor/plating, +/area/maintenance/starboard) +"aym" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/delivery, +/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/engine/engineering) +"ayn" = ( +/turf/open/floor/engine, +/area/engine/supermatter) +"ayo" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/fernybush, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/fore) +"ayp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/fore) +"ayq" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/bridge) +"ayr" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"ays" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"ayt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/fore) +"ayu" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/fore) +"ayv" = ( +/obj/effect/turf_decal/box, +/turf/open/floor/engine, +/area/science/xenobiology) +"ayw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/science/explab) +"ayx" = ( +/obj/machinery/computer/rdconsole/experiment{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"ayy" = ( +/obj/machinery/door/airlock/external{ + name = "Prison External Airlock"; + req_access_txt = "2" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"ayz" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"ayA" = ( +/obj/machinery/door/airlock/engineering{ + name = "Emergency Storage" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"ayB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"ayC" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/telecomms, +/area/science/server) +"ayD" = ( +/obj/effect/landmark/blobstart, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/airalarm/server{ + dir = 8; + pixel_x = 22 + }, +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/telecomms, +/area/science/server) +"ayE" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"ayF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"ayG" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"ayH" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/brflowers, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/grass, +/area/medical/genetics) +"ayI" = ( +/obj/item/reagent_containers/food/snacks/grown/banana, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/grass, +/area/medical/genetics) +"ayJ" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/landmark/start/geneticist, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics) +"ayK" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor{ + id = "Secure Storage"; + name = "Secure Storage" + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"ayL" = ( +/obj/machinery/door/poddoor/preopen{ + id = "Xenolab"; + name = "Containment Chamber Blast Door" + }, +/obj/structure/sign/warning/biohazard{ + pixel_x = 32 + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/door/firedoor, +/turf/open/floor/engine, +/area/science/xenobiology) +"ayM" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics) +"ayN" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics) +"ayO" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Docking Hallway" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/sign/directions/evac{ + dir = 4; + pixel_y = 24 + }, +/obj/structure/sign/directions/science{ + dir = 1; + pixel_y = 40 + }, +/obj/structure/sign/directions/supply{ + dir = 1; + pixel_y = 32 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"ayP" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics) +"ayQ" = ( +/obj/machinery/power/port_gen/pacman, +/obj/item/stack/sheet/mineral/plasma{ + amount = 5 + }, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"ayR" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"ayS" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/item/pickaxe, +/obj/item/shovel, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/foyer) +"ayT" = ( +/obj/effect/turf_decal/tile/neutral{ + 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/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 = 5 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"ayU" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/stack/packageWrap, +/obj/item/crowbar, +/obj/item/hand_labeler, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"ayV" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/machinery/holopad, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/bot, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"ayW" = ( +/obj/machinery/vending/wardrobe/engi_wardrobe, +/obj/effect/turf_decal/bot, +/obj/machinery/camera{ + c_tag = "Engineering Lockers"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"ayX" = ( +/obj/effect/turf_decal/tile/neutral{ + 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/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/landmark/start/medical_doctor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"ayY" = ( +/obj/structure/table, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/rods/fifty, +/obj/item/stack/rods/fifty, +/obj/item/grenade/chem_grenade/smart_metal_foam, +/obj/item/grenade/chem_grenade/smart_metal_foam, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"ayZ" = ( +/obj/effect/turf_decal/tile/neutral{ + 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/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"aza" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/item/folder/white, +/obj/item/pen, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "chemistry_shutters"; + name = "Chemistry Lobby Shutters" + }, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/window/northleft{ + dir = 2; + name = "Chemistry Desk"; + req_access_txt = "5; 33" + }, +/turf/open/floor/plating, +/area/medical/chemistry) +"azb" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/sign/departments/evac{ + pixel_y = 32 + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"azc" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/closet/radiation, +/obj/item/clothing/glasses/meson, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"azd" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/engine/break_room) +"aze" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/closet/crate, +/obj/item/vending_refill/snack{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/vending_refill/cola, +/obj/item/screwdriver, +/turf/open/floor/plating, +/area/maintenance/starboard) +"azf" = ( +/obj/structure/table, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 6 + }, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 6 + }, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 6 + }, +/obj/item/clothing/glasses/meson/engine, +/obj/item/clothing/glasses/meson/engine, +/obj/item/clothing/glasses/meson/engine, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"azg" = ( +/obj/structure/table, +/obj/item/clipboard, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/pipe_dispenser, +/obj/item/pipe_dispenser, +/obj/item/pipe_dispenser, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"azh" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/checkpoint/engineering) +"azi" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"azj" = ( +/obj/effect/turf_decal/tile/neutral{ + 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/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/junction/yjunction, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"azk" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics"; + req_access_txt = "24" + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"azl" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"azm" = ( +/obj/machinery/power/supermatter_crystal/engine, +/turf/open/floor/engine, +/area/engine/supermatter) +"azn" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_x = 24 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"azo" = ( +/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/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"azp" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"azq" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"azr" = ( +/obj/structure/chair/wood/normal, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_y = 24 + }, +/obj/effect/landmark/start/chaplain, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"azs" = ( +/obj/structure/table, +/obj/item/candle/infinite{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/kitchen/fork, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"azt" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/landmark/start/scientist, +/turf/open/floor/plasteel/showroomfloor, +/area/science/explab) +"azu" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/delivery, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/reagent_dispensers/watertank/high, +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/glass/bucket, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"azv" = ( +/turf/closed/wall, +/area/ai_monitored/turret_protected/aisat_interior) +"azw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/fore) +"azx" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2; + name = "rd sorting disposal pipe"; + sortType = 13 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/explab) +"azy" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/power/emitter, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"azz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/fore) +"azA" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/item/stack/packageWrap, +/obj/item/stack/sheet/glass/fifty, +/obj/item/hand_labeler, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"azB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard) +"azC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard) +"azD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/sign/departments/security{ + pixel_y = 32 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"azE" = ( +/obj/effect/turf_decal/loading_area, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"azF" = ( +/obj/structure/flora/junglebush/c, +/mob/living/carbon/monkey{ + name = "curious george" + }, +/turf/open/floor/grass, +/area/medical/genetics) +"azG" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/ppflowers, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/grass, +/area/medical/genetics) +"azH" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible/layer3{ + dir = 10 + }, +/obj/machinery/power/smes/engineering, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 26 + }, +/turf/open/floor/circuit/red, +/area/engine/engineering) +"azI" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/engine/engineering) +"azJ" = ( +/obj/machinery/vending/wardrobe/gene_wardrobe, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics) +"azK" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics) +"azL" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics) +"azM" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/portable_atmospherics/scrubber, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer3{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/break_room) +"azN" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/portable_atmospherics/scrubber, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer3{ + dir = 1 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/break_room) +"azO" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/item/toy/figure/geneticist{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics) +"azP" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/obj/structure/noticeboard{ + dir = 1; + pixel_y = -27 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"azQ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"azR" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 4; + name = "chapel sorting disposal pipe"; + sortType = 17 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"azS" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"azT" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Port to Filter" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"azU" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible, +/obj/machinery/atmospherics/pipe/simple/general/visible/layer3, +/obj/machinery/power/smes/engineering, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/sign/warning/electricshock{ + pixel_x = 32 + }, +/turf/open/floor/circuit/red, +/area/engine/engineering) +"azV" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_x = -24; + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"azW" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"azX" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"azY" = ( +/obj/structure/flora/ausbushes/ywflowers, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/mob/living/simple_animal/butterfly, +/turf/open/floor/grass, +/area/chapel/main) +"azZ" = ( +/obj/machinery/hydroponics/soil, +/obj/item/seeds/potato, +/turf/open/floor/grass, +/area/chapel/main) +"aAa" = ( +/obj/machinery/vending/engivend, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"aAb" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/window/reinforced, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/fore) +"aAc" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/item/folder/yellow, +/obj/item/pen, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "chemistry_shutters_2"; + name = "Chemistry Hall Shutters" + }, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/window/northleft{ + dir = 8; + name = "Chemistry Desk"; + req_access_txt = "5; 33" + }, +/turf/open/floor/plating, +/area/medical/chemistry) +"aAd" = ( +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "External Gas to Loop" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"aAe" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering/glass{ + name = "Engineering Storage"; + req_access_txt = "32" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"aAf" = ( +/obj/machinery/airalarm/server{ + dir = 4; + pixel_x = -22 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) +"aAg" = ( +/turf/closed/wall/r_wall/rust, +/area/ai_monitored/turret_protected/ai) +"aAh" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) +"aAi" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) +"aAj" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) +"aAk" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) +"aAl" = ( +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/tcommsat/server"; + dir = 4; + name = "Telecomms Server Room APC"; + pixel_x = 25 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) +"aAm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aAn" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate, +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aAo" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/fore) +"aAp" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"aAq" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"aAr" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"aAs" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/storage/box/bodybags{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/storage/box/bodybags{ + pixel_y = 2 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"aAt" = ( +/obj/machinery/power/apc{ + areastring = "/area/chapel/main"; + dir = 8; + name = "Chapel APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/chapel{ + dir = 1 + }, +/area/chapel/main) +"aAu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/chapel{ + dir = 4 + }, +/area/chapel/main) +"aAv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/landmark/event_spawn, +/turf/open/floor/grass, +/area/chapel/main) +"aAw" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/fore) +"aAx" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/beebox, +/turf/open/floor/grass, +/area/chapel/main) +"aAz" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/status_display/ai{ + pixel_x = -32; + pixel_y = 32 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/security/nuke_storage) +"aAB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/security/nuke_storage) +"aAC" = ( +/turf/open/floor/plasteel/showroomfloor, +/area/science/robotics/lab) +"aAD" = ( +/obj/structure/flora/tree/jungle/small, +/turf/open/floor/grass, +/area/chapel/main) +"aAE" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1; + name = "Air to Satellite" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plating, +/area/hallway/primary/fore) +"aAF" = ( +/obj/machinery/aug_manipulator, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"aAG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/closet, +/obj/item/storage/backpack/duffelbag{ + pixel_y = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"aAH" = ( +/obj/structure/transit_tube/curved/flipped, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plating, +/area/hallway/primary/fore) +"aAI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/power/apc/highcap/ten_k{ + areastring = "/area/gateway"; + dir = 1; + name = "Gateway APC"; + pixel_y = 26 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel, +/area/gateway) +"aAJ" = ( +/obj/effect/decal/cleanable/vomit/old, +/obj/structure/chair/stool/bar, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"aAK" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/showroomfloor, +/area/science/robotics/lab) +"aAL" = ( +/obj/effect/turf_decal/loading_area, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/robotics/lab) +"aAM" = ( +/turf/open/floor/engine, +/area/engine/engineering) +"aAN" = ( +/obj/structure/table, +/obj/item/clipboard, +/obj/item/folder/red, +/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/item/pen/blue, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"aAO" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=N CPH"; + dir = 8; + location = "NW CPH"; + name = "Patrol navbeacon NW" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aAP" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/showroomfloor, +/area/science/robotics/lab) +"aAQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"aAR" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"aAS" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/explab) +"aAT" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/showroomfloor, +/area/science/robotics/lab) +"aAU" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Docking Hallway" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"aAV" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/machinery/door/airlock/atmos/glass{ + name = "Atmospherics"; + req_access_txt = "24" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aAW" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Apiary"; + req_one_access_txt = "22;35" + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"aAX" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/effect/turf_decal/loading_area, +/turf/open/floor/plasteel/showroomfloor, +/area/science/robotics/lab) +"aAY" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/effect/landmark/start/roboticist, +/turf/open/floor/plasteel/showroomfloor, +/area/science/robotics/lab) +"aAZ" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/stock_parts/cell/high, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"aBa" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/explab) +"aBb" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/science/explab) +"aBc" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/icecream_vat, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) +"aBd" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"aBe" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/showroomfloor, +/area/science/robotics/lab) +"aBf" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/reflector/box/anchored{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"aBg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"aBh" = ( +/obj/structure/closet/secure_closet/RD, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/gun/energy/e_gun/mini, +/obj/structure/extinguisher_cabinet{ + pixel_y = 28 + }, +/obj/machinery/camera{ + c_tag = "Research Director's Office"; + name = "science camera"; + network = list("ss13","rd") + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hor) +"aBi" = ( +/obj/machinery/suit_storage_unit/rd, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/newscaster{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hor) +"aBj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/plating, +/area/maintenance/starboard) +"aBk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/item/shard, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aBl" = ( +/obj/effect/decal/cleanable/oil, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/fore) +"aBm" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + name = "E.V.A. Storage"; + req_access_txt = "18" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/storage/eva) +"aBn" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aBo" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"aBp" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/cryo) +"aBq" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/item/clipboard{ + pixel_x = -6 + }, +/obj/item/reagent_containers/glass/beaker/cryoxadone{ + pixel_x = 6; + pixel_y = 10 + }, +/obj/item/reagent_containers/glass/beaker/cryoxadone{ + pixel_x = 6 + }, +/obj/item/reagent_containers/glass/beaker/cryoxadone{ + pixel_x = -6; + pixel_y = 10 + }, +/obj/item/reagent_containers/glass/beaker/cryoxadone{ + pixel_x = -6 + }, +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/syringe, +/obj/machinery/camera{ + c_tag = "Cryogenics"; + dir = 8; + name = "medical camera"; + network = list("ss13","medical") + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/cryo) +"aBr" = ( +/obj/machinery/rnd/production/circuit_imprinter/department/science, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/status_display/evac{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"aBs" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/disposal/bin, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/cmo) +"aBt" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/computer/cloning, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics/cloning) +"aBu" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/maintenance{ + name = "supermatter maintenance"; + req_one_access_txt = "10" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/aft) +"aBv" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"aBw" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"aBx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"aBy" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/flora/ausbushes/fernybush, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/turf/open/floor/grass, +/area/chapel/main) +"aBz" = ( +/obj/machinery/hydroponics/soil, +/obj/item/seeds/tower, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/turf/open/floor/grass, +/area/chapel/main) +"aBA" = ( +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random{ + pixel_x = -32 + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"aBB" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/beebox, +/turf/open/floor/grass, +/area/chapel/main) +"aBC" = ( +/obj/machinery/door/airlock/maintenance{ + name = "kitchen maintenance"; + req_access_txt = "28" + }, +/obj/structure/fans/tiny/invisible, +/turf/open/floor/plasteel/dark, +/area/maintenance/central) +"aBD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/security/nuke_storage) +"aBE" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/head/welding{ + pixel_y = 4 + }, +/obj/machinery/power/apc{ + areastring = "/area/storage/primary"; + dir = 1; + name = "Tool Storage APC"; + pixel_y = 26 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/camera{ + c_tag = "Tool Storage"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/turf/open/floor/plasteel/dark, +/area/storage/primary) +"aBF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/engine, +/area/security/nuke_storage) +"aBH" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/security{ + name = "Interrogation"; + req_access_txt = "63" + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"aBI" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"aBJ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security{ + name = "Autopsy"; + req_access_txt = "4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark, +/area/security/detectives_office) +"aBK" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/machinery/door/airlock/atmos/glass{ + name = "Distribution Loop"; + req_access_txt = "24" + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aBL" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/item/wrench, +/obj/item/crowbar, +/obj/item/analyzer, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"aBM" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/door/airlock/public/glass{ + name = "Security Hallway" + }, +/obj/structure/sign/departments/security{ + pixel_x = -32 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"aBN" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aBO" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aBP" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/turf/open/floor/engine, +/area/security/nuke_storage) +"aBQ" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/turf/open/floor/plasteel, +/area/engine/break_room) +"aBR" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/computer/atmos_alert, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"aBS" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/computer/station_alert, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/requests_console{ + department = "Atmospherics"; + departmentType = 4; + name = "Atmospherics RC"; + pixel_x = 30 + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"aBT" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 6 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = -6 + }, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"aBU" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aBV" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/engine/break_room) +"aBW" = ( +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/engine/break_room) +"aBX" = ( +/obj/structure/transit_tube/station/reverse{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/transit_tube_pod{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/hallway/primary/fore) +"aBZ" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/item/toy/figure/atmos{ + pixel_x = 8; + pixel_y = 6 + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"aCa" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"aCb" = ( +/turf/closed/wall, +/area/quartermaster/qm) +"aCc" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/engine/break_room) +"aCd" = ( +/obj/item/radio/intercom{ + pixel_x = -28 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) +"aCe" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) +"aCf" = ( +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"aCg" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/preopen{ + id = "atmos"; + name = "Atmospherics Blast Door" + }, +/turf/open/floor/plating, +/area/engine/break_room) +"aCh" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/engineering/glass{ + name = "Supermatter Engine"; + req_access_txt = "10" + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"aCi" = ( +/obj/effect/turf_decal/bot, +/obj/structure/tank_dispenser, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"aCj" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 6 + }, +/turf/closed/wall/r_wall, +/area/engine/break_room) +"aCk" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/camera{ + c_tag = "Telecomms Server Room"; + dir = 8; + name = "telecomms camera"; + network = list("ss13","tcomms") + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) +"aCl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/gateway) +"aCm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/fore) +"aCn" = ( +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"aCo" = ( +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"aCp" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"aCq" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Security Hallway" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"aCr" = ( +/obj/machinery/mech_bay_recharge_port, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/sign/warning/nosmoking{ + pixel_x = -28 + }, +/obj/machinery/camera{ + c_tag = "Mech Bay"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/science/robotics/mechbay) +"aCs" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/radio{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/pen, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/newscaster/security_unit{ + pixel_x = -30 + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/medical) +"aCt" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/science/robotics/mechbay) +"aCu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/showroomfloor, +/area/science/robotics/lab) +"aCv" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock/medical/glass{ + name = "Infirmary" + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"aCw" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engine/atmos) +"aCx" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"aCy" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/engine/break_room) +"aCz" = ( +/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/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/showroomfloor, +/area/ai_monitored/security/armory) +"aCA" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"aCB" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/plasteel/showroomfloor, +/area/science/robotics/lab) +"aCC" = ( +/obj/machinery/door/airlock/command{ + name = "Gateway"; + req_access_txt = "62" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark, +/area/gateway) +"aCD" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/hor) +"aCE" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/hor) +"aCF" = ( +/obj/item/grenade/barrier{ + pixel_x = 4 + }, +/obj/item/grenade/barrier, +/obj/item/grenade/barrier{ + pixel_x = -4 + }, +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"aCG" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/button/door{ + id = "Biohazard"; + name = "Emergency Research Lockdown"; + pixel_x = 24; + pixel_y = 24; + req_access_txt = "47" + }, +/obj/machinery/light_switch{ + pixel_x = 38; + pixel_y = 24 + }, +/obj/machinery/button/door{ + id = "rdprivacy"; + name = "Director's Privacy Toggle"; + pixel_x = 24; + pixel_y = 38 + }, +/obj/effect/landmark/start/research_director, +/obj/machinery/button/door{ + id = "xeno_blastdoor"; + name = "Xenobiology Containment Lockdown"; + pixel_x = 38; + pixel_y = 38; + req_access_txt = "47" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/hor) +"aCH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/shard, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"aCI" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/fore) +"aCJ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/airlock/research/glass{ + name = "Robotics Lab"; + req_access_txt = "29" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"aCK" = ( +/obj/machinery/meter, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold4w/general/visible, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/cryo) +"aCL" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/cryo) +"aCM" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/cryo) +"aCN" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/leafybush, +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/flora/ausbushes/leafybush, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/turf/open/floor/grass, +/area/chapel/main) +"aCO" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/start/roboticist, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/science/robotics/mechbay) +"aCP" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-10" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/cryo) +"aCQ" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/shower{ + dir = 4; + name = "emergency shower" + }, +/obj/effect/turf_decal/box/corners, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics/cloning) +"aCR" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering/glass{ + name = "Supermatter Engine"; + req_access_txt = "10" + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"aCS" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/security/checkpoint/engineering) +"aCT" = ( +/obj/structure/closet/secure_closet/atmospherics, +/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/delivery, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aCU" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/obj/structure/sign/plaques/atmos, +/turf/closed/wall, +/area/engine/break_room) +"aCV" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/r_wall, +/area/tcommsat/computer) +"aCW" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics/cloning) +"aCX" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics/cloning) +"aCY" = ( +/obj/structure/table, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/clothing/head/welding{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/head/welding, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aCZ" = ( +/obj/structure/table, +/obj/item/clipboard{ + pixel_x = -4 + }, +/obj/item/book/manual/wiki/atmospherics, +/obj/item/storage/belt/utility, +/obj/item/t_scanner, +/obj/item/t_scanner, +/obj/item/t_scanner, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aDa" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/mirror{ + pixel_y = 32 + }, +/obj/structure/sink{ + pixel_y = 26 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics/cloning) +"aDb" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics/cloning) +"aDc" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/portable_atmospherics/pump, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer1{ + dir = 1 + }, +/obj/machinery/power/apc{ + area = "/area/engine/break_room"; + name = "Engineering Foyer APC"; + pixel_y = -26 + }, +/obj/structure/cable, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/break_room) +"aDd" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Brig Control"; + req_access_txt = "3" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"aDe" = ( +/obj/machinery/vending/wardrobe/atmos_wardrobe, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot, +/obj/machinery/newscaster{ + pixel_y = -28 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aDf" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/closet/secure_closet/personal/patient, +/obj/machinery/power/apc/unlocked{ + areastring = "/area/medical/genetics/cloning"; + dir = 4; + name = "Cloning Lab APC"; + pixel_x = 24 + }, +/obj/machinery/camera{ + c_tag = "Cloning Lab"; + name = "medical camera"; + network = list("ss13","medical") + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics/cloning) +"aDg" = ( +/obj/structure/reagent_dispensers/fueltank, +/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/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aDh" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/sunnybush, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/grass, +/area/chapel/main) +"aDi" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aDj" = ( +/turf/closed/wall, +/area/security/checkpoint/engineering) +"aDk" = ( +/turf/closed/wall, +/area/engine/atmos) +"aDm" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aDn" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/security/nuke_storage) +"aDo" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/turf/open/floor/engine, +/area/security/nuke_storage) +"aDp" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/open/floor/plating, +/area/engine/atmos) +"aDq" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/structure/sign/poster/contraband/missing_gloves{ + pixel_x = 32 + }, +/obj/machinery/power/smes/engineering, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/circuit/red, +/area/engine/engineering) +"aDr" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plating, +/area/engine/atmos) +"aDs" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/engine, +/area/security/nuke_storage) +"aDt" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Pure to Mix" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"aDu" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/button/door{ + id = "transittube_ai"; + name = "Transit Tube Lockdown Toggle"; + pixel_x = -24; + pixel_y = -8; + req_access_txt = "19" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/camera{ + c_tag = "Satellite Transit Access"; + dir = 4; + name = "satellite camera"; + network = list("minisat") + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aDv" = ( +/obj/structure/table, +/obj/item/radio/intercom{ + broadcasting = 1; + frequency = 1447; + name = "Private AI Channel"; + pixel_y = -2 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/minisat{ + dir = 1; + pixel_y = -28 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small, +/turf/open/floor/plating, +/area/hallway/primary/fore) +"aDw" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/science/explab) +"aDx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel, +/area/gateway) +"aDy" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/item/radio{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/radio{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/radio{ + pixel_y = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/gateway) +"aDz" = ( +/turf/open/floor/engine/n2{ + initial_gas_mix = "n2=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aDA" = ( +/obj/machinery/atmospherics/miner/nitrogen{ + max_ext_kpa = 2500 + }, +/turf/open/floor/engine/n2{ + initial_gas_mix = "n2=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aDB" = ( +/turf/closed/wall/r_wall, +/area/medical/genetics) +"aDC" = ( +/turf/open/floor/engine/o2{ + initial_gas_mix = "o2=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aDD" = ( +/obj/machinery/atmospherics/miner/oxygen{ + max_ext_kpa = 2500 + }, +/turf/open/floor/engine/o2{ + initial_gas_mix = "o2=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aDE" = ( +/obj/machinery/camera{ + c_tag = "Atmospherics Tank - Air"; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/turf/open/floor/engine/air, +/area/engine/atmos) +"aDF" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/auxbase{ + dir = 4; + pixel_x = -28 + }, +/obj/item/radio{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/assault_pod/mining, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"aDG" = ( +/obj/structure/sign/departments/security, +/turf/closed/wall, +/area/security/processing) +"aDH" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering{ + name = "Tech Storage"; + req_one_access_txt = "23;30" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/storage/tech) +"aDI" = ( +/turf/closed/wall, +/area/science/lab) +"aDJ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/central) +"aDK" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering{ + name = "Tech Storage"; + req_one_access_txt = "23;30" + }, +/turf/open/floor/plasteel/dark, +/area/storage/tech) +"aDL" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/science/robotics/mechbay) +"aDM" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/science/robotics/mechbay) +"aDN" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ + dir = 8 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"aDO" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/robotics/mechbay) +"aDP" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/robotics/lab) +"aDQ" = ( +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"aDR" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/robotics/lab) +"aDS" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/robotics/lab) +"aDT" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/robotics/lab) +"aDU" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/research) +"aDV" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/structure/disposalpipe/junction, +/turf/open/floor/plasteel/showroomfloor, +/area/science/research) +"aDW" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/command{ + name = "E.V.A. Storage"; + req_access_txt = "18" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/storage/eva) +"aDX" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"aDY" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/space/nearstation) +"aDZ" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/turf/open/space, +/area/space/nearstation) +"aEa" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/turf/open/space, +/area/space/nearstation) +"aEb" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/suit_storage_unit/cmo, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/cmo) +"aEc" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/cmo) +"aEd" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) +"aEe" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) +"aEf" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) +"aEg" = ( +/obj/structure/girder, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"aEh" = ( +/turf/closed/wall/r_wall, +/area/maintenance/disposal/incinerator) +"aEi" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/space/nearstation) +"aEj" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/turf/open/space, +/area/space/nearstation) +"aEk" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/space/nearstation) +"aEl" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/cryo) +"aEm" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 5 + }, +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) +"aEn" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 9 + }, +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) +"aEo" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/cryo) +"aEp" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/turf/open/space, +/area/space/nearstation) +"aEq" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 + }, +/turf/open/space, +/area/space/nearstation) +"aEr" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/space/nearstation) +"aEs" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics/cloning) +"aEt" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics/cloning) +"aEu" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"aEv" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"aEw" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall/rust, +/area/maintenance/port) +"aEx" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"aEy" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/aft) +"aEz" = ( +/obj/structure/table, +/obj/item/storage/box/deputy, +/obj/item/stack/packageWrap, +/obj/item/hand_labeler, +/obj/effect/turf_decal/bot, +/obj/machinery/camera{ + c_tag = "Warden's Office"; + dir = 4 + }, +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = -30 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"aEA" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"aEB" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/hallway/primary/fore) +"aEC" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 28 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"aED" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/security/nuke_storage) +"aEE" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"aEF" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aEG" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/security/nuke_storage) +"aEH" = ( +/obj/machinery/light_switch{ + pixel_x = 24 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/machinery/camera/motion{ + c_tag = "Vault"; + dir = 1; + name = "vault camera"; + network = list("vault") + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/security/nuke_storage) +"aEI" = ( +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/tcommsat/computer) +"aEJ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aEK" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall/rust, +/area/hallway/secondary/entry) +"aEL" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"aEM" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/door/airlock/public/glass{ + name = "Tool Storage" + }, +/turf/open/floor/plasteel/dark, +/area/storage/primary) +"aEN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/landmark/event_spawn, +/obj/item/radio/intercom{ + pixel_x = -28 + }, +/turf/open/floor/plasteel, +/area/gateway) +"aEO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/gateway) +"aEP" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/robotics/lab) +"aEQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/gateway) +"aER" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/gateway) +"aES" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/gateway) +"aET" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"aEU" = ( +/obj/machinery/atmospherics/components/trinary/filter{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/maintenance/aft) +"aEV" = ( +/obj/machinery/mech_bay_recharge_port, +/obj/structure/cable, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/turf/open/floor/plating, +/area/science/robotics/mechbay) +"aEW" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/security{ + name = "Evidence"; + req_access_txt = "63" + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"aEX" = ( +/obj/item/storage/box/rubbershot{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/storage/box/rubbershot{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/storage/box/rubbershot, +/obj/item/storage/box/rubbershot, +/obj/item/storage/box/rubbershot{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/storage/box/rubbershot{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/structure/closet/secure_closet{ + name = "shotgun rubber rounds"; + req_access_txt = "1" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"aEY" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/science/robotics/mechbay) +"aEZ" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/aft) +"aFa" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/vending/wardrobe/robo_wardrobe, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"aFb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/science/robotics/lab) +"aFc" = ( +/turf/open/floor/engine/co2{ + initial_gas_mix = "co2=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aFd" = ( +/turf/open/floor/engine/plasma{ + initial_gas_mix = "plasma=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aFe" = ( +/turf/open/floor/engine/n2o{ + initial_gas_mix = "n2o=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aFf" = ( +/turf/open/floor/engine/vacuum, +/area/engine/atmos) +"aFg" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/closet/radiation, +/obj/item/clothing/glasses/meson, +/obj/machinery/power/apc/highcap/ten_k{ + areastring = "/area/engine/engineering"; + name = "Engine Room APC"; + pixel_y = -26 + }, +/obj/structure/cable, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"aFh" = ( +/obj/machinery/recharger{ + pixel_x = -7 + }, +/obj/machinery/recharger{ + pixel_x = 7 + }, +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light_switch{ + pixel_x = 24; + pixel_y = -6 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"aFi" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/highsecurity{ + name = "Secure Tech Storage"; + req_access_txt = "19;23" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/storage/tech) +"aFj" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/security/glass{ + name = "Equipment Room"; + req_access_txt = "1" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"aFk" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/robotics/lab) +"aFl" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Security Office"; + req_access_txt = "63" + }, +/turf/open/floor/plasteel/dark, +/area/security/main) +"aFm" = ( +/obj/machinery/atmospherics/miner/carbon_dioxide{ + max_ext_kpa = 2500 + }, +/turf/open/floor/engine/co2{ + initial_gas_mix = "co2=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aFn" = ( +/obj/machinery/atmospherics/miner/toxins{ + max_ext_kpa = 2500 + }, +/turf/open/floor/engine/plasma{ + initial_gas_mix = "plasma=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aFo" = ( +/obj/machinery/atmospherics/miner/n2o{ + max_ext_kpa = 2500 + }, +/turf/open/floor/engine/n2o{ + initial_gas_mix = "n2o=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aFp" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/research) +"aFq" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/research) +"aFr" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/science/research) +"aFs" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/explab) +"aFt" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/start/medical_doctor, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics/cloning) +"aFu" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + name = "Infirmary"; + req_access_txt = "63" + }, +/turf/open/floor/plasteel/dark, +/area/security/main) +"aFv" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Brig Control"; + req_access_txt = "3" + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"aFw" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aFx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics/cloning) +"aFy" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc{ + areastring = "/area/security/processing"; + dir = 8; + name = "Labor Shuttle Dock APC"; + pixel_x = -26 + }, +/obj/effect/turf_decal/bot, +/obj/structure/closet/secure_closet/evidence, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"aFz" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aFA" = ( +/obj/structure/sign/warning/fire, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"aFB" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/general/visible, +/obj/machinery/door/airlock/engineering/glass{ + name = "Supermatter Engine"; + req_access_txt = "10" + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"aFC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"aFD" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/door/airlock/security/glass{ + name = "Brig"; + req_access_txt = "63" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"aFE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"aFF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/maintenance/starboard) +"aFG" = ( +/obj/machinery/computer/slot_machine{ + pixel_y = 2 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"aFH" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/turf/open/floor/plating, +/area/maintenance/disposal/incinerator) +"aFI" = ( +/turf/closed/wall, +/area/maintenance/disposal/incinerator) +"aFK" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_atmos{ + pixel_x = -37; + pixel_y = -6 + }, +/turf/open/floor/engine, +/area/maintenance/disposal/incinerator) +"aFL" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/closed/wall, +/area/maintenance/disposal/incinerator) +"aFM" = ( +/obj/structure/grille, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"aFN" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/turf/open/space/basic, +/area/maintenance/disposal/incinerator) +"aFO" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible, +/turf/closed/wall, +/area/maintenance/disposal/incinerator) +"aFP" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/atmos{ + name = "Incinerator"; + req_access_txt = "24" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"aFQ" = ( +/obj/structure/cable{ + 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) +"aFR" = ( +/obj/structure/chair/office/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/landmark/start/research_director, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/hor) +"aFT" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/port/fore) +"aFU" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible, +/obj/machinery/meter, +/turf/closed/wall, +/area/maintenance/disposal/incinerator) +"aFV" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 6 + }, +/turf/open/floor/engine, +/area/maintenance/disposal/incinerator) +"aFW" = ( +/obj/machinery/door/poddoor/incinerator_atmos_aux, +/turf/open/floor/engine/vacuum, +/area/maintenance/disposal/incinerator) +"aFX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/grille, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"aFY" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/igniter{ + id = "Incinerator" + }, +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 8 + }, +/turf/open/floor/engine/vacuum, +/area/maintenance/disposal/incinerator) +"aFZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"aGa" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/hor) +"aGb" = ( +/obj/machinery/power/turbine{ + luminosity = 2 + }, +/obj/structure/cable, +/turf/open/floor/engine/vacuum, +/area/maintenance/disposal/incinerator) +"aGc" = ( +/obj/machinery/door/poddoor/incinerator_atmos_main, +/turf/open/floor/engine/vacuum, +/area/maintenance/disposal/incinerator) +"aGd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/fore) +"aGe" = ( +/obj/machinery/door/airlock/engineering{ + name = "Emergency Storage" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"aGf" = ( +/obj/machinery/suit_storage_unit/atmos, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/camera{ + c_tag = "Atmospherics Lockers"; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aGg" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aGh" = ( +/turf/closed/wall, +/area/crew_quarters/theatre) +"aGi" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"aGj" = ( +/obj/structure/plasticflaps/opaque, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=1"; + dir = 1; + freq = 1400; + location = "Research and Development" + }, +/obj/machinery/door/window/eastleft{ + dir = 1; + name = "Research and Development Delivery Access"; + req_one_access_txt = "7;29" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/science/lab) +"aGk" = ( +/obj/machinery/camera{ + c_tag = "Atmospherics Tank - N2"; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/turf/open/floor/engine/n2{ + initial_gas_mix = "n2=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aGl" = ( +/obj/structure/table, +/obj/item/clipboard, +/obj/item/folder/yellow, +/obj/item/pipe_dispenser, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aGm" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/cmo) +"aGn" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/cryo) +"aGo" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aGp" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/cryo) +"aGq" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/machinery/door/airlock/engineering/glass{ + name = "Supermatter Engine"; + req_access_txt = "10" + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"aGr" = ( +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/cryo) +"aGs" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/simple/general/visible{ + dir = 10 + }, +/obj/item/wrench, +/turf/open/floor/plasteel, +/area/engine/atmos) +"aGt" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/item/wrench/medical, +/obj/item/reagent_containers/pill/mannitol, +/obj/item/reagent_containers/pill/mannitol, +/obj/item/clothing/neck/stethoscope, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/machinery/power/apc{ + areastring = "/area/medical/cryo"; + dir = 4; + name = "Cryogenics APC"; + pixel_x = 26 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/cryo) +"aGu" = ( +/obj/structure/table, +/obj/item/radio{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/radio{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/stack/packageWrap, +/obj/item/hand_labeler, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aGv" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/portable_atmospherics/pump, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer1{ + dir = 1 + }, +/obj/machinery/light, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/break_room) +"aGw" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/portable_atmospherics/scrubber, +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/atmos) +"aGx" = ( +/obj/structure/table, +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/item/storage/toolbox/emergency, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aGy" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/window/northleft{ + name = "Inner Pipe Access"; + req_access_txt = "24" + }, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aGz" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/pipedispenser, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aGA" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/pipedispenser/disposal, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aGB" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/pipedispenser/disposal/transit_tube, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aGC" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/vending/clothing, +/turf/open/floor/plasteel/dark, +/area/medical/genetics/cloning) +"aGD" = ( +/obj/machinery/door/airlock/engineering/glass/critical{ + heat_proof = 1; + name = "Supermatter Chamber"; + req_access_txt = "10" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/turf_decal/delivery, +/turf/open/floor/engine, +/area/engine/supermatter) +"aGE" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security{ + id_tag = "innerbrig"; + name = "Brig"; + req_access_txt = "63" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"aGF" = ( +/obj/structure/closet/wardrobe/pjs, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/medical/genetics/cloning) +"aGG" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aGH" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics/cloning) +"aGI" = ( +/obj/effect/turf_decal/tile/blue, +/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/delivery, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics/cloning) +"aGJ" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/storage/fancy/candle_box{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/storage/fancy/candle_box{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"aGK" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/turf/open/floor/plasteel, +/area/engine/atmos) +"aGL" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"aGM" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"aGN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"aGO" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/maintenance/fore) +"aGP" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall, +/area/hallway/primary/fore) +"aGQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-16" + }, +/turf/open/floor/plasteel, +/area/gateway) +"aGR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel, +/area/gateway) +"aGS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/twohanded/required/kirbyplants{ + desc = "After his promotion, he was transferred to Kilo Station to serve as the gateway's protector."; + icon_state = "plant-21"; + name = "rodger" + }, +/obj/machinery/light/small, +/turf/open/floor/plasteel, +/area/gateway) +"aGT" = ( +/obj/effect/turf_decal/tile/neutral, +/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{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/components/trinary/filter/atmos/co2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aGU" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/nitrogen_input{ + dir = 4 + }, +/turf/open/floor/engine/n2{ + initial_gas_mix = "n2=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aGV" = ( +/obj/machinery/air_sensor/atmos/nitrogen_tank, +/turf/open/floor/engine/n2{ + initial_gas_mix = "n2=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aGW" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/nitrogen_output{ + dir = 4 + }, +/turf/open/floor/engine/n2{ + initial_gas_mix = "n2=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aGX" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/oxygen_input{ + dir = 4 + }, +/turf/open/floor/engine/o2{ + initial_gas_mix = "o2=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aGY" = ( +/obj/machinery/air_sensor/atmos/oxygen_tank, +/turf/open/floor/engine/o2{ + initial_gas_mix = "o2=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aGZ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/oxygen_output{ + dir = 4 + }, +/turf/open/floor/engine/o2{ + initial_gas_mix = "o2=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aHa" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/air_input{ + dir = 4 + }, +/turf/open/floor/engine/air, +/area/engine/atmos) +"aHb" = ( +/obj/machinery/air_sensor/atmos/air_tank, +/turf/open/floor/engine/air, +/area/engine/atmos) +"aHc" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos/air_output{ + dir = 4 + }, +/turf/open/floor/engine/air, +/area/engine/atmos) +"aHd" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/carbon_input{ + dir = 1 + }, +/turf/open/floor/engine/co2{ + initial_gas_mix = "co2=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aHe" = ( +/obj/machinery/air_sensor/atmos/carbon_tank, +/turf/open/floor/engine/co2{ + initial_gas_mix = "co2=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aHf" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/carbon_output{ + dir = 1 + }, +/turf/open/floor/engine/co2{ + initial_gas_mix = "co2=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aHg" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/toxin_input{ + dir = 1 + }, +/turf/open/floor/engine/plasma{ + initial_gas_mix = "plasma=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aHh" = ( +/obj/machinery/air_sensor/atmos/toxin_tank, +/turf/open/floor/engine/plasma{ + initial_gas_mix = "plasma=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aHi" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/toxin_output{ + dir = 1 + }, +/turf/open/floor/engine/plasma{ + initial_gas_mix = "plasma=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aHj" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/nitrous_input{ + dir = 1 + }, +/turf/open/floor/engine/n2o{ + initial_gas_mix = "n2o=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aHk" = ( +/obj/machinery/air_sensor/atmos/nitrous_tank, +/turf/open/floor/engine/n2o{ + initial_gas_mix = "n2o=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aHl" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/nitrous_output{ + dir = 1 + }, +/turf/open/floor/engine/n2o{ + initial_gas_mix = "n2o=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aHm" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/mix_input{ + dir = 1 + }, +/turf/open/floor/engine/vacuum, +/area/engine/atmos) +"aHn" = ( +/obj/machinery/air_sensor/atmos/mix_tank, +/turf/open/floor/engine/vacuum, +/area/engine/atmos) +"aHo" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/mix_output{ + dir = 1 + }, +/turf/open/floor/engine/vacuum, +/area/engine/atmos) +"aHp" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security{ + id_tag = "outerbrig"; + name = "Brig"; + req_access_txt = "63" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"aHq" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aHr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/gateway) +"aHs" = ( +/obj/effect/turf_decal/tile/neutral, +/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{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/machinery/computer/atmos_control/tank/carbon_tank{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aHt" = ( +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics Connector"; + req_one_access_txt = "10;24;5" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"aHu" = ( +/obj/effect/turf_decal/tile/neutral, +/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{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "CO2 to Pure" + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aHv" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/secure_closet/exile, +/obj/effect/turf_decal/bot, +/obj/machinery/light_switch{ + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark, +/area/gateway) +"aHw" = ( +/obj/machinery/porta_turret/ai, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/turf_decal/box/red, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/aisat_interior) +"aHx" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/closed/wall, +/area/engine/atmos) +"aHy" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 5 + }, +/obj/item/flashlight, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/button/door{ + id = "Skynet_launch"; + name = "Mech Bay Door Control"; + pixel_x = 6; + pixel_y = -24 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/mechbay) +"aHz" = ( +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/palebush, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"aHA" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plasteel, +/area/science/robotics/mechbay) +"aHB" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/science/robotics/mechbay) +"aHC" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/science/robotics/mechbay) +"aHD" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/multitool, +/obj/item/storage/toolbox/electrical, +/obj/item/multitool{ + pixel_x = 4 + }, +/obj/item/reagent_containers/glass/beaker/large, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"aHE" = ( +/obj/structure/chair/office/light, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/landmark/start/roboticist, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"aHF" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/robotics/lab) +"aHG" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aHH" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/manifold4w/general/visible, +/turf/open/floor/plasteel, +/area/engine/atmos) +"aHI" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/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/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/machinery/button/door{ + id = "robotics_shutters"; + name = "Robotics Shutter Toggle"; + pixel_x = 24; + pixel_y = -24; + req_access_txt = "29" + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"aHJ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table, +/obj/item/wrench, +/obj/item/crowbar, +/obj/item/analyzer, +/obj/item/analyzer, +/turf/open/floor/plasteel/dark, +/area/science/research) +"aHK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6; + icon_state = "intact" + }, +/turf/closed/wall, +/area/maintenance/disposal/incinerator) +"aHL" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aHM" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/robotics/lab) +"aHN" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aHO" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"aHP" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aHQ" = ( +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"aHR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aHS" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/manifold/purple/visible, +/turf/open/floor/plasteel, +/area/engine/atmos) +"aHT" = ( +/obj/machinery/suit_storage_unit/atmos, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/airalarm{ + pixel_y = 24 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aHU" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aHV" = ( +/obj/structure/girder, +/obj/structure/grille/broken, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/aft) +"aHW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/grille, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"aHX" = ( +/obj/structure/girder, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"aHY" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"aHZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"aIb" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/door/airlock/public/glass{ + name = "Engineering Foyer" + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"aIc" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aId" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/closet/secure_closet/CMO, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/item/gun/energy/e_gun/mini, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/cmo) +"aIe" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/techstorage/security, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/structure/extinguisher_cabinet{ + pixel_y = 28 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/storage/tech) +"aIf" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aIg" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/turf/closed/wall, +/area/engine/break_room) +"aIh" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aIi" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/cmo) +"aIj" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 9 + }, +/turf/closed/wall/r_wall, +/area/engine/break_room) +"aIk" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-10" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/cmo) +"aIl" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/chair, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aIm" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aIn" = ( +/obj/machinery/door/airlock/engineering/glass/critical{ + heat_proof = 1; + name = "Supermatter Chamber"; + req_access_txt = "10" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/engine, +/area/engine/supermatter) +"aIo" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aIp" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aIq" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-16" + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aIr" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/turf_decal/caution, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aIs" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/item/beacon, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aIt" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/components/unary/thermomachine/heater/on, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aIu" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Mix to Engine" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"aIv" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8; + icon_state = "intact" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"aIw" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/techstorage/service, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/storage/tech) +"aIx" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/components/unary/thermomachine/heater{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aIy" = ( +/obj/structure/table, +/obj/item/storage/box/lights/mixed{ + pixel_y = 5 + }, +/obj/item/stack/cable_coil{ + pixel_y = -2 + }, +/obj/item/analyzer{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/analyzer, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aIz" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-10" + }, +/obj/machinery/button/door{ + id = "transittube_ai"; + name = "Transit Tube Lockdown Toggle"; + pixel_x = 8; + pixel_y = 24; + req_access_txt = "19" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aIA" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aIB" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aIC" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"aID" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"aIE" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"aIF" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/shieldgen, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"aIH" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/engine, +/area/tcommsat/computer) +"aII" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/engine, +/area/tcommsat/computer) +"aIJ" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/tcommsat/computer) +"aIK" = ( +/obj/structure/sign/warning/nosmoking, +/turf/closed/wall, +/area/engine/atmos) +"aIL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/closed/wall, +/area/maintenance/disposal/incinerator) +"aIM" = ( +/obj/effect/turf_decal/bot, +/obj/structure/tank_dispenser, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/newscaster{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aIN" = ( +/obj/structure/sign/departments/botany, +/turf/closed/wall, +/area/maintenance/central) +"aIO" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/closed/wall, +/area/engine/atmos) +"aIP" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aIQ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Medbay" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aIR" = ( +/obj/machinery/status_display/ai{ + pixel_x = 32; + pixel_y = -32 + }, +/turf/open/floor/engine, +/area/tcommsat/computer) +"aIS" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/turf/open/floor/engine, +/area/tcommsat/computer) +"aIT" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/science/research) +"aIU" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"aIV" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/sign/warning/vacuum{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/fore) +"aIW" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"aIX" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/aft) +"aIY" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"aIZ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/aft) +"aJa" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"aJb" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/port/fore) +"aJc" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 4 + }, +/obj/machinery/meter, +/turf/open/floor/plasteel, +/area/engine/atmos) +"aJd" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aJf" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aJg" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/space_heater, +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "External Waste Ports to Filter" + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aJh" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/space_heater, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1; + name = "Air to External Air Ports" + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aJi" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/fore) +"aJj" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 10 + }, +/turf/closed/wall/r_wall, +/area/engine/break_room) +"aJk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, +/turf/closed/wall/r_wall, +/area/engine/break_room) +"aJl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/closed/wall, +/area/maintenance/disposal/incinerator) +"aJm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/maintenance/starboard) +"aJn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"aJo" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/open/floor/plating, +/area/engine/atmos) +"aJp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/closed/wall, +/area/engine/atmos) +"aJq" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"aJr" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"aJs" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/simple/purple/visible, +/turf/open/floor/plasteel, +/area/engine/atmos) +"aJt" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/atmos) +"aJu" = ( +/obj/machinery/computer/med_data, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Medbay Sleepers"; + name = "medical camera"; + network = list("ss13","medical") + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"aJv" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aJw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aJx" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible, +/turf/open/floor/plating, +/area/engine/atmos) +"aJy" = ( +/obj/effect/turf_decal/loading_area, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/atmos) +"aJz" = ( +/obj/machinery/computer/atmos_control/tank/mix_tank{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/atmos) +"aJA" = ( +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/purple/visible, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/atmos) +"aJB" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aJC" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aJD" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aJE" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"aJF" = ( +/obj/structure/chair/office/light, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/landmark/start/research_director, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/hor) +"aJG" = ( +/obj/machinery/status_display/evac, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/turf/closed/wall, +/area/engine/atmos) +"aJH" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"aJI" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/turf/closed/wall, +/area/engine/atmos) +"aJJ" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall, +/area/science/lab) +"aJK" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/suit_storage_unit/standard_unit, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "E.V.A. Storage"; + dir = 8; + name = "command camera" + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/storage/eva) +"aJL" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 9 + }, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"aJM" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/visible, +/obj/machinery/meter/atmos/distro_loop, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aJN" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aJO" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/components/unary/thermomachine/heater/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aJP" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/manifold/green/visible{ + dir = 4 + }, +/obj/machinery/meter, +/turf/open/floor/plasteel, +/area/engine/atmos) +"aJQ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aJR" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark/corner{ + dir = 4 + }, +/area/hallway/primary/fore) +"aJS" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 4 + }, +/area/hallway/primary/fore) +"aJT" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/fore) +"aJU" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics/cloning) +"aJV" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/engine, +/area/tcommsat/computer) +"aJW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/tcommsat/computer) +"aJX" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/turf/open/floor/engine, +/area/tcommsat/computer) +"aJY" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "applebush" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/fore) +"aKa" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/storage/box/lights/mixed{ + pixel_y = 5 + }, +/obj/item/stack/packageWrap, +/obj/item/hand_labeler, +/turf/open/floor/plasteel/dark, +/area/storage/primary) +"aKb" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/fore) +"aKc" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 5; + pixel_y = -4 + }, +/obj/item/clothing/mask/gas{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/mask/gas, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/storage/primary) +"aKd" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/storage/toolbox/electrical{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/storage/toolbox/electrical, +/obj/item/multitool, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/item/multitool, +/turf/open/floor/plasteel/dark, +/area/storage/primary) +"aKe" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/fore) +"aKf" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/stock_parts/cell/high, +/obj/item/screwdriver{ + pixel_y = 18 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/storage/primary) +"aKg" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aKh" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/storage/backpack/duffelbag/engineering{ + pixel_y = 5 + }, +/obj/item/assembly/signaler{ + desc = "Used to remotely activate devices. Allows for syncing when using a secure signaler on another. Slightly scooted."; + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/assembly/signaler{ + desc = "Used to remotely activate devices. Allows for syncing when using a secure signaler on another. Slightly scooted."; + pixel_x = 4; + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/storage/primary) +"aKi" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aKj" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"aKk" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"aKl" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/fore) +"aKm" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/closed/wall, +/area/engine/atmos) +"aKn" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/fore) +"aKo" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/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/item/storage/belt/utility, +/obj/item/weldingtool/largetank, +/obj/item/clothing/head/welding, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"aKp" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/status_display/ai{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/fore) +"aKq" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/button/door{ + id = "Skynet_launch"; + name = "Mech Bay Door Control"; + pixel_x = 6; + pixel_y = 24; + req_one_access_txt = "29" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aKr" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aKs" = ( +/obj/machinery/computer/security/telescreen/turbine{ + dir = 1 + }, +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"aKt" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"aKu" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/hor) +"aKv" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aKw" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/security/checkpoint/engineering) +"aKx" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aKy" = ( +/obj/machinery/computer/crew, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + name = "Medbay Checkpoint RC"; + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/medical) +"aKz" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aKA" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/start/cargo_technician, +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/quartermaster/office) +"aKB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/closed/wall, +/area/security/checkpoint/engineering) +"aKC" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"aKD" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/closed/wall, +/area/security/checkpoint/engineering) +"aKE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall, +/area/security/checkpoint/engineering) +"aKF" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/meter/atmos/atmos_waste_loop, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aKG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"aKH" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"aKI" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aKJ" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/research) +"aKK" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/start/scientist, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aKL" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aKM" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/photocopier, +/obj/item/newspaper{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/newspaper, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/maintenance/port) +"aKN" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"aKO" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-03" + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/wood, +/area/maintenance/port) +"aKP" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/extinguisher_cabinet{ + pixel_y = -28 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aKQ" = ( +/obj/effect/turf_decal/tile/neutral, +/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/structure/chair/stool, +/obj/effect/landmark/start/atmospheric_technician, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/atmos) +"aKR" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-05" + }, +/turf/open/floor/wood, +/area/maintenance/port) +"aKS" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/maintenance/port) +"aKT" = ( +/obj/structure/dresser, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/theatre) +"aKU" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/vending/autodrobe, +/obj/machinery/power/apc{ + areastring = "/area/crew_quarters/theatre"; + dir = 1; + name = "Theatre APC"; + pixel_y = 25 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/theatre) +"aKV" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/food/drinks/bottle/vodka{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = -5; + pixel_y = 6 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"aKW" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/atmos) +"aKX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port) +"aKY" = ( +/obj/structure/table/glass, +/obj/item/storage/box/rxglasses{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/storage/box/beakers, +/obj/item/gun/syringe{ + pixel_y = 5 + }, +/obj/item/reagent_containers/spray/cleaner, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aKZ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Brig"; + req_access_txt = "63" + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"aLa" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aLb" = ( +/obj/structure/table/glass, +/obj/item/storage/box/bodybags{ + pixel_y = 5 + }, +/obj/item/storage/belt/medical, +/obj/item/crowbar, +/obj/item/clothing/neck/stethoscope, +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/glasses/hud/health, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aLc" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/stack/packageWrap, +/obj/item/storage/secure/briefcase, +/obj/item/hand_labeler, +/obj/item/reagent_containers/spray/cleaner, +/obj/machinery/power/apc{ + areastring = "/area/crew_quarters/heads/cmo"; + dir = 1; + name = "CMO's Office APC"; + pixel_y = 26 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/cmo) +"aLd" = ( +/obj/structure/table, +/obj/machinery/recharger, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc{ + areastring = "/area/security/checkpoint/medical"; + dir = 8; + name = "Medical Security Checkpoint APC"; + pixel_x = -24 + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/medical) +"aLe" = ( +/turf/open/floor/plasteel, +/area/engine/break_room) +"aLf" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/delivery, +/obj/structure/extinguisher_cabinet{ + pixel_y = -30 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"aLg" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/radio/intercom{ + broadcasting = 1; + frequency = 1447; + name = "Private AI Channel"; + pixel_y = -28 + }, +/obj/machinery/light, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aLh" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/door/airlock/virology{ + name = "Virology Access"; + req_access_txt = "39" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"aLi" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/sleeper{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"aLj" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/medical/medbay/central) +"aLk" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/fore) +"aLl" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/rack, +/obj/item/storage/crayons, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/central) +"aLm" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"aLn" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aLo" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aLp" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"aLq" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/vending/tool, +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"aLr" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/engineering{ + name = "Gravity Generator Access"; + req_one_access_txt = "19;23" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engine/gravity_generator) +"aLs" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"aLt" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"aLu" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 6 + }, +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"aLv" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/obj/machinery/meter, +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"aLw" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 + }, +/obj/machinery/meter, +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"aLx" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 10 + }, +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"aLy" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/rad_collector/anchored, +/obj/structure/window/plasma/reinforced{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 8 + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/engine/supermatter) +"aLz" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/rad_collector/anchored, +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 4 + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/engine/supermatter) +"aLA" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aLB" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/rad_collector/anchored, +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/engine/supermatter) +"aLC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "Bridge Blast door" + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/bridge) +"aLD" = ( +/obj/effect/turf_decal/bot, +/obj/structure/easel, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/central) +"aLE" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/structure/sign/warning/vacuum{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/fore) +"aLF" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"aLH" = ( +/obj/structure/sign/warning/fire, +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"aLJ" = ( +/obj/machinery/power/smes{ + charge = 5e+006 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/ai) +"aLK" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall, +/area/engine/engineering) +"aLL" = ( +/obj/structure/sign/warning/enginesafety, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"aLM" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/research) +"aLN" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"aLO" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/preopen{ + id = "telelab"; + name = "Test Chamber Blast Door" + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/door/airlock/research/glass{ + name = "Experimentor Lab"; + req_one_access_txt = "7;29" + }, +/turf/open/floor/engine, +/area/science/explab) +"aLP" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aLQ" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/item/storage/box/drinkingglasses{ + pixel_y = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/central) +"aLS" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/holopad, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aLT" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet, +/obj/item/clothing/under/rank/bartender/purple{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/suit/apron/purple_bartender, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/central) +"aLU" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Bar" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"aLV" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/hallway/primary/fore) +"aLW" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/fernybush, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"aLX" = ( +/obj/structure/flora/rock/pile, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"aLY" = ( +/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/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/components/trinary/filter/atmos/n2, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/atmos) +"aLZ" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aMa" = ( +/obj/effect/turf_decal/loading_area, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"aMb" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/simple/green/visible{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/atmos) +"aMc" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_x = 28; + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/central) +"aMd" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics) +"aMe" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/hor) +"aMf" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aMg" = ( +/obj/machinery/atmospherics/components/binary/valve, +/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_toxmix{ + pixel_y = 26 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing/chamber) +"aMh" = ( +/obj/structure/closet/secure_closet/security/engine, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light, +/obj/structure/reagent_dispensers/peppertank{ + pixel_y = -30 + }, +/obj/item/crowbar, +/obj/item/book/manual/wiki/security_space_law, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/engineering) +"aMi" = ( +/obj/structure/table, +/obj/item/extinguisher/mini, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/maintenance/central) +"aMj" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Distro to Waste" + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aMk" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall, +/area/engine/atmos) +"aMl" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing/chamber) +"aMm" = ( +/obj/structure/table, +/obj/item/storage/toolbox/mechanical, +/obj/item/crowbar, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aMn" = ( +/obj/structure/rack, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aMo" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plating, +/area/engine/atmos) +"aMp" = ( +/obj/machinery/atmospherics/components/binary/valve, +/obj/machinery/button/ignition/incinerator/toxmix{ + pixel_x = -6; + pixel_y = 30 + }, +/obj/machinery/button/door/incinerator_vent_toxmix{ + pixel_x = 8; + pixel_y = 30 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/power/apc{ + areastring = "/area/science/mixing/chamber"; + dir = 4; + name = "Toxins Chamber APC"; + pixel_x = 26 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing/chamber) +"aMq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating, +/area/maintenance/starboard) +"aMr" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"aMs" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 8 + }, +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"aMt" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/closed/wall, +/area/engine/atmos) +"aMu" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"aMv" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/wood, +/area/maintenance/port) +"aMw" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/power/emitter, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"aMx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken4" + }, +/area/maintenance/port) +"aMy" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/visible{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aMz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"aMA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/door/airlock/security/glass{ + name = "Security Checkpoint"; + req_access_txt = "63" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"aMB" = ( +/obj/structure/table, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 6 + }, +/obj/item/storage/toolbox/emergency, +/obj/item/extinguisher/mini, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"aMC" = ( +/obj/item/storage/firstaid/regular{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/storage/firstaid/brute{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/firstaid/brute, +/obj/item/storage/firstaid/brute{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/window/reinforced, +/obj/machinery/door/window/eastleft{ + name = "First-Aid Supplies"; + req_access_txt = "5" + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aMD" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/medical/medbay/central) +"aME" = ( +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/obj/machinery/door/airlock/medical{ + name = "Cloning Lab"; + req_access_txt = "5;68" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/medical/genetics/cloning) +"aMF" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/vending/kink, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"aMG" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/engine/atmos) +"aMH" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/machinery/camera{ + c_tag = "Medbay Lobby"; + dir = 4; + name = "medical camera"; + network = list("ss13","medical") + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aMI" = ( +/obj/structure/table, +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aMJ" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/mmi, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/bodypart/chest/robot{ + pixel_y = 4 + }, +/obj/item/bodypart/r_leg/robot{ + pixel_x = 6 + }, +/obj/item/bodypart/r_arm/robot{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/bodypart/l_leg/robot{ + pixel_x = -6 + }, +/obj/item/bodypart/l_arm/robot{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/bodypart/head/robot, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/storage/tech) +"aMK" = ( +/obj/effect/landmark/secequipment, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/status_display/evac{ + pixel_y = 30 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/main) +"aML" = ( +/obj/machinery/light/floor, +/turf/open/floor/engine/n2{ + initial_gas_mix = "n2=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aMM" = ( +/obj/machinery/door/airlock/maintenance{ + name = "security maintenance"; + req_access_txt = "12;63" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/aft) +"aMN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aMO" = ( +/obj/machinery/light/floor, +/turf/open/floor/engine/o2{ + initial_gas_mix = "o2=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aMP" = ( +/obj/machinery/computer/turbine_computer{ + dir = 1; + id = "incineratorturbine" + }, +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"aMQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aMR" = ( +/obj/structure/sign/poster/official/wtf_is_co2, +/turf/closed/wall, +/area/engine/atmos) +"aMS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aMT" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/structure/grille, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"aMU" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/fore) +"aMV" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/portable_atmospherics/pump, +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/atmos) +"aMW" = ( +/obj/structure/reflector/single/anchored{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"aMX" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Chapel" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"aMY" = ( +/turf/open/floor/engine/air, +/area/engine/atmos) +"aMZ" = ( +/obj/machinery/camera{ + c_tag = "Atmospherics Tank - CO2"; + dir = 4; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/turf/open/floor/engine/co2{ + initial_gas_mix = "co2=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aNa" = ( +/obj/machinery/camera{ + c_tag = "Atmospherics Tank - Plasma"; + dir = 4; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/turf/open/floor/engine/plasma{ + initial_gas_mix = "plasma=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aNb" = ( +/obj/machinery/camera{ + c_tag = "Atmospherics Tank - N2O"; + dir = 4; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/turf/open/floor/engine/n2o{ + initial_gas_mix = "n2o=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aNc" = ( +/obj/machinery/camera{ + c_tag = "Atmospherics Tank - Mix"; + dir = 4; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/turf/open/floor/engine/vacuum, +/area/engine/atmos) +"aNd" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L5" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aNe" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L7" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aNf" = ( +/obj/structure/reflector/single/anchored{ + dir = 5 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"aNg" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9; + icon_state = "intact" + }, +/turf/closed/wall/r_wall, +/area/maintenance/disposal/incinerator) +"aNh" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aNi" = ( +/obj/machinery/power/compressor{ + comp_id = "incineratorturbine"; + dir = 1; + luminosity = 2 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable, +/obj/machinery/camera{ + c_tag = "Turbine Chamber"; + dir = 4; + name = "turbine camera"; + network = list("turbine") + }, +/turf/open/floor/engine/vacuum, +/area/maintenance/disposal/incinerator) +"aNj" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L9" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/camera{ + c_tag = "Fore Hallway Centre"; + name = "fore camera" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=NE CPH"; + dir = 8; + location = "N CPH"; + name = "Patrol navbeacon N" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aNk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/fore) +"aNl" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/fore) +"aNm" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay Desk"; + req_access_txt = "5" + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"aNn" = ( +/turf/closed/wall, +/area/medical/medbay/central) +"aNo" = ( +/obj/machinery/door/airlock/engineering{ + name = "Emergency Storage" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/central) +"aNp" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Fore Hallway Robotics Bay"; + dir = 1; + name = "fore camera" + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/fore) +"aNq" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aNr" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay Storage"; + req_access_txt = "5" + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aNs" = ( +/obj/structure/closet/cardboard, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"aNu" = ( +/turf/closed/wall, +/area/medical/morgue) +"aNv" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/clonepod, +/turf/open/floor/plasteel/dark, +/area/medical/genetics/cloning) +"aNw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aNx" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/medical/genetics) +"aNy" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aNz" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/research) +"aNA" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/hor) +"aNB" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"aND" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/door/airlock/command{ + name = "Chief Medical Officer's Office"; + req_access_txt = "40" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aNE" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/science/research) +"aNF" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/research) +"aNG" = ( +/turf/closed/wall, +/area/medical/genetics) +"aNH" = ( +/turf/closed/wall/r_wall, +/area/medical/genetics/cloning) +"aNI" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table/glass, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/book/manual/wiki/medical_cloning{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/crowbar, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/item/paper/guides/jobs/medical/cloning, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics/cloning) +"aNJ" = ( +/obj/structure/table, +/obj/item/storage/box/monkeycubes{ + pixel_y = 3 + }, +/obj/item/reagent_containers/dropper{ + pixel_y = 5 + }, +/obj/item/reagent_containers/syringe, +/obj/item/flashlight/pen, +/obj/machinery/requests_console{ + department = "Genetics"; + name = "Genetics Requests Console"; + pixel_y = 28 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"aNK" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/research) +"aNL" = ( +/turf/closed/wall, +/area/medical/genetics/cloning) +"aNM" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/research) +"aNO" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/medical/genetics/cloning) +"aNQ" = ( +/turf/closed/wall, +/area/medical/cryo) +"aNR" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/components/unary/thermomachine/freezer, +/turf/open/floor/plasteel/dark, +/area/medical/cryo) +"aNS" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/item/clipboard, +/obj/item/folder/white, +/obj/item/storage/pill_bottle/mutadone{ + pixel_x = 4 + }, +/obj/item/storage/pill_bottle/mannitol{ + pixel_x = -3 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics) +"aNT" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/research) +"aNU" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aNV" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aNW" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/medical/cryo) +"aNX" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aNY" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aNZ" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "chemistry_shutters"; + name = "Chemistry Lobby Shutters" + }, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/airlock/medical/glass{ + name = "Chemistry Lab"; + req_access_txt = "5; 33" + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"aOa" = ( +/obj/structure/flora/junglebush/b, +/turf/open/floor/grass, +/area/medical/genetics) +"aOb" = ( +/obj/structure/flora/junglebush/large, +/turf/open/floor/grass, +/area/medical/genetics) +"aOc" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aOd" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/cryo_cell, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/medical/cryo) +"aOe" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/components/unary/cryo_cell, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/cryo) +"aOf" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/box/corners, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aOg" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/shieldgen, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"aOh" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 8 + }, +/obj/machinery/meter, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing/chamber) +"aOi" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hor) +"aOj" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/cryo) +"aOk" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/central) +"aOl" = ( +/obj/machinery/computer/scan_consolenew{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/camera{ + c_tag = "Genetics"; + name = "medical camera"; + network = list("ss13","medical") + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"aOm" = ( +/obj/item/toy/beach_ball{ + pixel_y = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/grass, +/area/medical/genetics) +"aOn" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/components/binary/valve{ + dir = 8 + }, +/obj/effect/landmark/start/scientist, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing/chamber) +"aOo" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 4 + }, +/obj/machinery/meter, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing/chamber) +"aOp" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/cryo) +"aOq" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/brflowers, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/mob/living/carbon/monkey, +/turf/open/floor/grass, +/area/medical/genetics) +"aOr" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/item/healthanalyzer, +/obj/item/storage/firstaid/regular{ + empty = 1; + name = "First-Aid (empty)" + }, +/turf/open/floor/wood, +/area/maintenance/port) +"aOs" = ( +/obj/machinery/light/small{ + 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/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/radio{ + desc = "An old handheld radio. You could use it, if you really wanted to."; + icon_state = "radio"; + name = "old radio" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"aOt" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"aOu" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/mob/living/simple_animal/bot/cleanbot{ + name = "Scrubs, MD"; + on = 0 + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aOv" = ( +/obj/machinery/rnd/production/techfab/department/medical, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aOw" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/box, +/obj/machinery/shower{ + dir = 4; + name = "emergency shower" + }, +/turf/open/floor/plasteel, +/area/medical/medbay/central) +"aOx" = ( +/obj/machinery/computer/scan_consolenew{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = 24; + pixel_y = 24 + }, +/obj/structure/mirror{ + pixel_x = 26 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"aOy" = ( +/obj/machinery/door/airlock/maintenance{ + name = "bar maintenance"; + req_access_txt = "25" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/central) +"aOz" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/storage/box/masks{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/storage/box/gloves{ + pixel_y = 2 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"aOA" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-10" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aOB" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aOC" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/lavendergrass, +/mob/living/carbon/monkey, +/turf/open/floor/grass, +/area/medical/genetics) +"aOD" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aOE" = ( +/obj/structure/sink/puddle, +/obj/structure/flora/ausbushes/reedbush{ + pixel_y = 5 + }, +/turf/open/floor/grass, +/area/medical/genetics) +"aOF" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/fore) +"aOG" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/fore) +"aOH" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Bar" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"aOI" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/structure/sign/warning/securearea{ + name = "EMERGENCY STORAGE"; + pixel_y = -32 + }, +/obj/machinery/light/small, +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aOJ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aOK" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/fore) +"aOM" = ( +/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 + }, +/obj/machinery/vending/snack/random, +/turf/open/floor/plasteel/dark, +/area/science/research) +"aON" = ( +/obj/item/storage/firstaid/regular{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/storage/firstaid/fire{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/fire{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/status_display/evac{ + pixel_x = -32 + }, +/obj/structure/sign/warning/nosmoking{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aOO" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/storage) +"aOP" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aOQ" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/storage) +"aOR" = ( +/obj/machinery/computer/card/minor/cmo{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/cmo{ + dir = 8; + network = list("medical"); + pixel_x = 28 + }, +/obj/machinery/button/door{ + id = "cmoprivacy"; + name = "Privacy Shutters Toggle"; + pixel_x = 24; + pixel_y = -24 + }, +/obj/machinery/button/door{ + id = "emmd"; + name = "Medical Lockdown Toggle"; + pixel_x = 40; + pixel_y = -24 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/cmo) +"aOS" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aOT" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aOU" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/obj/effect/turf_decal/box, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4; + name = "library sorting disposal pipe"; + sortType = 16 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aOV" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aOW" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall, +/area/medical/storage) +"aOX" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/cmo) +"aOY" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4; + name = "bar sorting disposal pipe"; + sortType = 19 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aOZ" = ( +/turf/closed/wall, +/area/medical/storage) +"aPb" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/item/cartridge/medical{ + pixel_x = 6; + pixel_y = 2 + }, +/obj/item/cartridge/medical{ + pixel_x = 5; + pixel_y = 1 + }, +/obj/item/cartridge/medical{ + pixel_x = 4 + }, +/obj/item/cartridge/chemistry{ + pixel_x = -6; + pixel_y = 8 + }, +/obj/item/clothing/neck/stethoscope{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/cmo) +"aPc" = ( +/turf/closed/wall/r_wall, +/area/medical/storage) +"aPd" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aPe" = ( +/obj/machinery/dna_scannernew, +/obj/effect/turf_decal/delivery, +/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/medical/genetics) +"aPf" = ( +/turf/closed/wall/rust, +/area/medical/virology) +"aPg" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aPh" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/cryo) +"aPi" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/cryo) +"aPj" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-10" + }, +/obj/machinery/button/door{ + id = "Biohazard"; + name = "Emergency Research Lockdown"; + pixel_x = -24; + pixel_y = 6; + req_access_txt = "47" + }, +/obj/machinery/light_switch{ + pixel_x = -24; + pixel_y = -6 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/research) +"aPk" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aPl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2; + name = "toxins sorting disposal pipe"; + sortType = 25 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/research) +"aPm" = ( +/obj/machinery/door/firedoor/heavy, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/science/mixing/chamber) +"aPn" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/genetics/cloning) +"aPo" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/research) +"aPp" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/chair/office/light{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/cmo) +"aPq" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/blue, +/obj/item/clipboard, +/obj/item/folder/white{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/folder/blue, +/obj/item/clothing/glasses/hud/health, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/cmo) +"aPr" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aPs" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/item/toy/figure/engineer{ + pixel_x = 8; + pixel_y = 6 + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"aPt" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aPu" = ( +/obj/machinery/dna_scannernew, +/obj/effect/turf_decal/delivery, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"aPv" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aPw" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aPx" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/medical/storage) +"aPz" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/turf_decal/box, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aPA" = ( +/turf/closed/wall/r_wall, +/area/crew_quarters/heads/cmo) +"aPB" = ( +/obj/effect/turf_decal/bot, +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/recharger, +/obj/machinery/status_display/evac{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/cmo) +"aPC" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/medical/storage) +"aPD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aPE" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/cryo) +"aPF" = ( +/obj/item/storage/firstaid/regular{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/storage/firstaid/toxin{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aPG" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/machinery/light, +/obj/machinery/requests_console{ + department = "Science"; + departmentType = 2; + name = "Science RC"; + pixel_y = -30; + receive_ore_updates = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aPH" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aPI" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/vending/coffee, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aPJ" = ( +/obj/machinery/power/emitter, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/fire{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"aPK" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/public/glass{ + name = "Bar" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"aPL" = ( +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot_white, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"aPM" = ( +/turf/open/floor/wood, +/area/maintenance/port) +"aPN" = ( +/obj/structure/table/wood, +/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/structure/sign/poster/official/cohiba_robusto_ad{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/box/matches{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/lighter{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/lighter, +/obj/item/stack/medical/bruise_pack, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"aPO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"aPP" = ( +/obj/structure/closet/secure_closet/medical3, +/obj/item/storage/belt/medical, +/obj/item/clothing/neck/stethoscope, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/machinery/camera{ + c_tag = "Medbay Storage"; + dir = 4; + name = "medical camera"; + network = list("ss13","medical") + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aPQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/central) +"aPR" = ( +/obj/item/storage/firstaid/regular{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/storage/firstaid/o2{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/o2{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/machinery/door/window/eastleft{ + dir = 8; + name = "First-Aid Supplies"; + req_access_txt = "5" + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aPS" = ( +/obj/structure/grille, +/obj/structure/barricade/wooden, +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"aPT" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + name = "Bar Storage"; + req_access_txt = "25" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"aPU" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/storage) +"aPV" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/item/stamp/cmo{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/machinery/light_switch{ + pixel_x = -6; + pixel_y = -24 + }, +/obj/machinery/keycard_auth{ + pixel_x = 6; + pixel_y = -24 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/cmo) +"aPW" = ( +/obj/machinery/microwave{ + pixel_y = 5 + }, +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/sign/poster/official/no_erp{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aPX" = ( +/obj/structure/plasticflaps/opaque, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/northleft{ + name = "Cloning Delivery Access"; + req_access_txt = "50" + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics/cloning) +"aPY" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/grimy, +/area/crew_quarters/bar) +"aPZ" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/item/clothing/gloves/color/black, +/obj/item/crowbar/red, +/turf/open/floor/plasteel/dark, +/area/maintenance/central) +"aQa" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aQb" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/medical/medbay/central) +"aQc" = ( +/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 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"aQd" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aQe" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aQf" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/airlock/security/glass{ + name = "Medbay Security Post"; + req_access_txt = "63" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/medical) +"aQg" = ( +/obj/structure/chair{ + 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/landmark/start/assistant, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"aQh" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aQi" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/turf_decal/caution{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aQj" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aQk" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aQl" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aQm" = ( +/obj/structure/closet/crate/wooden/toy, +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/machinery/newscaster{ + pixel_y = 30 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/theatre) +"aQn" = ( +/obj/structure/closet/secure_closet/medical3, +/obj/item/storage/belt/medical, +/obj/item/clothing/neck/stethoscope, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/radio/intercom{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aQo" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aQp" = ( +/obj/structure/chair/sofa/left{ + color = "#c45c57" + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"aQq" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/storage) +"aQr" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aQs" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aQt" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aQu" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/airlock/virology{ + name = "Virology Access"; + req_access_txt = "39" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"aQv" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/storage) +"aQw" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/bar/atrium) +"aQx" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Atrium Vendors"; + dir = 8; + name = "diner camera" + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"aQy" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aQz" = ( +/obj/machinery/shieldgen, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"aQA" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/storage/firstaid/regular{ + pixel_x = 2 + }, +/obj/item/healthanalyzer, +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Chief Medical Officer's Desk"; + departmentType = 5; + name = "Chief Medical Officer RC"; + pixel_y = 28 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/cmo) +"aQB" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aQC" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aQD" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aQE" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aQF" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/plasteel, +/area/medical/medbay/central) +"aQG" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/storage) +"aQH" = ( +/obj/machinery/vending/medical, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aQI" = ( +/turf/closed/wall, +/area/security/checkpoint/medical) +"aQJ" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/checkpoint/medical) +"aQK" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aQM" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/power/apc{ + areastring = "/area/medical/medbay/central"; + name = "Medbay Central APC"; + pixel_y = -24 + }, +/obj/structure/cable, +/obj/machinery/light, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aQN" = ( +/turf/closed/wall, +/area/medical/surgery) +"aQO" = ( +/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/plasteel/dark, +/area/maintenance/central) +"aQQ" = ( +/obj/machinery/computer/secure_data, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/medical) +"aQR" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aQS" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aQT" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/storage) +"aQU" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/recreation) +"aQV" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/medical/chemistry) +"aQW" = ( +/turf/closed/wall, +/area/medical/chemistry) +"aQX" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/vending/medical, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"aQY" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/vault{ + name = "Vault"; + req_access_txt = "53" + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/dark, +/area/security/nuke_storage) +"aQZ" = ( +/obj/machinery/computer/crew{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"aRa" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/delivery, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/central) +"aRb" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/central) +"aRc" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/central) +"aRd" = ( +/obj/machinery/computer/med_data{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/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/crew_quarters/heads/cmo) +"aRe" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aRf" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aRg" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 8; + name = "medical sorting disposal pipe"; + sortType = 9 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/storage) +"aRh" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aRi" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/theatre) +"aRj" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aRk" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aRl" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L1" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/directions/security{ + dir = 8; + pixel_y = 32 + }, +/obj/structure/sign/directions/medical{ + dir = 8; + pixel_y = 40 + }, +/obj/structure/sign/directions/command{ + dir = 8; + pixel_y = 24 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aRm" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L3" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aRn" = ( +/obj/machinery/smartfridge/chemistry/preloaded, +/turf/closed/wall, +/area/medical/chemistry) +"aRo" = ( +/obj/structure/table/wood, +/obj/structure/mirror{ + pixel_x = 26 + }, +/obj/item/clipboard, +/obj/item/toy/figure/mime{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/toy/dummy{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/toy/figure/clown, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/theatre) +"aRp" = ( +/obj/structure/chair/sofa/right{ + color = "#c45c57"; + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"aRq" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/vending/snack/random, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/crew_quarters/bar/atrium"; + dir = 1; + name = "Atrium APC"; + pixel_y = 25 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"aRr" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"aRs" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/machinery/camera{ + c_tag = "Starboard Hallway Research Desk"; + name = "starboard camera" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"aRt" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel, +/area/medical/medbay/central) +"aRu" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L11" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aRv" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L13" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/directions/evac{ + dir = 4; + pixel_y = 24 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aRw" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/directions/science{ + dir = 4; + pixel_y = 40 + }, +/obj/structure/sign/directions/supply{ + dir = 4; + pixel_y = 32 + }, +/obj/structure/sign/directions/engineering{ + dir = 4; + pixel_y = 24 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aRx" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2; + name = "science sorting disposal pipe"; + sortType = 12 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/lab) +"aRy" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aRz" = ( +/obj/structure/closet/secure_closet/security/science, +/obj/item/crowbar, +/obj/item/book/manual/wiki/security_space_law, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/power/apc{ + areastring = "/area/security/checkpoint/science/research"; + dir = 8; + name = "Research Security APC"; + pixel_x = -24 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/light_switch{ + pixel_x = -24; + pixel_y = 24 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/science/research) +"aRA" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/checkpoint/science/research) +"aRB" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aRC" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aRD" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/storage) +"aRE" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aRF" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Library" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/library) +"aRG" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/assembly/timer{ + desc = "Used to time things. Works well with contraptions which has to count down. Tick tock. But slightly shifted to the left."; + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/assembly/timer{ + desc = "Used to time things. Works well with contraptions which has to count down. Tick tock. But slightly shifted to the left."; + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/assembly/timer{ + desc = "Used to time things. Works well with contraptions which has to count down. Tick tock. But slightly shifted to the left."; + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/stack/cable_coil{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/stack/cable_coil, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, +/obj/item/screwdriver{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"aRH" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/structure/chair/office/light, +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aRI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/showroomfloor, +/area/security/checkpoint/science/research) +"aRJ" = ( +/obj/structure/table, +/obj/machinery/recharger, +/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/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/science/research) +"aRK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"aRL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/girder/displaced, +/obj/structure/grille/broken, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port) +"aRM" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"aRN" = ( +/obj/machinery/chem_heater, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"aRO" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"aRP" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet{ + name = "medical locker" + }, +/obj/structure/grille/broken, +/obj/item/clothing/under/skirt/blue{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/under/rank/medical, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/mask/surgical, +/turf/open/floor/plating, +/area/maintenance/port) +"aRQ" = ( +/obj/structure/girder, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/aft) +"aRR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"aRS" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aRT" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port) +"aRU" = ( +/obj/machinery/vending/wardrobe/medi_wardrobe, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aRV" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aRW" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aRX" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4; + name = "theatre sorting disposal pipe"; + sortType = 18 + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/fore) +"aRY" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aRZ" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-18" + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aSa" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/folder/white{ + pixel_x = -6 + }, +/obj/item/book/manual/wiki/medicine, +/obj/item/clothing/neck/stethoscope, +/obj/item/pen, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"aSb" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/structure/sign/departments/chemistry{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aSc" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aSd" = ( +/obj/machinery/computer/med_data{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/light, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"aSe" = ( +/obj/structure/sign/departments/medbay/alt{ + pixel_x = -32 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"aSf" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall, +/area/maintenance/port/fore) +"aSg" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "chemistry_shutters_2"; + name = "Chemistry Hall Shutters" + }, +/turf/open/floor/plating, +/area/medical/chemistry) +"aSh" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/storage/fancy/cigarettes/cigars{ + pixel_x = 2; + pixel_y = 6 + }, +/obj/item/storage/fancy/cigarettes/cigars/havana{ + pixel_x = 2; + pixel_y = 8 + }, +/obj/item/storage/fancy/cigarettes/cigars/cohiba{ + pixel_x = 2; + pixel_y = 10 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 28 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"aSi" = ( +/obj/structure/table/glass, +/obj/item/clipboard{ + pixel_x = -3; + pixel_y = 2 + }, +/obj/item/book/manual/wiki/chemistry{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/book/manual/wiki/grenades, +/obj/item/toy/figure/chemist, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"aSj" = ( +/obj/structure/closet/secure_closet/atmospherics, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"aSk" = ( +/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/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/computer/atmos_control/tank/nitrogen_tank{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/atmos) +"aSl" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aSm" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai_upload) +"aSn" = ( +/obj/structure/table/wood, +/obj/structure/mirror{ + pixel_x = -26 + }, +/obj/item/reagent_containers/food/snacks/pie/cream, +/obj/item/clothing/under/lobster, +/obj/item/clothing/head/lobsterhat, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/theatre) +"aSo" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=4"; + dir = 4; + freq = 1400; + location = "Medbay" + }, +/obj/structure/plasticflaps/opaque, +/obj/machinery/door/window/northleft{ + dir = 4; + name = "Medical Delivery Access"; + req_access_txt = "50" + }, +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aSp" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/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 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/theatre) +"aSq" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/central) +"aSr" = ( +/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/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 4; + name = "Nitrogen Outlet" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/atmos) +"aSs" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/item/folder/yellow, +/obj/machinery/door/poddoor/preopen{ + id = "atmos"; + name = "Atmospherics Blast Door" + }, +/obj/machinery/door/window/westright{ + name = "Atmospherics Desk"; + req_access_txt = "24" + }, +/turf/open/floor/plating, +/area/engine/break_room) +"aSt" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/item/folder/yellow, +/obj/machinery/door/poddoor/preopen{ + id = "Engineering"; + name = "Engineering Blast Doors" + }, +/obj/machinery/door/window/eastleft{ + name = "Engineering Desk"; + req_access_txt = "10" + }, +/turf/open/floor/plating, +/area/engine/break_room) +"aSu" = ( +/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/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/bar/atrium) +"aSv" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"aSw" = ( +/obj/structure/chair/office/light{ + dir = 1 + }, +/obj/effect/landmark/start/chemist, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"aSx" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/clipboard, +/obj/item/storage/firstaid/regular, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"aSy" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/stack/medical/gauze, +/obj/item/stack/medical/ointment, +/obj/item/stack/medical/bruise_pack{ + pixel_x = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"aSz" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/medical/medbay/central) +"aSA" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/vending/cola/random, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aSB" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"aSC" = ( +/obj/structure/chair/office/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/landmark/start/scientist, +/turf/open/floor/plasteel/showroomfloor, +/area/science/lab) +"aSD" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/science/lab) +"aSE" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aSF" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/lab) +"aSG" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/medical/surgery) +"aSH" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/checkpoint/science/research) +"aSI" = ( +/obj/structure/filingcabinet, +/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/checkpoint/science/research) +"aSJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/storage) +"aSK" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aSM" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aSN" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/storage/box/bodybags{ + pixel_y = 5 + }, +/obj/item/pen, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"aSO" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/storage) +"aSP" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Library" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/library) +"aSQ" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/storage) +"aSR" = ( +/obj/structure/table, +/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/item/folder/white, +/obj/item/reagent_containers/glass/beaker, +/obj/item/reagent_containers/glass/beaker, +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/dropper, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"aSS" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aST" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"aSU" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/storage) +"aSV" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard) +"aSW" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/item/crowbar/red, +/obj/item/healthanalyzer, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"aSX" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall, +/area/medical/medbay/central) +"aSY" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aSZ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"aTa" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/light, +/obj/machinery/newscaster{ + pixel_y = -30 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/storage) +"aTb" = ( +/obj/machinery/door/airlock/grunge{ + name = "Mass Driver"; + req_access_txt = "22" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"aTc" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen{ + desc = "Used for monitoring medbay to ensure patient safety."; + name = "Medbay Monitor"; + network = list("medical") + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/medical) +"aTd" = ( +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"aTe" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"aTf" = ( +/obj/machinery/door/airlock/maintenance{ + name = "crematorium maintenance"; + req_one_access_txt = "27" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"aTg" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aTh" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/fernybush, +/turf/open/floor/grass, +/area/medical/virology) +"aTi" = ( +/obj/structure/flora/junglebush/large, +/obj/structure/flora/ausbushes/ywflowers, +/turf/open/floor/grass, +/area/medical/virology) +"aTj" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/structure/disposalpipe/junction{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aTk" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/maintenance/port) +"aTl" = ( +/obj/structure/closet/crate/freezer, +/obj/item/reagent_containers/blood, +/obj/item/reagent_containers/blood{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/reagent_containers/blood/AMinus, +/obj/item/reagent_containers/blood/BMinus{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/reagent_containers/blood/BPlus{ + pixel_x = 1; + pixel_y = 2 + }, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OPlus{ + pixel_x = -2; + pixel_y = -1 + }, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/blood/random, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"aTm" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/bridge) +"aTn" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/explab) +"aTo" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/machinery/camera{ + c_tag = "Medbay Central"; + name = "medical camera"; + network = list("ss13","medical") + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"aTp" = ( +/obj/structure/table/glass, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/glasses/science{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/glasses/science, +/obj/item/storage/pill_bottle/epinephrine, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"aTq" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/science/explab) +"aTr" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/port) +"aTs" = ( +/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/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/checkpoint/medical) +"aTt" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"aTu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/central) +"aTv" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/central) +"aTw" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/chemistry) +"aTx" = ( +/turf/closed/wall/r_wall, +/area/medical/surgery) +"aTz" = ( +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/central) +"aTA" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aTB" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/computer/libraryconsole{ + pixel_y = 5 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"aTC" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/kitchenspike, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) +"aTD" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/closet/l3closet/virology, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Virology Airlock"; + name = "medical camera"; + network = list("ss13","medical") + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"aTE" = ( +/obj/machinery/light, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"aTF" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/chemistry) +"aTG" = ( +/obj/structure/flora/ausbushes/palebush, +/obj/machinery/light, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"aTH" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/machinery/light_switch{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/theatre) +"aTI" = ( +/obj/structure/chair/office/light{ + dir = 1; + pixel_y = 3 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/start/depsec/medical, +/turf/open/floor/plasteel/showroomfloor, +/area/security/checkpoint/medical) +"aTJ" = ( +/obj/structure/chair/sofa/right{ + color = "#c45c57" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"aTK" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"aTL" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=1"; + dir = 8; + freq = 1400; + location = "Bar" + }, +/obj/structure/plasticflaps/opaque, +/obj/machinery/door/window/southleft{ + dir = 8; + name = "Bar Delivery Access"; + req_access_txt = "25" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"aTM" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"aTN" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/port) +"aTO" = ( +/obj/structure/table, +/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/item/storage/box/bodybags{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/storage/box/beakers, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"aTP" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"aTQ" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/lab) +"aTR" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/lab) +"aTS" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/lab) +"aTT" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/lab) +"aTU" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/airlock/research{ + name = "Toxins Lab"; + req_access_txt = "8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"aTV" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/start/chemist, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/chemistry) +"aTW" = ( +/obj/structure/table/glass, +/obj/item/folder/white, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/reagent_containers/glass/bottle/charcoal{ + pixel_x = 6 + }, +/obj/item/reagent_containers/glass/bottle/epinephrine{ + pixel_x = -6 + }, +/obj/item/reagent_containers/syringe, +/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/medical/chemistry) +"aTX" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"aTY" = ( +/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 = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/checkpoint/science/research) +"aTZ" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/checkpoint/science/research) +"aUa" = ( +/turf/closed/wall, +/area/gateway) +"aUb" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/structure/noticeboard{ + pixel_y = 32 + }, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/under/syndicate/tacticool, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"aUc" = ( +/obj/effect/turf_decal/loading_area, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/storage) +"aUd" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/storage) +"aUe" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Head of Security's Office"; + req_access_txt = "58" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hos) +"aUf" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"aUg" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/effect/landmark/start/scientist, +/turf/open/floor/plasteel/showroomfloor, +/area/science/storage) +"aUh" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Chief Engineer's Office"; + req_access_txt = "56" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/chief) +"aUi" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/storage) +"aUj" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/shieldwallgen, +/turf/open/floor/plasteel/dark, +/area/teleporter) +"aUk" = ( +/obj/effect/turf_decal/loading_area, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/storage) +"aUl" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aUm" = ( +/obj/machinery/rnd/production/protolathe/department/science, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Research Lab"; + dir = 8; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/lab) +"aUn" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aUo" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/mixing) +"aUp" = ( +/obj/structure/chair, +/turf/open/floor/engine/vacuum, +/area/science/test_area) +"aUq" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Distro to Connector" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"aUr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"aUs" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/turf/open/floor/plating, +/area/maintenance/port) +"aUt" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/structure/cable, +/obj/machinery/power/apc{ + areastring = "/area/medical/storage"; + name = "Medbay Storage APC"; + pixel_y = -24 + }, +/obj/machinery/light, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/storage) +"aUu" = ( +/obj/structure/table/optable, +/obj/effect/turf_decal/bot, +/obj/structure/sign/warning/nosmoking{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/surgery) +"aUv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"aUw" = ( +/obj/structure/table/glass, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/storage) +"aUx" = ( +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/effect/landmark/start/chemist, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"aUy" = ( +/obj/structure/table/glass, +/obj/item/clothing/gloves/color/latex, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/storage/box/monkeycubes, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/dropper, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/reagent_dispensers/virusfood{ + pixel_y = -30 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"aUz" = ( +/obj/structure/flora/rock/pile, +/turf/open/floor/plating/asteroid/airless, +/area/space/nearstation) +"aUA" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-18" + }, +/obj/machinery/camera{ + c_tag = "Recovery Room"; + dir = 1; + name = "medical camera"; + network = list("ss13","medical") + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/surgery) +"aUB" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/surgery) +"aUC" = ( +/obj/machinery/vending/wardrobe/viro_wardrobe, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"aUD" = ( +/obj/machinery/computer/pandemic, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"aUE" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/storage) +"aUF" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-18" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/storage) +"aUG" = ( +/turf/closed/wall/mineral/plastitanium, +/area/maintenance/port) +"aUH" = ( +/obj/structure/displaycase/trophy, +/obj/structure/window/reinforced, +/turf/open/floor/plasteel/grimy, +/area/library) +"aUI" = ( +/obj/machinery/camera{ + c_tag = "Xenobiology Cell 1"; + dir = 4; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"aUJ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/medical/virology) +"aUK" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/surgery) +"aUL" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/checkpoint/medical) +"aUM" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/gibber, +/obj/machinery/camera{ + c_tag = "Kitchen Cold Room"; + name = "diner camera" + }, +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/obj/effect/decal/cleanable/blood/gibs/old, +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) +"aUN" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer1, +/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/showroomfloor, +/area/medical/medbay/central) +"aUO" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aUP" = ( +/obj/structure/sign/warning/biohazard, +/turf/closed/wall/r_wall, +/area/medical/virology) +"aUQ" = ( +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/security{ + name = "Prison Wing"; + req_access_txt = "2" + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"aUR" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/surgery) +"aUS" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/chemistry) +"aUT" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_x = -5; + pixel_y = 7 + }, +/obj/item/pen{ + pixel_x = 8; + pixel_y = 5 + }, +/obj/item/pen/red{ + pixel_x = 5; + pixel_y = 1 + }, +/obj/item/toy/figure/curator, +/turf/open/floor/plasteel/grimy, +/area/library) +"aUU" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/landmark/start/medical_doctor, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/storage) +"aUV" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-10" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/chemistry) +"aUW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/newscaster{ + pixel_x = 30; + pixel_y = 32 + }, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"aUX" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"aUY" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/chemistry) +"aUZ" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"aVa" = ( +/obj/machinery/chem_dispenser/drinks/beer{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/machinery/camera{ + c_tag = "Bar Counter"; + dir = 8; + name = "bar camera" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"aVb" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-05" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/machinery/power/apc{ + areastring = "/area/crew_quarters/fitness/recreation"; + dir = 1; + name = "Recreation Area APC"; + pixel_y = 24 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"aVc" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai_upload) +"aVd" = ( +/obj/structure/chair/sofa/left{ + color = "#c45c57" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"aVe" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"aVf" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-18" + }, +/obj/machinery/light_switch{ + pixel_x = -24; + pixel_y = -6 + }, +/obj/machinery/button/door{ + id = "research_shutters"; + name = "Research Shutter Toggle"; + pixel_x = -24; + pixel_y = 6; + req_access_txt = "7" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/lab) +"aVg" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/virology) +"aVh" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/light/small, +/obj/machinery/iv_drip, +/obj/effect/turf_decal/bot_white/right, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"aVi" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/lab) +"aVj" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + name = "Morgue"; + req_access_txt = "9" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"aVk" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/radio{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/pen, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/structure/reagent_dispensers/peppertank{ + pixel_y = -30 + }, +/obj/machinery/button/door{ + id = "Biohazard"; + name = "Emergency Research Lockdown"; + pixel_x = 24; + pixel_y = -24; + req_access_txt = "47" + }, +/obj/machinery/camera{ + c_tag = "Science Security Post"; + dir = 8; + name = "science camera"; + network = list("ss13","rd") + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/science/research) +"aVl" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/storage) +"aVm" = ( +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/landmark/blobstart, +/turf/open/floor/plasteel/showroomfloor, +/area/science/storage) +"aVn" = ( +/obj/machinery/door/airlock/grunge{ + name = "Morgue"; + req_one_access_txt = "5;6;22" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"aVo" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/obj/machinery/camera{ + c_tag = "Toxins Storage"; + dir = 8; + name = "science camera"; + network = list("ss13","rd") + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/storage) +"aVp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"aVq" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/kitchenspike, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 28 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) +"aVr" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/brflowers, +/obj/structure/flora/ausbushes/leafybush, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/grass, +/area/chapel/main) +"aVs" = ( +/obj/structure/bed/roller, +/obj/machinery/iv_drip, +/obj/effect/turf_decal/bot_white/left, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = -30 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"aVt" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"aVu" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aVv" = ( +/obj/machinery/chem_master, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "chemistry_shutters"; + name = "Lobby Shutters Toggle"; + pixel_x = 24; + pixel_y = 24; + req_access_txt = "5; 33" + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"aVw" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/taperecorder{ + pixel_x = 4; + pixel_y = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/library) +"aVx" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aVy" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/sorting/mail{ + dir = 8; + name = "cmo sorting disposal pipe"; + sortType = 10 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/storage) +"aVz" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"aVA" = ( +/obj/structure/table/glass, +/obj/item/book/manual/wiki/infections{ + pixel_y = 6 + }, +/obj/item/healthanalyzer, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/clothing/glasses/hud/health, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/requests_console{ + department = "Virology"; + name = "Virology RC"; + pixel_x = 29; + receive_ore_updates = 1 + }, +/obj/machinery/camera{ + c_tag = "Virology"; + dir = 8; + name = "medical camera"; + network = list("ss13","medical") + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"aVB" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/structure/closet/crate/freezer/surplus_limbs, +/obj/item/reagent_containers/glass/beaker/synthflesh, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"aVC" = ( +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/engine/vacuum, +/area/science/test_area) +"aVD" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/closet/l3closet/virology, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"aVE" = ( +/obj/structure/table, +/obj/item/folder/white, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/item/toy/figure/virologist{ + pixel_x = -6; + pixel_y = 8 + }, +/obj/item/restraints/handcuffs, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"aVF" = ( +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/engine/o2{ + initial_gas_mix = "o2=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aVG" = ( +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/engine/n2o{ + initial_gas_mix = "n2o=1000;TEMP=293.15" + }, +/area/engine/atmos) +"aVH" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall, +/area/medical/genetics/cloning) +"aVI" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/remains/human, +/turf/open/floor/engine/vacuum, +/area/science/test_area) +"aVJ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "rdprivacy"; + name = "Director's Privacy Blast Door" + }, +/turf/open/floor/plating, +/area/crew_quarters/heads/hor) +"aVK" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/dna_scannernew, +/obj/machinery/airalarm{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics/cloning) +"aVL" = ( +/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 = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/machinery/camera{ + c_tag = "Medical Security Post"; + dir = 1; + name = "medical camera"; + network = list("ss13","medical") + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/checkpoint/medical) +"aVM" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/closed/wall/rust, +/area/janitor) +"aVN" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/engine/vacuum, +/area/science/test_area) +"aVO" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/light/small, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/port) +"aVP" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/obj/structure/grille, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"aVQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aVR" = ( +/obj/structure/table/glass, +/obj/machinery/reagentgrinder{ + pixel_y = 5 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/newscaster{ + pixel_y = -30 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"aVS" = ( +/obj/machinery/door/window/southleft{ + name = "Mass Driver Door"; + req_access_txt = "7" + }, +/obj/effect/turf_decal/loading_area, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"aVT" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/item/storage/box/bodybags{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/storage/box/bodybags{ + pixel_y = 2 + }, +/obj/item/pen, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics/cloning) +"aVU" = ( +/obj/structure/sign/departments/medbay/alt, +/turf/closed/wall, +/area/medical/genetics/cloning) +"aVV" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/machinery/light, +/obj/machinery/light_switch{ + pixel_y = -24 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/checkpoint/medical) +"aVW" = ( +/obj/structure/table/glass, +/obj/item/folder/white, +/obj/item/folder/white, +/obj/item/crowbar/red, +/obj/item/wrench, +/obj/item/storage/box/syringes{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/storage/box/beakers{ + pixel_y = 2 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/structure/noticeboard{ + dir = 1; + pixel_y = -28 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"aVX" = ( +/obj/machinery/modular_computer/console/preset/research{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/computer/security/telescreen/rd{ + dir = 8; + pixel_x = 28 + }, +/obj/machinery/keycard_auth{ + pixel_x = 24; + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hor) +"aVY" = ( +/obj/structure/bodycontainer/morgue, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot_white, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"aVZ" = ( +/obj/structure/bodycontainer/morgue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot_white, +/obj/machinery/camera{ + c_tag = "Morgue"; + name = "medical camera"; + network = list("ss13","medical") + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"aWa" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/port) +"aWb" = ( +/obj/structure/bodycontainer/morgue, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot_white, +/obj/structure/extinguisher_cabinet{ + pixel_y = 28 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"aWc" = ( +/obj/structure/bodycontainer/morgue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot_white, +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"aWd" = ( +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/port) +"aWe" = ( +/obj/structure/bodycontainer/morgue, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot_white, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"aWf" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/meter, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"aWg" = ( +/obj/structure/bodycontainer/morgue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"aWh" = ( +/obj/structure/bodycontainer/morgue, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot_white, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"aWi" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 4; + name = "Connector to Medical" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port) +"aWj" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/newscaster{ + pixel_y = 30 + }, +/obj/machinery/camera{ + c_tag = "Chief Medical Officer's Office"; + name = "medical camera"; + network = list("ss13","medical") + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/cmo) +"aWk" = ( +/obj/structure/bodycontainer/morgue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot_white, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"aWl" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "emmd"; + name = "Emergency Medical Lockdown Shutters" + }, +/turf/open/floor/plating, +/area/medical/medbay/central) +"aWm" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/warning/securearea{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/medical/genetics) +"aWn" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port) +"aWo" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aWp" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay Storage"; + req_access_txt = "5" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aWq" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/storage) +"aWr" = ( +/obj/structure/filingcabinet, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/machinery/button/door{ + id = "emmd"; + name = "Medical Lockdown Toggle"; + pixel_x = 24; + pixel_y = -24 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/checkpoint/medical) +"aWs" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/genericbush, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/sunnybush, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/grass, +/area/hallway/secondary/exit/departure_lounge) +"aWt" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aWu" = ( +/obj/effect/turf_decal/tile/blue, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aWv" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"aWw" = ( +/obj/structure/table, +/obj/machinery/computer/med_data/laptop, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"aWx" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "chemistry_shutters"; + name = "Chemistry Lobby Shutters" + }, +/turf/open/floor/plating, +/area/medical/chemistry) +"aWy" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/chemistry) +"aWz" = ( +/obj/structure/table, +/obj/item/clothing/gloves/color/latex, +/obj/item/paper/guides/jobs/medical/morgue, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/pen, +/obj/machinery/light/small, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"aWA" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aWB" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"aWC" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"aWD" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken" + }, +/area/crew_quarters/bar) +"aWE" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aWF" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-18" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/chemistry) +"aWG" = ( +/turf/closed/wall, +/area/chapel/office) +"aWH" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/chemistry) +"aWI" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"aWJ" = ( +/turf/open/floor/engine, +/area/science/xenobiology) +"aWK" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/item/folder/red, +/obj/item/pen, +/obj/machinery/door/window/brigdoor/westright{ + name = "Armoury Desk"; + req_access_txt = "3" + }, +/turf/open/floor/plating, +/area/ai_monitored/security/armory) +"aWL" = ( +/obj/structure/chair/wood/normal{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/sign/barsign{ + pixel_y = 32; + req_access = null; + req_access_txt = "25" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"aWM" = ( +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"aWN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"aWO" = ( +/obj/structure/table/wood, +/obj/item/paper/guides/jobs/security/courtroom, +/turf/open/floor/plasteel, +/area/security/courtroom) +"aWP" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/science/xenobiology) +"aWQ" = ( +/obj/machinery/door/firedoor, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"aWR" = ( +/turf/closed/wall, +/area/science/xenobiology) +"aWS" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"aWT" = ( +/obj/structure/closet/secure_closet/chemical, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/item/storage/box/pillbottles, +/obj/item/storage/box/pillbottles, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"aWU" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/science/server) +"aWV" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/turf/open/floor/engine, +/area/science/explab) +"aWW" = ( +/obj/machinery/chem_dispenser/drinks{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"aWX" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/hor) +"aWY" = ( +/turf/closed/wall/r_wall, +/area/science/explab) +"aWZ" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on, +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark, +/area/science/server) +"aXa" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/central) +"aXb" = ( +/obj/effect/landmark/blobstart, +/obj/effect/landmark/xeno_spawn, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/engine, +/area/science/explab) +"aXc" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "telelab"; + name = "Test Chamber Blast Door" + }, +/turf/open/floor/plating, +/area/science/explab) +"aXd" = ( +/obj/structure/flora/grass/jungle, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"aXf" = ( +/obj/machinery/computer/rdservercontrol, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc{ + areastring = "/area/science/server"; + dir = 1; + name = "Research Division Server Room APC"; + pixel_y = 25 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/science/server) +"aXg" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/storage/box/bodybags{ + pixel_y = 5 + }, +/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/stack/packageWrap, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/machinery/camera{ + c_tag = "Robotics Lab"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"aXh" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"aXi" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/storage/belt/utility, +/obj/item/clothing/head/welding, +/obj/item/clothing/glasses/welding, +/obj/structure/noticeboard{ + pixel_y = 28 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"aXm" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/radio{ + desc = "An old handheld radio. You could use it, if you really wanted to."; + icon_state = "radio"; + name = "old radio" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"aXn" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/stock_parts/cell/high, +/turf/open/floor/plasteel/dark, +/area/science/lab) +"aXo" = ( +/obj/machinery/rnd/experimentor, +/obj/effect/landmark/event_spawn, +/turf/open/floor/engine, +/area/science/explab) +"aXp" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/clipboard, +/obj/item/reagent_containers/food/drinks/shaker{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/toy/figure/bartender{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"aXq" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/item/taperecorder{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/aicard, +/obj/item/paicard{ + pixel_x = 6 + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hor) +"aXr" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot_white, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"aXs" = ( +/obj/machinery/door/poddoor/incinerator_toxmix, +/turf/open/floor/engine/vacuum, +/area/science/mixing/chamber) +"aXt" = ( +/obj/machinery/mecha_part_fabricator, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"aXu" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/machinery/newscaster{ + pixel_y = -30 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/fore) +"aXv" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/maintenance/central) +"aXw" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/folder, +/obj/item/nanite_scanner{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/nanite_remote, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"aXx" = ( +/obj/structure/flora/ausbushes/palebush, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"aXy" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai_upload) +"aXz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai_upload) +"aXA" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/tank_dispenser, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"aXB" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/closet/bombcloset, +/obj/machinery/airalarm{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"aXC" = ( +/obj/machinery/power/apc{ + areastring = "/area/science/robotics/mechbay"; + dir = 1; + name = "Mech Bay APC"; + pixel_y = 26 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/mech_bay_recharge_floor, +/area/science/robotics/mechbay) +"aXD" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/machinery/ai_slipper{ + uses = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai_upload) +"aXE" = ( +/obj/machinery/nanite_chamber, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"aXF" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/computer/nanite_chamber_control, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Nanite Lab"; + name = "science camera"; + network = list("ss13","rd") + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"aXG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai_upload) +"aXH" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/machinery/status_display/ai{ + pixel_x = 32; + pixel_y = 32 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai_upload) +"aXI" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"aXJ" = ( +/obj/structure/window/reinforced, +/obj/structure/flora/ausbushes/palebush, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"aXK" = ( +/obj/effect/decal/remains/human, +/obj/machinery/sparker/toxmix{ + name = "chamber igniter"; + pixel_x = -16 + }, +/turf/open/floor/engine/vacuum, +/area/science/mixing/chamber) +"aXL" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"aXM" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering/glass{ + name = "Server Room"; + req_access_txt = "61" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plasteel/dark, +/area/tcommsat/server) +"aXN" = ( +/obj/machinery/igniter/incinerator_toxmix, +/mob/living/simple_animal/chicken{ + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0); + desc = "A timeless classic."; + name = "Kentucky" + }, +/turf/open/floor/engine/vacuum, +/area/science/mixing/chamber) +"aXO" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/explab) +"aXP" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/airlock/research/glass{ + name = "Robotics Lab"; + req_access_txt = "29" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"aXQ" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/stack/sheet/glass/fifty{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/item/stock_parts/matter_bin{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/scanning_module{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/stock_parts/scanning_module, +/turf/open/floor/plasteel/dark, +/area/science/lab) +"aXR" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/warning/securearea{ + desc = "A warning sign which reads 'SERVER ROOM'."; + name = "SERVER ROOM"; + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/science/server) +"aXS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/turf/open/floor/engine, +/area/science/explab) +"aXT" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/fernybush, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"aXU" = ( +/obj/machinery/button/door{ + id = "telelab"; + name = "Test Chamber Toggle"; + pixel_y = 25 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/turf/open/floor/engine, +/area/science/explab) +"aXV" = ( +/obj/structure/sink{ + pixel_y = 26 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) +"aXW" = ( +/turf/closed/wall/rust, +/area/maintenance/starboard/fore) +"aXX" = ( +/obj/structure/chair/office/light{ + dir = 1; + pixel_y = 3 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"aXY" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/obj/machinery/camera{ + c_tag = "Atrium Booths"; + dir = 4; + name = "diner camera" + }, +/obj/structure/chair/sofa/left{ + color = "#c45c57"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"aXZ" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/lab) +"aYa" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/lab) +"aYb" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/storage) +"aYc" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"aYd" = ( +/turf/closed/wall/r_wall, +/area/science/lab) +"aYe" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/science/lab) +"aYg" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/science/lab) +"aYh" = ( +/obj/machinery/camera{ + c_tag = "Xenobiology Cell 3"; + dir = 8; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"aYi" = ( +/obj/machinery/computer/mech_bay_power_console{ + dir = 4 + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/science/robotics/mechbay) +"aYj" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/poddoor/preopen{ + id = "telelab"; + name = "Test Chamber Blast Door" + }, +/turf/open/floor/plating, +/area/science/explab) +"aYk" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/hatch{ + name = "Satellite Access"; + req_one_access_txt = "32;19" + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aYl" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light_switch{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/mechbay) +"aYm" = ( +/obj/machinery/mecha_part_fabricator, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/power/apc{ + areastring = "/area/science/robotics/lab"; + dir = 1; + name = "Robotics Lab APC"; + pixel_y = 25 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"aYn" = ( +/obj/machinery/mass_driver{ + dir = 4; + id = "toxinsdriver" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/science/mixing) +"aYo" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/storage) +"aYp" = ( +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/science/mixing) +"aYq" = ( +/obj/machinery/recharge_station, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/mechbay) +"aYr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/science/mixing) +"aYs" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"aYt" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"aYu" = ( +/obj/machinery/chem_dispenser{ + layer = 2.7 + }, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"aYv" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"aYw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/status_display/ai{ + pixel_x = -32 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/nuke_storage) +"aYx" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"aYy" = ( +/obj/item/target/clown, +/obj/machinery/camera/preset/toxins{ + dir = 8 + }, +/turf/open/floor/engine/vacuum, +/area/science/test_area) +"aYz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"aYA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/grille/broken, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"aYB" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "emmd"; + name = "Emergency Medical Lockdown Shutters" + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"aYC" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aYD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"aYE" = ( +/obj/item/storage/box/donkpockets{ + pixel_x = 3; + pixel_y = 5 + }, +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/mirror{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"aYF" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"aYG" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/vault{ + name = "Vault"; + req_access_txt = "53" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/dark, +/area/security/nuke_storage) +"aYH" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "robotics_shutters"; + name = "Robotics Privacy Shutters" + }, +/turf/open/floor/plating, +/area/science/robotics/lab) +"aYI" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/chemistry) +"aYJ" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/effect/landmark/start/chemist, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/chemistry) +"aYK" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "research_shutters"; + name = "Research Privacy Shutter" + }, +/turf/open/floor/plating, +/area/science/lab) +"aYL" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/chemistry) +"aYM" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"aYN" = ( +/obj/machinery/nanite_program_hub, +/obj/effect/turf_decal/bot, +/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/plasteel/dark, +/area/science/research) +"aYO" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/central) +"aYP" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aYQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/grimy, +/area/crew_quarters/bar) +"aYR" = ( +/obj/machinery/computer/nanite_cloud_controller, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"aYS" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"aYT" = ( +/obj/machinery/nanite_programmer, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"aYV" = ( +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/crew_quarters/bar) +"aYW" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/crew_quarters/bar) +"aYX" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"aYY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai_upload) +"aYZ" = ( +/obj/effect/turf_decal/box, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai_upload) +"aZa" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/folder{ + pixel_x = -4 + }, +/obj/item/disk/tech_disk{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/disk/tech_disk{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/disk/design_disk, +/obj/item/disk/design_disk, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/capacitor{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/stock_parts/capacitor{ + pixel_x = -6; + pixel_y = 6 + }, +/turf/open/floor/plasteel/dark, +/area/science/lab) +"aZb" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai_upload) +"aZc" = ( +/obj/effect/turf_decal/box, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai_upload) +"aZd" = ( +/turf/closed/wall, +/area/hydroponics) +"aZe" = ( +/obj/effect/turf_decal/loading_area, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/lab) +"aZf" = ( +/obj/machinery/door/airlock/maintenance{ + name = "backstage maintenance"; + req_access_txt = "46" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/central) +"aZg" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/lab) +"aZh" = ( +/obj/machinery/porta_turret/ai, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/box/red, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/aisat_interior) +"aZi" = ( +/obj/structure/sign/departments/science, +/turf/closed/wall, +/area/science/lab) +"aZj" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/clipboard, +/obj/item/reagent_containers/glass/beaker/large{ + pixel_x = -6 + }, +/obj/item/reagent_containers/glass/beaker{ + pixel_x = 6 + }, +/obj/item/clothing/glasses/science, +/obj/item/clothing/glasses/science, +/obj/structure/extinguisher_cabinet{ + pixel_y = -30 + }, +/turf/open/floor/plasteel/dark, +/area/science/lab) +"aZk" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/clothing/glasses/welding, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/dark, +/area/science/lab) +"aZl" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai_upload) +"aZm" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/theatre) +"aZn" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/machinery/door/window/westleft{ + dir = 4; + name = "Upload Access"; + pixel_x = 6; + req_access_txt = "16" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai_upload) +"aZo" = ( +/obj/structure/window/reinforced{ + dir = 1; + pixel_y = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/turretid{ + control_area = "/area/ai_monitored/turret_protected/ai_upload"; + icon_state = "control_stun"; + name = "AI Upload turret control"; + pixel_y = 26 + }, +/turf/open/floor/plasteel, +/area/ai_monitored/turret_protected/ai_upload) +"aZp" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/stack/cable_coil{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/stack/cable_coil, +/obj/item/stack/packageWrap{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/storage/toolbox/mechanical, +/obj/item/hand_labeler, +/turf/open/floor/plasteel/dark, +/area/science/lab) +"aZq" = ( +/obj/machinery/door/poddoor/shutters{ + id = "coldroom"; + name = "Coldroom Shutters" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/kitchen) +"aZr" = ( +/turf/closed/wall/r_wall, +/area/science/research) +"aZs" = ( +/obj/structure/transit_tube/station/reverse/flipped{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1; + pixel_y = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/ai_upload) +"aZt" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark, +/area/science/research) +"aZu" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/landmark/blobstart, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) +"aZv" = ( +/turf/closed/wall, +/area/science/explab) +"aZx" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/chair/stool/bar{ + pixel_x = 4; + pixel_y = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/landmark/start/mime, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/theatre) +"aZy" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/item/folder, +/obj/item/pen, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "robotics_shutters"; + name = "Robotics Privacy Shutters" + }, +/obj/machinery/door/window/northleft{ + name = "Robotics Desk"; + req_access_txt = "29" + }, +/turf/open/floor/plating, +/area/science/robotics/lab) +"aZz" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/bar/atrium) +"aZA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/grille, +/obj/structure/sign/warning/electricshock{ + pixel_x = -32 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"aZB" = ( +/mob/living/simple_animal/hostile/retaliate/goat{ + name = "Pete" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) +"aZC" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/cell_charger, +/obj/item/assembly/prox_sensor{ + desc = "Used for scanning and alerting when someone enters a certain proximity. This one is slightly shifted to the left."; + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/assembly/prox_sensor{ + desc = "Used for scanning and alerting when someone enters a certain proximity. This one is slightly shifted to the left."; + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/assembly/prox_sensor{ + desc = "Used for scanning and alerting when someone enters a certain proximity. This one is slightly shifted to the left."; + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/assembly/prox_sensor{ + desc = "Used for scanning and alerting when someone enters a certain proximity. This one is slightly shifted to the left."; + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/stock_parts/cell/high/plus, +/obj/item/stock_parts/cell/high/plus, +/obj/item/stock_parts/cell/high/plus, +/obj/item/crowbar/red, +/obj/item/toy/figure/roboticist{ + pixel_x = 6 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"aZD" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) +"aZE" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/lab) +"aZF" = ( +/turf/closed/wall/r_wall, +/area/science/server) +"aZG" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/start/scientist, +/turf/open/floor/plasteel/showroomfloor, +/area/science/research) +"aZH" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/bar/atrium) +"aZI" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate/goldcrate, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/item/crowbar/power, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/nuke_storage) +"aZJ" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/mech_bay_recharge_floor, +/area/science/robotics/mechbay) +"aZK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/science/robotics/mechbay) +"aZL" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/item/folder, +/obj/item/pen, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "research_shutters"; + name = "Research Privacy Shutter" + }, +/obj/machinery/door/window/eastright{ + name = "Research Lab Desk"; + req_one_access_txt = "7;29" + }, +/turf/open/floor/plating, +/area/science/lab) +"aZM" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering/glass{ + name = "Server Room"; + req_access_txt = "61" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"aZN" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/bar/atrium) +"aZO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aZP" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/bar/atrium) +"aZQ" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/light, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/lab) +"aZR" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/door/airlock/security/glass{ + name = "Transferring Centre"; + req_access_txt = "63" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"aZS" = ( +/turf/closed/wall/r_wall, +/area/science/robotics/lab) +"aZT" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/sink{ + dir = 8; + pixel_x = -12 + }, +/obj/effect/landmark/start/roboticist, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"aZU" = ( +/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/item/surgical_drapes, +/obj/item/retractor, +/obj/item/cautery, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1; + pixel_y = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"aZV" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/central) +"aZW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"aZX" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/science/research) +"aZY" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/heads/hor) +"aZZ" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/lab) +"baa" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/delivery, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/lab) +"bab" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/power/apc{ + areastring = "/area/science/lab"; + name = "Research Lab APC"; + pixel_y = -26 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/lab) +"bac" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/theatre) +"bad" = ( +/obj/machinery/computer/rdconsole/robotics{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/requests_console{ + department = "Robotics"; + departmentType = 2; + name = "Robotics RC"; + pixel_x = 30; + receive_ore_updates = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bae" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/chemistry) +"baf" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/closet/emcloset/anchored, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"bag" = ( +/obj/machinery/door/window/northright{ + base_state = "left"; + dir = 8; + icon_state = "left"; + name = "Library Desk Door"; + req_access_txt = "37" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/grimy, +/area/library) +"bah" = ( +/turf/closed/wall, +/area/science/robotics/lab) +"bai" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/science/robotics/lab) +"baj" = ( +/obj/structure/table, +/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/item/circular_saw, +/obj/item/scalpel{ + pixel_y = 16 + }, +/obj/item/hemostat, +/obj/structure/window/reinforced{ + dir = 1; + pixel_y = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bak" = ( +/obj/machinery/computer/operating{ + dir = 1; + name = "Robotics Operating Computer" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/light, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bal" = ( +/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/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/bar/atrium) +"ban" = ( +/turf/closed/wall, +/area/science/robotics/mechbay) +"bap" = ( +/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/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/bar/atrium) +"baq" = ( +/obj/structure/sign/warning/vacuum{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/engine/vacuum, +/area/science/mixing/chamber) +"bar" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"bas" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table, +/obj/machinery/computer/med_data/laptop, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bat" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table, +/obj/item/folder/white, +/obj/item/retractor, +/obj/item/hemostat, +/obj/machinery/vending/wallmed{ + pixel_y = 30 + }, +/obj/machinery/camera{ + c_tag = "Operating Theatre"; + name = "medical camera"; + network = list("ss13","medical") + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bau" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table, +/obj/item/circular_saw, +/obj/item/surgicaldrill{ + pixel_y = 5 + }, +/obj/item/healthanalyzer, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bav" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + name = "Control Room"; + req_access_txt = "19; 61" + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"baw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/grimy, +/area/library) +"bax" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/research) +"bay" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table, +/obj/item/surgical_drapes, +/obj/item/scalpel{ + pixel_y = 5 + }, +/obj/item/cautery, +/obj/machinery/light_switch{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"baz" = ( +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/plasteel/showroomfloor, +/area/science/storage) +"baA" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table, +/obj/item/clipboard{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/book/manual/wiki/surgery, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/mask/surgical, +/obj/item/clothing/suit/apron/surgical, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 28 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"baB" = ( +/obj/machinery/computer/med_data{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"baC" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/science/mixing) +"baD" = ( +/obj/structure/table/reinforced, +/obj/item/wrench, +/obj/item/transfer_valve{ + pixel_x = -4 + }, +/obj/item/transfer_valve{ + pixel_x = -4 + }, +/obj/item/transfer_valve, +/obj/item/transfer_valve, +/obj/item/transfer_valve{ + pixel_x = 4 + }, +/obj/item/transfer_valve{ + pixel_x = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"baE" = ( +/obj/structure/table/reinforced, +/obj/item/wirecutters{ + pixel_y = 5 + }, +/obj/item/assembly/prox_sensor{ + desc = "Used for scanning and alerting when someone enters a certain proximity. This one is slightly shifted to the left."; + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/assembly/prox_sensor{ + desc = "Used for scanning and alerting when someone enters a certain proximity. This one is slightly shifted to the left."; + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/assembly/prox_sensor{ + desc = "Used for scanning and alerting when someone enters a certain proximity. This one is slightly shifted to the left."; + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/assembly/prox_sensor{ + desc = "Used for scanning and alerting when someone enters a certain proximity. This one is slightly shifted to the left."; + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/assembly/igniter{ + desc = "A small electronic device able to ignite combustible substances. This one goes slightly to the right."; + pixel_x = 6 + }, +/obj/item/assembly/igniter{ + desc = "A small electronic device able to ignite combustible substances. This one goes slightly to the right."; + pixel_x = 6 + }, +/obj/item/assembly/igniter{ + desc = "A small electronic device able to ignite combustible substances. This one goes slightly to the right."; + pixel_x = 6 + }, +/obj/item/assembly/igniter{ + desc = "A small electronic device able to ignite combustible substances. This one goes slightly to the right."; + pixel_x = 6 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"baF" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security{ + name = "Transferring Centre"; + req_access_txt = "63" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/mapping_helpers/airlock/unres, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"baG" = ( +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/science/storage) +"baH" = ( +/turf/closed/wall, +/area/maintenance/starboard/fore) +"baI" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/surgery) +"baJ" = ( +/obj/machinery/rnd/server, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/science/server) +"baK" = ( +/obj/structure/table/reinforced, +/obj/item/clipboard, +/obj/item/pipe_dispenser, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"baM" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/public/glass{ + name = "Atrium" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"baN" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/surgery) +"baO" = ( +/obj/structure/bed, +/obj/machinery/iv_drip, +/obj/effect/turf_decal/bot_white/right, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/bedsheet/medical, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"baP" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + external_pressure_bound = 140; + name = "server vent"; + pressure_checks = 0 + }, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/science/server) +"baQ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"baR" = ( +/obj/machinery/vending/wardrobe/chem_wardrobe, +/obj/structure/window/reinforced, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/power/apc{ + areastring = "/area/medical/chemistry"; + dir = 8; + name = "Chemistry APC"; + pixel_x = -24 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"baS" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/portable_atmospherics/pump, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"baT" = ( +/obj/structure/closet/secure_closet/security/med, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/structure/reagent_dispensers/peppertank{ + pixel_y = -30 + }, +/obj/item/crowbar, +/obj/item/book/manual/wiki/security_space_law, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/medical) +"baU" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/checkpoint/science/research) +"baW" = ( +/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) +"baX" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/toxins_mixing_input, +/obj/machinery/sparker/toxmix{ + name = "chamber igniter"; + pixel_x = -16 + }, +/turf/open/floor/engine/vacuum, +/area/science/mixing/chamber) +"baY" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/science/storage) +"baZ" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/chemistry) +"bba" = ( +/turf/closed/wall, +/area/science/storage) +"bbb" = ( +/turf/closed/wall, +/area/security/checkpoint/science/research) +"bbc" = ( +/turf/closed/wall/r_wall, +/area/science/storage) +"bbe" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/item/reagent_containers/glass/beaker/large{ + pixel_x = -7 + }, +/obj/item/reagent_containers/glass/beaker/large{ + pixel_x = -7 + }, +/obj/item/reagent_containers/glass/beaker{ + pixel_x = 7 + }, +/obj/item/reagent_containers/glass/beaker{ + pixel_x = 7 + }, +/obj/item/reagent_containers/dropper{ + pixel_y = 6 + }, +/obj/item/reagent_containers/dropper, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/machinery/camera{ + c_tag = "Chemistry"; + dir = 1; + name = "medical camera"; + network = list("ss13","medical") + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/chemistry) +"bbf" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/chemistry) +"bbg" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bbh" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Library" + }, +/turf/open/floor/plasteel/dark, +/area/library) +"bbi" = ( +/turf/closed/wall/r_wall, +/area/science/mixing/chamber) +"bbj" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/storage/box/disks_nanite{ + pixel_y = 4 + }, +/obj/item/hand_labeler, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bbk" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/table/wood, +/obj/item/stack/packageWrap, +/obj/item/stack/packageWrap, +/obj/item/vending_refill/cigarette, +/obj/item/hand_labeler, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bbl" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bbm" = ( +/obj/structure/table/reinforced, +/obj/item/assembly/timer{ + desc = "Used to time things. Works well with contraptions which has to count down. Tick tock. But slightly shifted to the left."; + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/assembly/timer{ + desc = "Used to time things. Works well with contraptions which has to count down. Tick tock. But slightly shifted to the left."; + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/assembly/timer{ + desc = "Used to time things. Works well with contraptions which has to count down. Tick tock. But slightly shifted to the left."; + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/assembly/timer{ + desc = "Used to time things. Works well with contraptions which has to count down. Tick tock. But slightly shifted to the left."; + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/assembly/signaler{ + desc = "Used to remotely activate devices. Allows for syncing when using a secure signaler on another. Slightly scooted."; + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/assembly/signaler{ + desc = "Used to remotely activate devices. Allows for syncing when using a secure signaler on another. Slightly scooted."; + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/assembly/signaler{ + desc = "Used to remotely activate devices. Allows for syncing when using a secure signaler on another. Slightly scooted."; + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/assembly/signaler{ + desc = "Used to remotely activate devices. Allows for syncing when using a secure signaler on another. Slightly scooted."; + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/screwdriver{ + pixel_y = 6 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bbn" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Toxins Mixers"; + dir = 8; + name = "science camera"; + network = list("ss13","rd") + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bbo" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"bbp" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bbq" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/chem_master/condimaster{ + desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; + name = "BrewMaster 2199" + }, +/obj/machinery/light_switch{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bbr" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/table, +/obj/machinery/reagentgrinder{ + pixel_y = 5 + }, +/obj/machinery/newscaster{ + pixel_x = 30 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bbs" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bbt" = ( +/obj/machinery/air_sensor/atmos/toxins_mixing_tank, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/engine/vacuum, +/area/science/mixing/chamber) +"bbv" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/power/apc{ + areastring = "/area/science/mixing"; + dir = 4; + name = "Toxins Lab APC"; + pixel_x = 26 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bbw" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/engine/vacuum, +/area/science/mixing/chamber) +"bbx" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"bby" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible, +/turf/closed/wall/r_wall, +/area/science/mixing/chamber) +"bbz" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/turf_decal/box, +/obj/structure/disposalpipe/junction/flip, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bbA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/science/mixing/chamber) +"bbB" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/meter, +/obj/machinery/light_switch{ + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bbC" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1 + }, +/obj/machinery/airlock_sensor/incinerator_toxmix{ + pixel_x = -24 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/mixing/chamber) +"bbD" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_toxmix{ + dir = 8 + }, +/obj/effect/landmark/blobstart, +/turf/open/floor/engine, +/area/science/mixing/chamber) +"bbE" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bbF" = ( +/obj/machinery/atmospherics/components/binary/pump, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/mixing/chamber) +"bbG" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai_upload) +"bbH" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bbI" = ( +/obj/machinery/doppler_array/research/science{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bbJ" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/item/multitool, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bbK" = ( +/obj/machinery/door/airlock/research/glass/incinerator/toxmix_interior, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/engine, +/area/science/mixing/chamber) +"bbL" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger{ + pixel_y = 5 + }, +/obj/item/stock_parts/cell/high, +/obj/item/stock_parts/cell/high, +/obj/item/stock_parts/cell/high, +/obj/item/stock_parts/cell/high, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/integrated_electronics/analyzer, +/obj/machinery/computer/security/telescreen/circuitry{ + pixel_y = 30 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bbM" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/clipboard, +/obj/item/nanite_remote{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/nanite_scanner{ + pixel_x = 4 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bbN" = ( +/turf/closed/wall, +/area/science/mixing) +"bbO" = ( +/obj/machinery/portable_atmospherics/canister/carbon_dioxide, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_x = -24; + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/science/storage) +"bbP" = ( +/obj/machinery/portable_atmospherics/canister/carbon_dioxide, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/storage) +"bbQ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research/glass{ + name = "Robotics Lab"; + req_access_txt = "29" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "robotics_shutters"; + name = "Robotics Privacy Shutters" + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bbR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/grille, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"bbS" = ( +/obj/machinery/atmospherics/components/trinary/mixer/flipped{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bbT" = ( +/obj/machinery/portable_atmospherics/scrubber/huge, +/obj/effect/turf_decal/delivery, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/storage) +"bbU" = ( +/obj/machinery/computer/upload/borg, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/window/westleft{ + dir = 1; + layer = 3.1; + name = "Cyborg Upload Console Window"; + req_access_txt = "16" + }, +/obj/structure/window/reinforced, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai_upload) +"bbV" = ( +/obj/machinery/computer/upload/ai, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/window/westleft{ + base_state = "right"; + dir = 1; + icon_state = "right"; + layer = 3.1; + name = "Upload Console Window"; + req_access_txt = "16" + }, +/obj/structure/window/reinforced, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai_upload) +"bbW" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/components/unary/thermomachine/heater{ + dir = 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/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bbX" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible, +/obj/structure/sign/warning/fire, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/science/mixing/chamber) +"bbY" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai_upload) +"bbZ" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/door/window/westright{ + dir = 4; + name = "Upload Access"; + pixel_x = 6; + req_access_txt = "16" + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai_upload) +"bca" = ( +/obj/machinery/door/airlock/research/glass/incinerator/toxmix_exterior, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/mixing/chamber) +"bcb" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen{ + desc = "Used for watching the test chamber."; + dir = 8; + layer = 4; + name = "Test Chamber Telescreen"; + network = list("toxins"); + pixel_x = 30 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bcc" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bcd" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bce" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bcf" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/science/mixing/chamber) +"bcg" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/science/mixing/chamber) +"bch" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "research_shutters"; + name = "Research Privacy Shutter" + }, +/obj/machinery/door/airlock/research/glass{ + name = "Research Lab"; + req_one_access_txt = "7;29" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/lab) +"bci" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/clothing/gloves/color/latex{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/glasses/science{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/glasses/science, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Toxins Launch Site"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = 28 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bcj" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/science/mixing/chamber) +"bck" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/storage) +"bcl" = ( +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/storage) +"bcm" = ( +/obj/structure/window/reinforced, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/ai_monitored/turret_protected/ai_upload) +"bcn" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/scrubber{ + name = "scrubber ducky" + }, +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/science/storage"; + dir = 1; + name = "Toxins Storage APC"; + pixel_y = 25 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/storage) +"bco" = ( +/obj/structure/transit_tube/horizontal{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/ai_upload) +"bcp" = ( +/obj/machinery/portable_atmospherics/scrubber/huge, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/science/storage) +"bcq" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/camera{ + c_tag = "AI Upload Transit Exterior"; + dir = 8; + name = "upload camera"; + network = list("aiupload") + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"bcr" = ( +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/storage) +"bcs" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/pump, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera{ + c_tag = "Toxins Pumps"; + dir = 1; + name = "science camera"; + network = list("ss13","rd") + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bct" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/storage) +"bcu" = ( +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/science/storage) +"bcv" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/central) +"bcw" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/machinery/light_switch{ + pixel_x = 24 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) +"bcx" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + name = "Server Access"; + req_access_txt = "30" + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/server) +"bcy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"bcz" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/engine/vacuum, +/area/science/test_area) +"bcA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/closed/wall/r_wall, +/area/science/mixing/chamber) +"bcB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/grey_tide{ + pixel_y = 32 + }, +/obj/machinery/vending/kink, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"bcC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/button/door{ + id = "greylair"; + name = "Lair Privacy Toggle"; + pixel_y = 24 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"bcD" = ( +/turf/closed/wall/rust, +/area/science/mixing) +"bcE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"bcF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port) +"bcG" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/surgery) +"bcH" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ + dir = 1; + external_pressure_bound = 120; + name = "server vent" + }, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/science/server) +"bcI" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bcJ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/closed/wall/r_wall, +/area/science/mixing/chamber) +"bcK" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/surgery) +"bcL" = ( +/obj/structure/table/reinforced, +/obj/item/wrench, +/obj/item/book/manual/wiki/toxins{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/mask/gas{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/mask/gas, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bcM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/closed/wall/r_wall, +/area/science/mixing/chamber) +"bcN" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/landmark/event_spawn, +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/surgery) +"bcO" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/surgery) +"bcP" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/surgery) +"bcQ" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/button/massdriver{ + id = "toxinsdriver"; + pixel_x = 24; + pixel_y = -24 + }, +/obj/machinery/computer/security/telescreen{ + desc = "Used for watching the test chamber."; + dir = 8; + layer = 4; + name = "Test Chamber Telescreen"; + network = list("toxins"); + pixel_x = 30 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light/small, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bcR" = ( +/obj/item/target, +/obj/item/target/syndicate, +/obj/item/target/alien, +/obj/item/target/clown, +/obj/structure/closet/crate/secure{ + desc = "A secure crate containing various materials for building a customised test-site."; + name = "Test Site Materials Crate"; + req_access_txt = "8" + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bcS" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bcT" = ( +/obj/structure/bed, +/obj/machinery/iv_drip, +/obj/effect/turf_decal/bot_white/right, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/bedsheet/medical, +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/sign/warning/biohazard{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bcU" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/neutral, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-10" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bcV" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/camera{ + c_tag = "Port Hallway Chemistry Desk"; + dir = 8; + name = "port camera" + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/port) +"bcW" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/rack, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/wrench, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/crowbar/red, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bcX" = ( +/obj/structure/table/glass, +/obj/machinery/smartfridge/disks{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/seeds/random{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/seeds/wheat{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/seeds/sugarcane{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/seeds/potato{ + pixel_x = -1; + pixel_y = 1 + }, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/toy/figure/botanist{ + pixel_x = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Hydroponics"; + name = "hydroponics camera" + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bcY" = ( +/obj/structure/grille/broken, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "coldroom"; + name = "Coldroom Shutter Toggle"; + pixel_x = 24; + pixel_y = 6; + req_access_txt = "28" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/central) +"bcZ" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/machinery/button/door{ + id = "coldroom"; + name = "Coldroom Shutter Toggle"; + pixel_x = -24; + pixel_y = 6; + req_access_txt = "28" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) +"bda" = ( +/obj/machinery/door/firedoor/heavy, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/science/mixing/chamber) +"bdb" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/explab) +"bdc" = ( +/obj/structure/table, +/obj/item/storage/box/beakers{ + pixel_y = 5 + }, +/obj/item/stack/cable_coil, +/obj/machinery/button/door{ + id = "telelab"; + name = "Test Chamber Toggle"; + pixel_x = -24 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"bdd" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/structure/table/optable{ + name = "Robotics Operating Table" + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bde" = ( +/obj/structure/sign/warning/fire{ + pixel_y = 32 + }, +/obj/machinery/camera{ + c_tag = "Experimenter Chamber"; + name = "science camera"; + network = list("ss13","rd") + }, +/turf/open/floor/engine, +/area/science/explab) +"bdf" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"bdg" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) +"bdh" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/closed/wall/r_wall, +/area/science/mixing/chamber) +"bdi" = ( +/turf/closed/wall/r_wall, +/area/crew_quarters/heads/hor) +"bdj" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/sorting/mail{ + dir = 1; + name = "chemistry sorting disposal pipe"; + sortType = 11 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"bdk" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/components/trinary/filter/atmos/o2, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/atmos) +"bdl" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering{ + name = "Telecommunications"; + req_access_txt = "61" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bdm" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/table, +/obj/item/clipboard, +/obj/item/cartridge/roboticist{ + pixel_x = -3 + }, +/obj/item/cartridge/signal/toxins{ + pixel_x = 6 + }, +/obj/item/cartridge/signal/toxins, +/obj/item/cartridge/signal/toxins, +/obj/item/circuitboard/aicore{ + pixel_y = 5 + }, +/obj/item/hand_labeler, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hor) +"bdn" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/lipstick/random{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/lipstick/random{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/lipstick/random{ + pixel_x = 6 + }, +/obj/item/pen, +/obj/structure/sign/poster/official/do_not_question{ + pixel_x = 30 + }, +/obj/machinery/camera{ + c_tag = "Backstage"; + name = "diner camera" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/theatre) +"bdo" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) +"bdp" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/science/xenobiology) +"bdq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/airlock/medical/glass{ + name = "Chemistry Lab"; + req_access_txt = "5; 33" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bdr" = ( +/obj/machinery/chem_heater{ + pixel_x = 6 + }, +/obj/effect/turf_decal/bot, +/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/machinery/requests_console{ + department = "Chemistry"; + departmentType = 2; + name = "Chemistry RC"; + pixel_x = 30; + pixel_y = 28; + receive_ore_updates = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bds" = ( +/obj/machinery/computer/aifixer{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hor) +"bdt" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/science/xenobiology) +"bdu" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/computer/atmos_control/tank/oxygen_tank{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/atmos) +"bdv" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/toy/figure/rd{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/item/stamp/rd{ + pixel_x = 8 + }, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hor) +"bdw" = ( +/obj/machinery/computer/card/minor/rd{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Research Director's Desk"; + departmentType = 5; + name = "Research Director RC"; + pixel_x = 30; + receive_ore_updates = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hor) +"bdx" = ( +/obj/machinery/computer/robotics{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hor) +"bdy" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/sign/poster/official/cleanliness{ + pixel_y = -32 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) +"bdz" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/item/clothing/head/chefhat{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/kitchen/rollingpin{ + pixel_x = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bdA" = ( +/obj/item/radio/intercom{ + pixel_x = -28 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/turf/open/floor/engine, +/area/science/explab) +"bdB" = ( +/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/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/power/apc{ + areastring = "/area/crew_quarters/kitchen"; + dir = 1; + name = "Kitchen APC"; + pixel_y = 26 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/kitchen) +"bdC" = ( +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "Bridge Blast door" + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bdD" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on, +/turf/open/floor/engine, +/area/science/xenobiology) +"bdE" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet{ + name = "kitchen closet" + }, +/obj/item/clothing/under/rank/chef{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/suit/toggle/chef, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bdF" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/kitchen) +"bdG" = ( +/obj/machinery/computer/rdconsole/core{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/turf/open/floor/plasteel/dark, +/area/science/lab) +"bdH" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen{ + desc = "Used for watching the RD's goons from the safety of his office."; + dir = 1; + name = "Research Monitor"; + network = list("rd") + }, +/obj/machinery/newscaster/security_unit{ + pixel_y = -30 + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/science/research) +"bdI" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/suit/apron/surgical, +/obj/item/clothing/mask/surgical, +/obj/item/mmi, +/obj/item/mmi, +/obj/item/mmi, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bdJ" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/airlock/research{ + id_tag = "ResearchInt"; + name = "Research Division"; + req_one_access_txt = "47" + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bdK" = ( +/obj/structure/rack, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/item/gun/energy/e_gun/dragnet{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/gun/energy/e_gun/dragnet, +/obj/item/gun/energy/e_gun/advtaser, +/obj/item/gun/energy/e_gun/advtaser, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"bdL" = ( +/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/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/landmark/start/cook, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/kitchen) +"bdM" = ( +/obj/machinery/rnd/production/circuit_imprinter/department/science, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/requests_console{ + department = "Science"; + departmentType = 2; + name = "Science RC"; + pixel_x = 30; + receive_ore_updates = 1 + }, +/obj/structure/window/reinforced, +/turf/open/floor/plasteel/dark, +/area/science/lab) +"bdN" = ( +/obj/structure/girder, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bdO" = ( +/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/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bdP" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/sign/directions/evac{ + dir = 4; + pixel_y = 24 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bdQ" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"bdR" = ( +/obj/structure/table, +/obj/item/folder{ + pixel_x = -6 + }, +/obj/item/book/manual/wiki/experimentor, +/obj/item/pen, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"bdS" = ( +/obj/effect/turf_decal/box/corners, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/turf/open/floor/engine, +/area/science/explab) +"bdT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"bdU" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/sign/directions/medical{ + dir = 8; + pixel_x = 32; + pixel_y = 8 + }, +/obj/structure/sign/directions/security{ + pixel_x = 32 + }, +/obj/structure/sign/directions/command{ + pixel_x = 32; + pixel_y = -8 + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"bdV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bdW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard) +"bdX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"bdY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bdZ" = ( +/obj/effect/turf_decal/bot, +/obj/structure/ore_box, +/turf/open/floor/plating, +/area/maintenance/port) +"bea" = ( +/obj/structure/chair/office/light, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/effect/landmark/start/depsec/science, +/turf/open/floor/plasteel/showroomfloor, +/area/security/checkpoint/science/research) +"beb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bec" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"bed" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/chair/office, +/turf/open/floor/plating, +/area/maintenance/port) +"bee" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port) +"bef" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/structure/closet/secure_closet/medical2, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/surgery) +"beg" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/computer/operating{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/machinery/light/small, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/surgery) +"beh" = ( +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/dark, +/area/science/storage) +"bei" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/surgery) +"bej" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/structure/mirror{ + pixel_x = 28 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/surgery) +"bek" = ( +/obj/structure/bed/roller, +/obj/machinery/iv_drip, +/obj/effect/turf_decal/bot_white/left, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bel" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bem" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/sink{ + pixel_y = 26 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/virology) +"ben" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/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/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/storage) +"beo" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/grille, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/fore) +"bep" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/research) +"beq" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/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/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/virology) +"ber" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/bot, +/obj/structure/sign/warning/fire{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/science/storage) +"bes" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bet" = ( +/obj/machinery/recharge_station, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/mechbay) +"beu" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/sign/directions/science{ + dir = 4; + pixel_x = -32; + pixel_y = 8 + }, +/obj/structure/sign/directions/supply{ + pixel_x = -32 + }, +/obj/structure/sign/directions/engineering{ + pixel_x = -32; + pixel_y = -8 + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"bev" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bew" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + dir = 8; + freq = 1400; + location = "Hydroponics" + }, +/obj/structure/plasticflaps/opaque, +/obj/machinery/door/window/eastright{ + name = "Hydroponics Delivery Access"; + req_access_txt = "35" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bex" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/airlock/research{ + name = "Toxins Lab"; + req_access_txt = "8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bey" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + name = "Bar Storage"; + req_access_txt = "25" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bez" = ( +/obj/machinery/status_display/ai, +/turf/closed/wall/r_wall, +/area/science/robotics/lab) +"beA" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"beB" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"beC" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/central) +"beD" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/science/research) +"beE" = ( +/obj/structure/table/reinforced, +/obj/item/integrated_electronics/debugger, +/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/clothing/glasses/science, +/obj/item/clothing/glasses/science, +/obj/item/stack/sheet/metal/ten, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/science/research) +"beF" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"beG" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/noticeboard{ + pixel_y = 28 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"beH" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/science/mixing) +"beI" = ( +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/effect/turf_decal/bot, +/obj/structure/sign/warning/nosmoking{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/science/storage) +"beJ" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/sink{ + dir = 8; + pixel_x = -12 + }, +/obj/machinery/camera{ + c_tag = "Kitchen"; + dir = 4; + name = "diner camera" + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/kitchen) +"beK" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall/rust, +/area/maintenance/starboard) +"beL" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Atrium" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"beM" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Transit Access"; + req_access_txt = "19" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"beN" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/crew_quarters/bar"; + name = "Bar APC"; + pixel_y = -26 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"beO" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"beP" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate, +/obj/structure/grille/broken, +/obj/item/clothing/gloves/color/fyellow, +/obj/item/flashlight, +/obj/item/flashlight/flare, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"beQ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/maintenance/starboard) +"beR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/starboard) +"beS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/cardboard, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 30 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"beT" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"beU" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 4; + name = "O2 to Airmix" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/atmos) +"beV" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/security{ + name = "Prison Wing"; + req_access_txt = "2" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"beW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"beX" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/item/storage/firstaid/o2, +/obj/item/tank/internals/emergency_oxygen, +/turf/open/floor/plating, +/area/maintenance/port) +"beY" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/science/xenobiology) +"beZ" = ( +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"bfa" = ( +/obj/machinery/computer/secure_data{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + name = "Science Checkpoint RC"; + pixel_y = -30 + }, +/obj/machinery/light, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/science/research) +"bfb" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"bfc" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/bot, +/obj/structure/closet/l3closet, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"bfd" = ( +/obj/machinery/processor/slime, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/window/reinforced, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bfe" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/engine/engineering) +"bff" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"bfg" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table, +/obj/item/soap/nanotrasen, +/obj/item/clothing/neck/stethoscope, +/obj/item/hand_labeler, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bfh" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/shower{ + dir = 4; + name = "emergency shower" + }, +/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 = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/virology) +"bfi" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/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/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/virology) +"bfj" = ( +/obj/structure/flora/junglebush, +/obj/structure/flora/ausbushes/sunnybush, +/obj/item/reagent_containers/food/snacks/grown/banana, +/obj/structure/flora/ausbushes/ywflowers, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/mob/living/carbon/monkey, +/turf/open/floor/grass, +/area/medical/virology) +"bfk" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bfl" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bfm" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bfn" = ( +/obj/machinery/computer/mech_bay_power_console{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/science/robotics/mechbay) +"bfo" = ( +/obj/machinery/light/floor, +/obj/effect/turf_decal/box, +/turf/open/floor/engine, +/area/science/xenobiology) +"bfp" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/box, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/science/xenobiology) +"bfq" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"bfr" = ( +/obj/structure/sign/warning/biohazard, +/turf/closed/wall, +/area/science/mixing) +"bfs" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"bft" = ( +/obj/effect/turf_decal/box/corners, +/turf/open/floor/engine, +/area/science/xenobiology) +"bfu" = ( +/obj/structure/table, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/recharger, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc{ + areastring = "/area/crew_quarters/heads/hor"; + dir = 1; + name = "RD Office APC"; + pixel_y = 26 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hor) +"bfv" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/library) +"bfw" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/vending/wardrobe/bar_wardrobe, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bfx" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/landmark/start/scientist, +/turf/open/floor/plasteel/dark, +/area/science/lab) +"bfy" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/closet/secure_closet/bar{ + req_access_txt = "25" + }, +/obj/item/flashlight/lantern, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 28 + }, +/obj/machinery/camera{ + c_tag = "Bar Storage"; + dir = 1; + name = "bar camera" + }, +/obj/structure/mirror{ + pixel_y = -32 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bfz" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/command{ + name = "Research Director's Office"; + req_access_txt = "30" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hor) +"bfA" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"bfB" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/displaycase/labcage, +/obj/effect/turf_decal/box, +/obj/machinery/light, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hor) +"bfC" = ( +/obj/structure/table, +/obj/machinery/recharger, +/obj/machinery/newscaster/security_unit{ + pixel_x = -30 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bfD" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/surgery) +"bfE" = ( +/obj/structure/table, +/obj/item/crowbar/red, +/obj/item/wrench, +/obj/item/restraints/handcuffs, +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/obj/machinery/camera{ + c_tag = "Departures Holding Area"; + name = "shuttle camera" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bfF" = ( +/obj/structure/chair, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bfG" = ( +/obj/structure/chair, +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bfH" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Starboard Hallway Kitchen Counter"; + dir = 4; + name = "starboard camera" + }, +/obj/structure/sign/directions/evac{ + pixel_y = 24 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/disposal/bin, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bfI" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bfJ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"bfK" = ( +/obj/structure/table/reinforced, +/obj/machinery/computer/security/telescreen{ + name = "Test Chamber Monitor"; + network = list("xeno"); + pixel_y = 2 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bfL" = ( +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/palebush, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"bfM" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xeno5"; + name = "Creature Cell 5" + }, +/turf/open/floor/plating, +/area/science/xenobiology) +"bfN" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"bfO" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/research/glass{ + name = "Research Lab"; + req_one_access_txt = "7;29" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/science/lab) +"bfP" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"bfQ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xeno6"; + name = "Creature Cell 6" + }, +/turf/open/floor/plating, +/area/science/xenobiology) +"bfR" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bfS" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"bfT" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/fernybush, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"bfU" = ( +/obj/effect/landmark/blobstart, +/turf/open/floor/engine, +/area/science/xenobiology) +"bfV" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/bz, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/button/door{ + id = "xeno5"; + name = "Creature Cell 5 Toggle"; + pixel_x = -24; + pixel_y = -24; + req_access_txt = "55" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bfW" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"bfX" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"bfY" = ( +/obj/machinery/camera{ + c_tag = "Xenobiology Test Chamber"; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"bfZ" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{ + name = "euthanization chamber freezer" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bga" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"bgb" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/power/apc{ + areastring = "/area/maintenance/central"; + dir = 4; + name = "Central Maintenance APC"; + pixel_x = 26 + }, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/central) +"bgc" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/computer/prisoner/gulag_teleporter_computer{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"bgd" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"bge" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/central) +"bgf" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/central) +"bgg" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bgh" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/sign/directions/medical{ + dir = 1; + pixel_x = 32; + pixel_y = 8 + }, +/obj/structure/sign/directions/command{ + pixel_x = 32 + }, +/obj/structure/sign/directions/security{ + pixel_x = 32; + pixel_y = -8 + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"bgi" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"bgj" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/research) +"bgk" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/obj/machinery/vending/wardrobe/science_wardrobe, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Experimenter Lab"; + dir = 8; + name = "science camera"; + network = list("ss13","rd") + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"bgl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/central) +"bgm" = ( +/obj/machinery/door/poddoor/preopen{ + id = "xeno2"; + name = "Creature Cell 2" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/northleft{ + base_state = "right"; + dir = 8; + icon_state = "right"; + name = "Creature Cell"; + req_access_txt = "55" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bgn" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/door/window/northleft{ + dir = 4; + name = "Creature Cell"; + req_access_txt = "55" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bgo" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/central) +"bgp" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/central) +"bgq" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/door/window/northleft{ + base_state = "right"; + dir = 8; + icon_state = "right"; + name = "Creature Cell"; + req_access_txt = "55" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bgr" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/vending/dinnerware, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/requests_console{ + department = "Kitchen"; + departmentType = 2; + name = "Kitchen RC"; + pixel_x = -30 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/kitchen) +"bgs" = ( +/obj/machinery/door/poddoor/preopen{ + id = "xeno4"; + name = "Creature Cell 4" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/northleft{ + dir = 4; + name = "Creature Cell"; + req_access_txt = "55" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bgt" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/quartermaster/miningoffice) +"bgu" = ( +/obj/effect/turf_decal/bot, +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/button/door{ + id = "xeno6"; + name = "Creature Cell 6 Toggle"; + pixel_x = 24; + pixel_y = -24; + req_access_txt = "55" + }, +/obj/item/extinguisher{ + pixel_y = 4 + }, +/obj/item/extinguisher{ + pixel_x = -4 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bgv" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/security/glass{ + name = "Research Security Post"; + req_access_txt = "63" + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/science/research) +"bgw" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/delivery, +/obj/structure/closet/l3closet/scientist, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/extinguisher, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bgx" = ( +/obj/structure/table/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/storage/toolbox/mechanical, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bgy" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/airlock/research{ + name = "Toxins Launch Room"; + req_access_txt = "8" + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bgz" = ( +/obj/machinery/light, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bgA" = ( +/obj/effect/turf_decal/bot, +/obj/structure/table, +/obj/item/hand_labeler, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/maintenance/port) +"bgB" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/clipboard{ + pixel_x = -4 + }, +/obj/item/storage/box/syringes{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/storage/box/beakers{ + pixel_y = 2 + }, +/obj/item/reagent_containers/spray/cleaner, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/button/door{ + id = "xeno2"; + name = "Creature Cell 2 Toggle"; + pixel_x = -24; + pixel_y = -24; + req_access_txt = "55" + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bgC" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xeno2"; + name = "Creature Cell 2" + }, +/turf/open/floor/plating, +/area/science/xenobiology) +"bgD" = ( +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"bgE" = ( +/obj/structure/table/glass, +/obj/machinery/reagentgrinder{ + pixel_y = 5 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bgF" = ( +/obj/machinery/smartfridge/extract/preloaded, +/turf/closed/wall, +/area/science/xenobiology) +"bgG" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"bgH" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/rack, +/obj/item/storage/box/masks{ + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"bgI" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xeno4"; + name = "Creature Cell 4" + }, +/turf/open/floor/plating, +/area/science/xenobiology) +"bgJ" = ( +/obj/machinery/monkey_recycler, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/button/door{ + id = "xeno4"; + name = "Creature Cell 4 Toggle"; + pixel_x = 24; + pixel_y = -24; + req_access_txt = "55" + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bgK" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2; + name = "qm sorting disposal pipe"; + sortType = 3 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bgL" = ( +/obj/structure/flora/junglebush/b, +/obj/structure/flora/ausbushes/ppflowers, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/camera{ + c_tag = "Virology Monkey Pen"; + dir = 4; + name = "medical camera"; + network = list("ss13","medical") + }, +/mob/living/carbon/monkey, +/turf/open/floor/grass, +/area/medical/virology) +"bgM" = ( +/obj/machinery/chem_heater, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/button/door{ + id = "xeno1"; + name = "Creature Cell 1 Toggle"; + pixel_x = -24; + pixel_y = 24; + req_access_txt = "55" + }, +/obj/structure/window/reinforced, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bgN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot_white, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/rack, +/obj/item/storage/toolbox/emergency{ + pixel_y = 5 + }, +/obj/item/clothing/under/color/grey, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"bgO" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/ywflowers, +/obj/machinery/light{ + dir = 4 + }, +/mob/living/carbon/monkey{ + name = "mankey" + }, +/turf/open/floor/grass, +/area/medical/virology) +"bgP" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/starboard) +"bgQ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"bgS" = ( +/obj/structure/sign/warning/electricshock{ + pixel_y = -32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"bgT" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/port) +"bgU" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bgV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/central) +"bgW" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/power/apc{ + areastring = "/area/science/research"; + name = "Research Division APC"; + pixel_y = -26 + }, +/obj/machinery/camera{ + c_tag = "Research Division"; + dir = 1; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/research) +"bgX" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/button/door{ + id = "xeno3"; + name = "Creature Cell 3 Toggle"; + pixel_x = 24; + pixel_y = 24; + req_access_txt = "55" + }, +/obj/structure/window/reinforced, +/obj/machinery/computer/camera_advanced/xenobio{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bgY" = ( +/obj/machinery/door/poddoor/preopen{ + id = "xeno1"; + name = "Creature Cell 1" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/northleft{ + base_state = "right"; + dir = 8; + icon_state = "right"; + name = "Creature Cell"; + req_access_txt = "55" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bgZ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/highsecurity{ + name = "AI Upload"; + req_access_txt = "16" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai_upload) +"bhb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/central) +"bhc" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xeno1"; + name = "Creature Cell 1" + }, +/turf/open/floor/plating, +/area/science/xenobiology) +"bhd" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/kitchen) +"bhe" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard) +"bhf" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xeno3"; + name = "Creature Cell 3" + }, +/turf/open/floor/plating, +/area/science/xenobiology) +"bhg" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/closet/l3closet/scientist, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/obj/item/extinguisher, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bhh" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/kitchen) +"bhi" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/kitchen) +"bhk" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/research{ + name = "Toxins Storage"; + req_access_txt = "8" + }, +/turf/open/floor/plasteel/dark, +/area/science/storage) +"bhl" = ( +/obj/structure/sign/departments/xenobio, +/turf/closed/wall/r_wall, +/area/science/xenobiology) +"bhm" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/kitchen) +"bhn" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall, +/area/science/xenobiology) +"bho" = ( +/obj/effect/landmark/xeno_spawn, +/obj/effect/spawner/lootdrop/two_percent_xeno_egg_spawner, +/turf/open/floor/engine, +/area/science/xenobiology) +"bhp" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/landmark/start/cook, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/kitchen) +"bhq" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall, +/area/maintenance/starboard) +"bhr" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/kitchen) +"bhs" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/item/folder/yellow, +/obj/item/flashlight, +/obj/machinery/door/window/westleft{ + dir = 4; + name = "Cargo Desk"; + req_access_txt = "50" + }, +/turf/open/floor/plating, +/area/quartermaster/office) +"bht" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/kitchen) +"bhu" = ( +/mob/living/simple_animal/slime, +/turf/open/floor/engine, +/area/science/xenobiology) +"bhv" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bhw" = ( +/obj/machinery/door/poddoor/preopen{ + id = "xeno3"; + name = "Creature Cell 3" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/northleft{ + dir = 4; + name = "Creature Cell"; + req_access_txt = "55" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bhx" = ( +/obj/structure/table, +/obj/item/clipboard, +/obj/item/wrench, +/obj/item/crowbar/red, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/obj/machinery/camera{ + c_tag = "Server Room"; + dir = 1; + name = "science camera"; + network = list("ss13","rd") + }, +/turf/open/floor/plasteel/showroomfloor, +/area/science/server) +"bhy" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/computer/cargo, +/obj/machinery/requests_console{ + department = "Cargo Bay"; + departmentType = 2; + name = "Cargo RC"; + pixel_y = 30 + }, +/obj/item/radio/intercom{ + pixel_x = -28; + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/office) +"bhz" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/quartermaster/office) +"bhA" = ( +/turf/open/space/basic, +/area/space/nearstation) +"bhB" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/stack/sheet/plasteel{ + amount = 10; + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/book/manual/wiki/robotics_cyborgs, +/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, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bhC" = ( +/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/bot, +/obj/structure/bodycontainer/morgue, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bhD" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/quartermaster/office) +"bhE" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/item/clipboard, +/obj/item/folder, +/obj/item/multitool, +/obj/item/pen/red, +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/obj/item/toy/figure/cargotech{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/item/toy/figure/miner{ + pixel_x = 8 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/office) +"bhF" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/stamp/qm{ + pixel_x = 8; + pixel_y = 10 + }, +/obj/item/stamp/denied{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/item/stamp{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/item/pen, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/qm) +"bhH" = ( +/turf/closed/wall, +/area/quartermaster/miningoffice) +"bhI" = ( +/turf/closed/wall, +/area/quartermaster/office) +"bhK" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + name = "Entertainment Backstage"; + req_access_txt = "46" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/theatre) +"bhL" = ( +/obj/structure/plasticflaps/opaque, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/quartermaster/sorting) +"bhM" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/item/folder/yellow, +/obj/item/stack/packageWrap, +/obj/item/gps{ + gpstag = "QM0"; + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/hand_labeler, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/qm) +"bhN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel, +/area/quartermaster/miningoffice) +"bhO" = ( +/obj/machinery/computer/bounty, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/newscaster{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/qm) +"bhP" = ( +/obj/machinery/computer/cargo, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/requests_console{ + department = "Cargo Bay"; + departmentType = 2; + name = "Quartermaster RC"; + pixel_y = 30 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24; + pixel_y = 28 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/qm) +"bhQ" = ( +/turf/closed/wall, +/area/quartermaster/storage) +"bhS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bhT" = ( +/obj/machinery/chem_dispenser{ + layer = 2.7 + }, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bhU" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port) +"bhV" = ( +/obj/machinery/computer/security/mining{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/status_display/evac{ + pixel_x = 32 + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = 28 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/miningoffice) +"bhW" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/quartermaster/miningoffice) +"bhX" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/quartermaster/office) +"bhY" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bhZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/emcloset{ + name = "plasmaperson emergency closet" + }, +/obj/item/clothing/under/plasmaman, +/obj/item/clothing/under/plasmaman, +/obj/item/clothing/head/helmet/space/plasmaman, +/obj/item/clothing/head/helmet/space/plasmaman, +/obj/item/tank/internals/plasmaman/belt/full, +/obj/item/tank/internals/plasmaman/belt/full, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"bia" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port) +"bib" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/l3closet, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"bic" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/surgery) +"bid" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Air to Room" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"bie" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bif" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Connector to Room" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"big" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/quartermaster/qm) +"bih" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/virology) +"bii" = ( +/obj/item/reagent_containers/food/snacks/grown/banana, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/grass, +/area/medical/virology) +"bij" = ( +/obj/structure/flora/junglebush/b, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/mob/living/carbon/monkey, +/turf/open/floor/grass, +/area/medical/virology) +"bik" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bil" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sign/departments/chemistry{ + pixel_x = -32 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bim" = ( +/obj/item/flashlight/lamp/green{ + pixel_x = -5; + pixel_y = 7 + }, +/obj/item/pen{ + pixel_x = 8; + pixel_y = 5 + }, +/obj/item/pen/red{ + pixel_x = 5; + pixel_y = 1 + }, +/obj/structure/table, +/obj/item/toy/figure/qm, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/quartermaster/qm) +"bio" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + dir = 8; + freq = 1400; + location = "QM #1" + }, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/oil, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/the_griffin{ + pixel_y = 32 + }, +/mob/living/simple_animal/bot/mulebot{ + beacon_freq = 1400; + home_destination = "QM #1"; + suffix = "#1" + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"bip" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/virology{ + name = "Virology Access"; + req_access_txt = "39" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"biq" = ( +/obj/structure/closet/wardrobe/miner, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/clothing/suit/hooded/wintercoat/miner, +/obj/item/clothing/suit/hooded/wintercoat/miner, +/obj/item/clothing/suit/hooded/wintercoat/miner, +/obj/machinery/power/apc{ + areastring = "/area/quartermaster/miningoffice"; + dir = 1; + name = "Mining Dock APC"; + pixel_y = 24 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/miningoffice) +"bir" = ( +/obj/structure/displaycase/trophy, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/sign/poster/official/pda_ad{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/grimy, +/area/library) +"bis" = ( +/obj/machinery/computer/shuttle/mining{ + dir = 8; + req_access = null + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/miningoffice) +"bit" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/ore_box, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/miningoffice) +"biu" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/closet/emcloset, +/turf/open/floor/plasteel/dark, +/area/quartermaster/miningoffice) +"biv" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"biw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/maintenance/central) +"bix" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/quartermaster/office) +"biy" = ( +/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/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/central) +"biz" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"biA" = ( +/obj/structure/window/reinforced, +/obj/structure/flora/ausbushes/palebush, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"biB" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Research Security Post"; + req_access_txt = "63" + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/science/research) +"biC" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/junction, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"biD" = ( +/obj/machinery/rnd/production/techfab/department/service, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/central) +"biE" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/highsecurity{ + name = "AI Upload"; + req_access_txt = "16" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai_upload) +"biF" = ( +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/central) +"biG" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/vending/coffee, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"biH" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/emergency{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/storage/toolbox/emergency, +/obj/item/shovel, +/obj/item/shovel, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/miningoffice) +"biI" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/clipboard, +/obj/item/folder/yellow, +/obj/item/cartridge/quartermaster, +/obj/item/cartridge/quartermaster, +/obj/item/cartridge/quartermaster, +/turf/open/floor/plasteel, +/area/quartermaster/qm) +"biJ" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/vending/wardrobe/chef_wardrobe, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/kitchen) +"biK" = ( +/obj/machinery/chem_master, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/button/door{ + id = "chemistry_shutters_2"; + name = "Hall Shutters Toggle"; + pixel_x = 24; + pixel_y = -24; + req_access_txt = "5; 33" + }, +/obj/machinery/newscaster{ + pixel_y = -30 + }, +/obj/machinery/light_switch{ + pixel_x = 24; + pixel_y = -40 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"biL" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/kitchen) +"biM" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/item/storage/box/lights/mixed{ + pixel_y = 6 + }, +/obj/machinery/door/window/westright{ + dir = 4; + name = "Cargo Desk"; + req_access_txt = "50" + }, +/turf/open/floor/plating, +/area/quartermaster/office) +"biN" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/button/door{ + id = "kitchen_2"; + name = "Hallway Hatch Toggle"; + pixel_x = 24; + pixel_y = -24; + req_access_txt = "28" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/kitchen) +"biO" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"biP" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"biQ" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/quartermaster/office) +"biR" = ( +/obj/machinery/door/window/northleft{ + dir = 2; + name = "Cargo Delivery Access"; + req_access_txt = "50" + }, +/obj/structure/plasticflaps/opaque, +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/quartermaster/office) +"biS" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + name = "Mining Dock Airlock"; + req_access_txt = "48" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/miningoffice) +"biT" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/qm) +"biU" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/door/airlock/research{ + name = "Experimentation Lab"; + req_access_txt = "47" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"biV" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/quartermaster/qm) +"biW" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/landmark/start/depsec/supply, +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/security/checkpoint/supply) +"biX" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/turf/open/floor/plasteel, +/area/quartermaster/office) +"biY" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/airlock/research{ + name = "Toxins Storage"; + req_access_txt = "8" + }, +/turf/open/floor/plasteel/dark, +/area/science/storage) +"biZ" = ( +/obj/machinery/computer/security/qm{ + dir = 8; + network = list("mine","auxbase","vault","qm") + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/quartermaster/qm) +"bja" = ( +/obj/structure/closet/secure_closet/quartermaster, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = -24; + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/qm) +"bjb" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/loading_area, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bjc" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/loading_area, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bjd" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/turf/open/floor/plasteel, +/area/quartermaster/miningoffice) +"bje" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/event_spawn, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/quartermaster/miningoffice) +"bjf" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/quartermaster/miningoffice) +"bjg" = ( +/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/plasteel/dark, +/area/maintenance/central) +"bjh" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/quartermaster/office) +"bji" = ( +/obj/structure/table/wood, +/obj/item/clipboard, +/obj/item/folder/red, +/obj/item/clothing/glasses/sunglasses, +/turf/open/floor/carpet, +/area/security/detectives_office) +"bjj" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/quartermaster/miningoffice) +"bjk" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_x = -5; + pixel_y = 7 + }, +/obj/item/pen{ + pixel_x = 8; + pixel_y = 5 + }, +/obj/item/pen/red{ + pixel_x = 5; + pixel_y = 1 + }, +/obj/item/toy/figure/detective, +/obj/machinery/light{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/turf/open/floor/carpet, +/area/security/detectives_office) +"bjl" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/closet/crate, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/item/stock_parts/cell/high, +/obj/effect/decal/cleanable/oil, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/quartermaster/miningoffice) +"bjm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/quartermaster/miningoffice) +"bjn" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/hydroponics) +"bjo" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/quartermaster/miningoffice) +"bjp" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/quartermaster/office) +"bjq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bjr" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/item/storage/toolbox/emergency{ + pixel_y = 5 + }, +/obj/item/flashlight, +/turf/open/floor/plating, +/area/maintenance/port) +"bjs" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/structure/closet/crate/freezer/blood, +/obj/machinery/power/apc{ + areastring = "/area/medical/surgery"; + dir = 4; + name = "Surgery APC"; + pixel_x = 26 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bjt" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/quartermaster/office) +"bju" = ( +/obj/structure/closet/secure_closet/miner, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/tank/internals/oxygen/yellow, +/turf/open/floor/plasteel/dark, +/area/quartermaster/miningoffice) +"bjv" = ( +/obj/structure/closet/secure_closet/miner, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/tank/internals/oxygen/yellow, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/miningoffice) +"bjw" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port) +"bjx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"bjy" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/quartermaster/office) +"bjz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"bjA" = ( +/obj/structure/chair/office/light{ + dir = 1; + pixel_y = 3 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/virology) +"bjB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/virology) +"bjC" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/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/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/effect/landmark/start/virologist, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/virology) +"bjD" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/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/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/virology) +"bjE" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/virology) +"bjG" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/ywflowers, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/grass, +/area/medical/virology) +"bjH" = ( +/obj/machinery/door/airlock/grunge{ + name = "Art Cabinet" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/library) +"bjI" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/door/airlock/medical{ + name = "Kitchen"; + req_access_txt = "28" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/kitchen) +"bjJ" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc{ + areastring = "/area/quartermaster/qm"; + dir = 1; + name = "Quartermaster's Office APC"; + pixel_y = 26 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/camera{ + c_tag = "Quartermaster's Office"; + name = "cargo camera"; + network = list("ss13","qm") + }, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/plasteel/dark, +/area/quartermaster/qm) +"bjK" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/disposal/bin, +/obj/machinery/newscaster{ + pixel_x = -30 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"bjL" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/port) +"bjM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/central) +"bjN" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bjO" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/vending/wardrobe/cap_wardrobe, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/captain) +"bjP" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/closet/emcloset/anchored, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/central) +"bjQ" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bjR" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 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/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bjS" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"bjT" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/transit_tube/curved{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/bridge) +"bjU" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/transit_tube/horizontal, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/bridge) +"bjV" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 28 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"bjW" = ( +/turf/closed/wall, +/area/quartermaster/sorting) +"bjX" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/quartermaster/sorting) +"bjY" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bjZ" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/transit_tube/station/reverse, +/obj/structure/transit_tube_pod{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/bridge) +"bka" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/table/reinforced, +/turf/open/floor/plating, +/area/bridge) +"bkb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/central) +"bkc" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall, +/area/quartermaster/miningoffice) +"bkd" = ( +/turf/closed/wall, +/area/maintenance/starboard) +"bke" = ( +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bkf" = ( +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bkg" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/loading_area, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bkh" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"bki" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/quartermaster/storage) +"bkj" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/vending/cola/red, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/central) +"bkk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/central) +"bkl" = ( +/obj/effect/turf_decal/bot, +/obj/effect/landmark/event_spawn, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bkm" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/computer/security/labor, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + name = "Cargo Checkpoint RC"; + pixel_y = 30 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/newscaster/security_unit{ + pixel_x = -30 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/supply) +"bkn" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bko" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/quartermaster/office) +"bkp" = ( +/obj/effect/landmark/start/lawyer, +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/lawoffice) +"bkq" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bkr" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/computer/bounty{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/office) +"bks" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bkt" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/closet/crate/silvercrate, +/obj/item/wrench/power, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/nuke_storage) +"bku" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/effect/landmark/start/quartermaster, +/turf/open/floor/plasteel, +/area/quartermaster/qm) +"bkv" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/conveyor{ + dir = 1; + id = "QMLoad"; + name = "off ramp" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"bkw" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bkx" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/quartermaster/qm) +"bky" = ( +/mob/living/simple_animal/butterfly, +/turf/open/floor/grass, +/area/chapel/main) +"bkz" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/item/folder/yellow, +/obj/item/pen, +/obj/structure/window/reinforced, +/obj/machinery/door/window/westleft{ + dir = 4; + name = "Delivery Desk"; + req_access_txt = "50" + }, +/turf/open/floor/plating, +/area/quartermaster/sorting) +"bkA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bkB" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel, +/area/quartermaster/qm) +"bkC" = ( +/obj/effect/turf_decal/arrows, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bkD" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/arrows, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bkE" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/machinery/status_display/ai{ + pixel_x = -32; + pixel_y = -32 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bkF" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/start/shaft_miner, +/turf/open/floor/plasteel, +/area/quartermaster/miningoffice) +"bkG" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bkH" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/landmark/start/shaft_miner, +/turf/open/floor/plasteel, +/area/quartermaster/miningoffice) +"bkI" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/effect/landmark/start/shaft_miner, +/turf/open/floor/plasteel, +/area/quartermaster/miningoffice) +"bkJ" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/radio{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/pen, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/supply) +"bkK" = ( +/obj/structure/closet/secure_closet/miner, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/tank/internals/oxygen/yellow, +/obj/machinery/light, +/obj/machinery/requests_console{ + department = "Mining"; + name = "Mining RC"; + pixel_y = -30 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/miningoffice) +"bkL" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-05" + }, +/turf/open/floor/plasteel, +/area/quartermaster/miningoffice) +"bkM" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/conveyor{ + dir = 9; + id = "QMLoad"; + name = "off ramp" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"bkN" = ( +/obj/machinery/door/poddoor{ + id = "QMLoaddoor"; + name = "Supply Dock Loading Door" + }, +/obj/machinery/conveyor{ + dir = 8; + id = "QMLoad"; + name = "off ramp" + }, +/turf/open/floor/plating, +/area/quartermaster/storage) +"bkO" = ( +/obj/structure/plasticflaps, +/obj/machinery/conveyor{ + dir = 8; + id = "QMLoad"; + name = "off ramp" + }, +/turf/open/floor/plating, +/area/quartermaster/storage) +"bkQ" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/structure/disposaloutlet{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/quartermaster/sorting) +"bkR" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/conveyor{ + dir = 4; + id = "packageSort2"; + name = "mail belt" + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/sorting) +"bkS" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/conveyor{ + dir = 4; + id = "packageSort2"; + name = "mail belt" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/quartermaster/sorting) +"bkT" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall, +/area/vacant_room/commissary) +"bkU" = ( +/obj/structure/table/wood, +/obj/item/storage/box/seccarts{ + pixel_y = 5 + }, +/obj/item/reagent_containers/food/drinks/bottle/whiskey{ + desc = "A bottle of whiskey. There's a label that reads 'tears' taped to the front."; + name = "Bottle of Tears"; + pixel_x = 3; + pixel_y = 5 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_y = 2 + }, +/obj/machinery/keycard_auth{ + pixel_x = -6; + pixel_y = -24 + }, +/obj/machinery/button/door{ + id = "hosspace"; + name = "Space Blast door Toggle"; + pixel_x = 7; + pixel_y = -24 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/hos) +"bkV" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/disposal/deliveryChute{ + dir = 8 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/quartermaster/sorting) +"bkW" = ( +/obj/machinery/door/poddoor/shutters{ + id = "teleshutter"; + name = "Teleport Access Shutter" + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/teleporter) +"bkX" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/emcloset, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/maintenance/port) +"bkY" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bkZ" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bla" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"blb" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"blc" = ( +/obj/machinery/door/airlock/maintenance{ + name = "kitchen maintenance"; + req_access_txt = "28" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/central) +"bld" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"ble" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"blf" = ( +/turf/closed/wall, +/area/security/checkpoint/supply) +"blg" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/checkpoint/supply) +"blh" = ( +/obj/machinery/mineral/equipment_vendor, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/status_display/supply{ + pixel_y = -32 + }, +/obj/machinery/camera{ + c_tag = "Mining Dock"; + dir = 1; + name = "cargo camera"; + network = list("ss13","qm") + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/miningoffice) +"bli" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"blj" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"blk" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/computer/cargo{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/button/door{ + id = "QMLoaddoor"; + layer = 4; + name = "Off Ramp Toggle"; + pixel_x = 24; + pixel_y = 6; + req_access_txt = "31" + }, +/obj/machinery/button/door{ + id = "QMLoaddoor2"; + layer = 4; + name = "On Ramp Toggle"; + pixel_x = 24; + pixel_y = -6; + req_access_txt = "31" + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bll" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/warning/vacuum/external, +/turf/open/floor/plating, +/area/quartermaster/storage) +"blm" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/security/checkpoint/supply) +"bln" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"blo" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-14" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/virology) +"blp" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/virology) +"blq" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"blr" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bls" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"blu" = ( +/obj/docking_port/stationary{ + dir = 4; + dwidth = 3; + height = 10; + id = "mining_home"; + name = "mining shuttle bay"; + roundstart_template = /datum/map_template/shuttle/mining/kilo; + width = 7 + }, +/turf/open/space/basic, +/area/space) +"blv" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/power/apc{ + areastring = "/area/hallway/primary/port"; + dir = 8; + name = "Port Hallway APC"; + pixel_x = -26 + }, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/port) +"blw" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"blx" = ( +/obj/structure/easel, +/obj/effect/turf_decal/bot, +/obj/item/airlock_painter, +/turf/open/floor/plasteel/dark, +/area/library) +"bly" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/vending/wardrobe/cargo_wardrobe, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"blz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"blA" = ( +/obj/structure/rack, +/obj/item/storage/crayons, +/obj/item/storage/crayons, +/obj/effect/turf_decal/bot, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/library) +"blB" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/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/showroomfloor, +/area/library) +"blC" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"blD" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"blE" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall, +/area/quartermaster/storage) +"blF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"blG" = ( +/obj/structure/table, +/obj/machinery/recharger, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_y = -24 + }, +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = -30 + }, +/obj/machinery/camera{ + c_tag = "Cargo Checkpoint Post"; + dir = 1; + name = "cargo camera"; + network = list("ss13","qm") + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/supply) +"blH" = ( +/obj/machinery/door/poddoor{ + id = "QMLoaddoor2"; + name = "Supply Dock Loading Door" + }, +/obj/machinery/conveyor{ + dir = 4; + id = "QMLoad2"; + name = "on ramp" + }, +/turf/open/floor/plating, +/area/quartermaster/storage) +"blI" = ( +/obj/structure/plasticflaps, +/obj/machinery/conveyor{ + dir = 4; + id = "QMLoad2"; + name = "on ramp" + }, +/turf/open/floor/plating, +/area/quartermaster/storage) +"blJ" = ( +/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/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/quartermaster/qm) +"blK" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"blL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"blM" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"blN" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/twohanded/required/kirbyplants, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"blO" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/crate, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"blP" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"blQ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/computer/cargo, +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/dark, +/area/quartermaster/sorting) +"blR" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/item/twohanded/required/kirbyplants, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"blS" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"blT" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"blU" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/computer/security/telescreen{ + desc = "Used for watching the AI Upload."; + dir = 4; + name = "AI Upload Monitor"; + network = list("aiupload"); + pixel_x = -28 + }, +/obj/machinery/light/small, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/bridge) +"blV" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/caution, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/bridge) +"blW" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/button/door{ + id = "transittube"; + name = "Transit Tube Lockdown Toggle"; + pixel_x = 24; + req_access_txt = "19" + }, +/obj/machinery/camera{ + c_tag = "AI Upload Transit"; + dir = 8; + name = "command camera" + }, +/obj/item/radio/intercom{ + broadcasting = 1; + frequency = 1447; + name = "Private AI Channel"; + pixel_y = -26 + }, +/obj/machinery/turretid{ + control_area = "/area/ai_monitored/turret_protected/ai_upload"; + icon_state = "control_stun"; + name = "AI Upload turret control"; + pixel_y = 32 + }, +/turf/open/floor/plasteel, +/area/bridge) +"blX" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/disposalpipe/junction{ + dir = 8 + }, +/obj/structure/sign/warning/deathsposal{ + layer = 4 + }, +/turf/open/floor/plating, +/area/medical/virology) +"blY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/loading_area, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"blZ" = ( +/obj/structure/table, +/obj/item/stack/packageWrap, +/obj/item/storage/box/lights/mixed{ + pixel_y = 4 + }, +/obj/item/hand_labeler, +/obj/machinery/light/small, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/central) +"bma" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/conveyor{ + dir = 4; + id = "packageSort2"; + name = "mail belt" + }, +/obj/machinery/camera{ + c_tag = "Delivery Office"; + dir = 1; + name = "cargo camera"; + network = list("ss13","qm") + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/sorting) +"bmb" = ( +/turf/closed/wall/r_wall, +/area/storage/tech) +"bmc" = ( +/turf/closed/wall/r_wall, +/area/ai_monitored/storage/eva) +"bmd" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/central) +"bme" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/plantgenes{ + pixel_y = 5 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bmf" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/quartermaster/sorting) +"bmg" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hydroponics) +"bmh" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/light_switch{ + pixel_x = 24; + pixel_y = 24 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"bmi" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bmj" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/conveyor{ + dir = 4; + id = "QMLoad2"; + name = "on ramp" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/sign/poster/contraband/red_rum{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"bmk" = ( +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bml" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/conveyor{ + dir = 4; + id = "QMLoad2"; + name = "on ramp" + }, +/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/item/radio/intercom{ + pixel_y = -28 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"bmm" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/conveyor{ + dir = 4; + id = "QMLoad2"; + name = "on ramp" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"bmo" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-05" + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bmp" = ( +/obj/structure/plasticflaps/opaque, +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/janitor) +"bmq" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/conveyor{ + dir = 1; + id = "QMLoad"; + name = "off ramp" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/camera{ + c_tag = "Cargo Ramps"; + dir = 8; + name = "cargo camera"; + network = list("ss13","qm") + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"bmr" = ( +/obj/machinery/vending/wardrobe/cargo_wardrobe, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/machinery/camera{ + c_tag = "Cargo Lockers"; + dir = 4; + name = "cargo camera"; + network = list("ss13","qm") + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"bms" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/conveyor{ + dir = 4; + id = "QMLoad2"; + name = "on ramp" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light, +/obj/machinery/status_display/supply{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"bmt" = ( +/obj/machinery/door/firedoor, +/obj/machinery/mineral/ore_redemption{ + dir = 8; + input_dir = 4; + output_dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plating, +/area/quartermaster/office) +"bmu" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/clipboard{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clipboard, +/obj/item/folder/yellow, +/obj/item/hand_labeler, +/obj/item/hand_labeler, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"bmv" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bmw" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel, +/area/quartermaster/office) +"bmx" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/stamp/denied{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/item/stamp{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/item/pen, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/power/apc{ + areastring = "/area/quartermaster/office"; + dir = 4; + name = "Cargo Office APC"; + pixel_x = 26 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/camera{ + c_tag = "Cargo Office"; + dir = 8; + name = "cargo camera"; + network = list("ss13","qm") + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/office) +"bmy" = ( +/turf/closed/wall, +/area/crew_quarters/bar/atrium) +"bmz" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bmA" = ( +/obj/machinery/smartfridge, +/turf/closed/wall, +/area/crew_quarters/kitchen) +"bmB" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall, +/area/hallway/primary/port) +"bmC" = ( +/obj/structure/sink/puddle, +/obj/structure/flora/ausbushes/reedbush{ + pixel_y = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/grass, +/area/medical/virology) +"bmD" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/arrows, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bmE" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/vending/hydroseeds{ + slogan_delay = 700 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bmF" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall, +/area/hydroponics) +"bmG" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/plantgenes{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bmH" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/closet/secure_closet/freezer/meat, +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) +"bmI" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/arrows, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bmJ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bmK" = ( +/obj/structure/chair/stool/bar, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/central) +"bmL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port) +"bmN" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining/glass{ + name = "Mining Dock"; + req_access_txt = "48" + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/miningoffice) +"bmO" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/reagent_containers/food/snacks/dough, +/obj/item/reagent_containers/food/snacks/dough, +/obj/item/kitchen/rollingpin, +/obj/item/kitchen/rollingpin, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/kitchen) +"bmP" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/poddoor/shutters{ + id = "evashutter"; + name = "E.V.A. Storage Shutter" + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/storage/eva) +"bmQ" = ( +/obj/machinery/computer/arcade, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bmR" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/reagent_containers/food/snacks/mint, +/obj/item/reagent_containers/food/condiment/enzyme{ + pixel_x = -2; + pixel_y = 6 + }, +/obj/item/reagent_containers/food/condiment/sugar{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/reagent_containers/glass/beaker, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/kitchen) +"bmS" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/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/saltshaker{ + desc = "Salt. From space oceans, presumably. A staple of modern medicine."; + pixel_x = -8; + pixel_y = 12 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchen_2"; + name = "Hallway Hatch" + }, +/obj/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/kitchen) +"bmT" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/storage/bag/tray, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/kitchen) +"bmU" = ( +/obj/structure/lattice, +/turf/closed/wall/r_wall/rust, +/area/security/prison) +"bmV" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 8; + name = "Waste Release" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"bmW" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/air, +/obj/item/wrench, +/turf/open/floor/plasteel/dark, +/area/quartermaster/miningoffice) +"bmX" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/port) +"bmY" = ( +/obj/structure/chair/office/light, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/virology) +"bmZ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical{ + name = "Kitchen"; + req_access_txt = "28" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/kitchen) +"bna" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/crew_quarters/bar/atrium) +"bnb" = ( +/obj/docking_port/stationary{ + dir = 4; + dwidth = 4; + height = 7; + id = "supply_home"; + name = "Cargo Bay"; + width = 12 + }, +/turf/open/space/basic, +/area/space/nearstation) +"bnc" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/item/reagent_containers/food/snacks/grown/corn{ + pixel_y = 6 + }, +/obj/item/reagent_containers/food/snacks/grown/pumpkin{ + pixel_y = 6 + }, +/obj/item/reagent_containers/food/snacks/grown/carrot, +/obj/item/reagent_containers/food/snacks/grown/tomato, +/obj/machinery/door/window/eastleft{ + dir = 8; + name = "Hydroponics Desk"; + req_access_txt = "35" + }, +/turf/open/floor/plating, +/area/hydroponics) +"bnd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/virology) +"bne" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/virology) +"bnf" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/virology) +"bng" = ( +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/landmark/start/virologist, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/virology) +"bnh" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/crate{ + icon_state = "crateopen" + }, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bni" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/quartermaster/sorting) +"bnj" = ( +/obj/machinery/smartfridge, +/turf/closed/wall, +/area/hydroponics) +"bnk" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/closet/wardrobe/white, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"bnl" = ( +/obj/machinery/door/firedoor, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/door/airlock/external{ + name = "Mining Dock Airlock"; + req_access_txt = "48" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/general/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/miningoffice) +"bnm" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/conveyor{ + dir = 4; + id = "packageSort2"; + name = "mail belt" + }, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/quartermaster/sorting) +"bnn" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/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/structure/extinguisher_cabinet{ + pixel_y = 28 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bno" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/storage/bag/tray, +/obj/item/reagent_containers/food/snacks/sausage, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"bnp" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bnq" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/genericbush, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/sunnybush, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/grass, +/area/hydroponics) +"bnr" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/secure_closet/personal, +/obj/item/storage/backpack, +/obj/item/storage/backpack/satchel, +/obj/item/clothing/under/assistantformal, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/item/clothing/shoes/winterboots, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"bns" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/sink{ + dir = 8; + pixel_x = -12 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hydroponics) +"bnt" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bnu" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/junction{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bnv" = ( +/turf/closed/wall, +/area/hallway/primary/starboard) +"bnw" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bnx" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/library) +"bny" = ( +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bnz" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bnA" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_y = 24 + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"bnB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"bnC" = ( +/obj/machinery/biogenerator, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/window/eastright{ + dir = 8; + name = "Biogenerator"; + req_access_txt = "35" + }, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bnD" = ( +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bnE" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/sorting/mail{ + name = "kitchen sorting disposal pipe"; + sortType = 20 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bnF" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"bnG" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bnH" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/brflowers, +/obj/structure/flora/ausbushes/leafybush, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/grass, +/area/hydroponics) +"bnI" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bnJ" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/landmark/start/botanist, +/turf/open/floor/plasteel, +/area/hydroponics) +"bnK" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"bnL" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/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/saltshaker{ + desc = "Salt. From space oceans, presumably. A staple of modern medicine."; + pixel_x = -8; + pixel_y = 12 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchen"; + name = "Serving Hatch" + }, +/obj/item/toy/figure/chef, +/turf/open/floor/plating, +/area/crew_quarters/kitchen) +"bnM" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/structure/sign/departments/science{ + pixel_x = 32 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bnN" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hydroponics) +"bnO" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"bnP" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/tank_dispenser/oxygen{ + pixel_x = -1; + pixel_y = 2 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bnQ" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bnR" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/genericbush, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/sunnybush, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/grass, +/area/hydroponics) +"bnS" = ( +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/sign/poster/official/fruit_bowl{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bnT" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/window/reinforced{ + dir = 4 + }, +/mob/living/simple_animal/cow{ + desc = "Allegedly a bull."; + name = "Otis"; + real_name = "Betsy" + }, +/turf/open/floor/grass, +/area/hydroponics) +"bnU" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/landmark/start/botanist, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hydroponics) +"bnV" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bnW" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-05" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bnX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/quartermaster/office) +"bnY" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/autolathe, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/quartermaster/office) +"bnZ" = ( +/obj/item/twohanded/required/kirbyplants, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"boa" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/genericbush, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/sunnybush, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/grass, +/area/hydroponics) +"bob" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/brflowers, +/obj/structure/flora/ausbushes/leafybush, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced, +/turf/open/floor/grass, +/area/hydroponics) +"boc" = ( +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bod" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/quartermaster/office) +"boe" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/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/saltshaker{ + desc = "Salt. From space oceans, presumably. A staple of modern medicine."; + pixel_x = -8; + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice{ + desc = "An emerald flask, from the Keeper's soul. High in vitamins!"; + name = "estus flask"; + pixel_x = 4; + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"bof" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"bog" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"boh" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/brflowers, +/obj/structure/flora/ausbushes/leafybush, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced, +/turf/open/floor/grass, +/area/hydroponics) +"boi" = ( +/obj/machinery/door/window/brigdoor/westright{ + dir = 4; + name = "Core Modules"; + req_access_txt = "20" + }, +/obj/item/aiModule/core/freeformcore{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/aiModule/core/full/custom, +/obj/item/aiModule/core/full/asimov{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/structure/table, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1; + pixel_y = 1 + }, +/obj/machinery/flasher{ + id = "AI"; + name = "Meatbag Pacifier"; + pixel_x = -24 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai_upload) +"boj" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bok" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bol" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + name = "Service Door"; + req_one_access_txt = "35;28" + }, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bom" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining/glass{ + name = "Quartermaster"; + req_access_txt = "41" + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/qm) +"bon" = ( +/obj/structure/sign/departments/botany, +/turf/closed/wall, +/area/hydroponics) +"boo" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet{ + name = "supply locker" + }, +/obj/item/clothing/under/rank/cargotech, +/obj/item/clothing/shoes/sneakers/brown, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bop" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"boq" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/rnd/production/techfab/department/cargo, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"bor" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light/small, +/obj/item/reagent_containers/glass/bucket, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bos" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/reagent_dispensers/watertank, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating, +/area/maintenance/port) +"bot" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port) +"bou" = ( +/obj/item/flashlight/lantern, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"bov" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/radio/intercom{ + pixel_x = -28 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"bow" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/item/reagent_containers/food/snacks/pie/cream, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchen"; + name = "Serving Hatch" + }, +/turf/open/floor/plating, +/area/crew_quarters/kitchen) +"box" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"boy" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/soda_cans/cola{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/candle/infinite{ + pixel_x = -4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/central) +"boz" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/secure_closet/hydroponics, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"boA" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/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/saltshaker{ + desc = "Salt. From space oceans, presumably. A staple of modern medicine."; + pixel_x = -8; + pixel_y = 12 + }, +/obj/item/storage/box/donkpockets{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/item/storage/box/donkpockets{ + pixel_x = 6; + pixel_y = 6 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/kitchen) +"boB" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/reagentgrinder{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/kitchen) +"boC" = ( +/turf/closed/wall, +/area/hallway/primary/port) +"boD" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/book/manual/chef_recipes{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/book/manual/chef_recipes{ + pixel_y = 2 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/kitchen) +"boE" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/airlock/mining/glass{ + name = "Quartermaster"; + req_access_txt = "41" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/qm) +"boF" = ( +/obj/machinery/button/door{ + id = "bank"; + name = "Bank Vault Lock"; + normaldoorcontrol = 1; + pixel_x = -24; + pixel_y = -8; + specialfunctions = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/table, +/obj/effect/decal/cleanable/cobweb, +/obj/item/clothing/under/suit_jacket/really_black{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/under/suit_jacket/really_black, +/obj/item/clothing/neck/tie/black{ + pixel_x = 6 + }, +/obj/item/clothing/neck/tie/red, +/obj/item/clothing/mask/rat/jackal{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/mask/rat/jackal, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"boG" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"boH" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/microwave{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/kitchen) +"boI" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical{ + name = "Kitchen Cold Room"; + req_access_txt = "28" + }, +/obj/structure/fans/tiny/invisible, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/kitchen) +"boJ" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/closet/secure_closet/freezer/kitchen, +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) +"boK" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/airlock/mining/glass{ + name = "Mining Dock"; + req_access_txt = "48" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/miningoffice) +"boL" = ( +/obj/structure/table, +/obj/machinery/button/door{ + id = "bankshutter"; + name = "Bank Shutter Toggle"; + pixel_x = 24; + pixel_y = -8 + }, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"boM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/vending/cola/random, +/obj/structure/sign/warning/nosmoking{ + pixel_y = 30 + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"boN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/structure/table, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/folder, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"boO" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/closet/wardrobe/grey, +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"boP" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/chair/stool{ + name = "microbench"; + pixel_x = 16 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"boQ" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/microwave{ + pixel_y = 5 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/kitchen) +"boR" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/secure_closet/personal, +/obj/item/storage/backpack, +/obj/item/storage/backpack/satchel, +/obj/item/clothing/under/assistantformal, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/item/clothing/shoes/winterboots, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"boS" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/chair/office/light{ + dir = 8 + }, +/obj/effect/landmark/start/botanist, +/turf/open/floor/plasteel, +/area/hydroponics) +"boT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) +"boU" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/port) +"boV" = ( +/obj/machinery/deepfryer, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/kitchen) +"boW" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/central) +"boX" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/port) +"boY" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/item/camera_film{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/camera, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/turf/open/floor/plasteel/dark, +/area/library) +"boZ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bpa" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/fernybush, +/obj/structure/disposalpipe/segment, +/mob/living/carbon/monkey, +/turf/open/floor/grass, +/area/medical/virology) +"bpb" = ( +/obj/machinery/deepfryer, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/kitchen) +"bpc" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/firecloset, +/turf/open/floor/plating, +/area/maintenance/port) +"bpd" = ( +/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 = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bpe" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bpf" = ( +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/central) +"bpg" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/maintenance/central) +"bph" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/item/storage/fancy/donut_box, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchen_2"; + name = "Hallway Hatch" + }, +/turf/open/floor/plating, +/area/crew_quarters/kitchen) +"bpi" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/junglebush/b, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/effect/decal/remains/human, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/grass, +/area/hydroponics) +"bpj" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/machinery/door/window/northleft{ + dir = 4; + name = "Inner Pipe Access"; + req_access_txt = "24" + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"bpk" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel, +/area/hydroponics) +"bpl" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"bpm" = ( +/obj/docking_port/stationary{ + dir = 8; + dwidth = 2; + height = 11; + id = "ferry_home"; + name = "port bay 2"; + width = 5 + }, +/turf/open/space/basic, +/area/space/nearstation) +"bpn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/central) +"bpo" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hydroponics) +"bpp" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/sign/poster/official/safety_internals, +/turf/closed/wall, +/area/medical/virology) +"bpq" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall, +/area/maintenance/central) +"bpr" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bps" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/central) +"bpt" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"bpu" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/quartermaster/office) +"bpv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/quartermaster/office) +"bpw" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_y = -24 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/quartermaster/office) +"bpx" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/quartermaster/office) +"bpy" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/destructible/cult/tome, +/obj/effect/decal/cleanable/cobweb, +/obj/item/book/codex_gigas{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/flashlight/lantern{ + pixel_x = 4 + }, +/obj/machinery/light_switch{ + pixel_y = 24 + }, +/obj/machinery/newscaster{ + pixel_x = -30 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/library) +"bpz" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bpA" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bpB" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/power/apc{ + areastring = "/area/quartermaster/storage"; + dir = 1; + name = "Cargo Bay APC"; + pixel_y = 26 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bpC" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bpD" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bpE" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/status_display/supply{ + pixel_x = 32; + pixel_y = 32 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bpF" = ( +/obj/structure/sign/departments/cargo, +/turf/closed/wall/rust, +/area/hallway/primary/starboard) +"bpG" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/chair/comfy/brown{ + buildstackamount = 0; + color = "#c45c57" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/landmark/start/librarian, +/obj/effect/landmark/xeno_spawn, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/library) +"bpH" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/vending/wardrobe/curator_wardrobe, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 28 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/library) +"bpI" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bpJ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/remains/human, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"bpK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/blood/gibs/limb, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"bpL" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/computer/cargo/request, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bpM" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/closet/emcloset, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"bpN" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/box, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bpO" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall, +/area/maintenance/central) +"bpP" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"bpQ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_x = -28 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bpR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"bpS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"bpT" = ( +/obj/effect/landmark/start/head_of_personnel, +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/crew_quarters/heads/hop) +"bpU" = ( +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "Bridge Blast door" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bpV" = ( +/obj/structure/sign/departments/botany, +/turf/closed/wall, +/area/hallway/primary/starboard) +"bpW" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bpX" = ( +/obj/machinery/door/poddoor/preopen{ + id = "brigfrontdoor"; + name = "Front Security Blast door" + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = 28 + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"bpY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bpZ" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/crate{ + icon_state = "crateopen" + }, +/obj/item/stack/cable_coil, +/obj/item/stock_parts/capacitor, +/turf/open/floor/plating, +/area/maintenance/port) +"bqa" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/twohanded/required/kirbyplants, +/obj/machinery/power/apc/highcap/ten_k{ + areastring = "/area/bridge"; + dir = 8; + name = "Bridge APC"; + pixel_x = -27 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel, +/area/bridge) +"bqb" = ( +/obj/structure/sign/departments/custodian, +/turf/closed/wall/rust, +/area/maintenance/central) +"bqc" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/chem_master/condimaster{ + name = "CondiMaster Neo" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) +"bqd" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/reagent_dispensers/cooking_oil, +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) +"bqe" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/bridge) +"bqf" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/teleport/station, +/obj/machinery/status_display/evac{ + pixel_x = 32 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/teleporter) +"bqg" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/bridge) +"bqh" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/vending/hydronutrients, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bqj" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/landmark/start/cook, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/kitchen) +"bqk" = ( +/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/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/kitchen) +"bql" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/machinery/light_switch{ + pixel_x = 40; + pixel_y = 24 + }, +/obj/machinery/button/door{ + id = "kitchen"; + name = "Serving Hatch Toggle"; + pixel_x = 24; + pixel_y = 24; + req_access_txt = "28" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/kitchen) +"bqm" = ( +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/bridge) +"bqn" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/kitchen) +"bqo" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/kitchen) +"bqp" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bqq" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/landmark/start/cook, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/kitchen) +"bqr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/central) +"bqs" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/bridge) +"bqt" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/bridge) +"bqu" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/bridge) +"bqv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) +"bqw" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/camera{ + c_tag = "AI Upload Transit Access"; + dir = 1; + name = "command camera" + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bqx" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bqy" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/airlock/medical{ + name = "Kitchen Cold Room"; + req_access_txt = "28" + }, +/obj/structure/fans/tiny/invisible, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/kitchen) +"bqz" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + dir = 8; + freq = 1400; + location = "Kitchen" + }, +/obj/structure/plasticflaps/opaque, +/obj/machinery/door/window/eastright{ + dir = 1; + name = "Kitchen Delivery Access"; + req_access_txt = "28" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/kitchen) +"bqA" = ( +/obj/structure/table, +/obj/item/folder/white, +/obj/item/restraints/handcuffs, +/obj/item/wirerod, +/obj/item/pen, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bqB" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light/small, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bqC" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/airlock/mining{ + name = "Cargo Bay"; + req_one_access_txt = "31;48" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/office) +"bqD" = ( +/obj/structure/plasticflaps/opaque, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=2"; + freq = 1400; + location = "Atmospherics"; + name = "navigation beacon (Atmospherics Delivery)" + }, +/obj/machinery/door/window/southleft{ + dir = 8; + name = "Atmospherics Delivery Access"; + req_one_access_txt = "24;10" + }, +/obj/machinery/door/poddoor/preopen{ + id = "atmos"; + name = "Atmospherics Blast Door" + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"bqE" = ( +/obj/machinery/door/airlock/maintenance{ + name = "command maintenance"; + req_one_access_txt = "19;63" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/central) +"bqF" = ( +/obj/machinery/space_heater, +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/central) +"bqG" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"bqH" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"bqI" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"bqJ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/medical/glass{ + name = "Hydroponics"; + req_access_txt = "35" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bqK" = ( +/obj/structure/chair/sofa/corner{ + color = "#c45c57"; + dir = 4 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"bqL" = ( +/obj/structure/chair/sofa{ + color = "#c45c57" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"bqM" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"bqN" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/obj/effect/turf_decal/box, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=NW CPH"; + dir = 8; + location = "W CPH"; + name = "Patrol navbeacon W" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bqO" = ( +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bqP" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/processor, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/kitchen) +"bqQ" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/secure_closet/hydroponics, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/power/apc{ + areastring = "/area/hydroponics"; + name = "Hydroponics APC"; + pixel_y = -26 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/camera{ + c_tag = "Hydroponics Lockers"; + dir = 8; + name = "hydroponics camera" + }, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bqR" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"bqS" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bqT" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/sorting/mail{ + name = "hydroponics sorting disposal pipe"; + sortType = 21 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bqU" = ( +/obj/structure/table/wood, +/obj/item/clothing/gloves/color/rainbow/clown, +/obj/item/storage/crayons, +/obj/item/storage/crayons, +/obj/item/bikehorn/rubberducky, +/obj/structure/sign/poster/contraband/clown{ + pixel_x = -30 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/theatre) +"bqV" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/vending/autodrobe, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/theatre) +"bqW" = ( +/obj/structure/dresser, +/obj/machinery/light/small, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/theatre) +"bqX" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bqY" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/camera{ + c_tag = "Starboard Hallway Hydroponics Counter"; + dir = 8; + name = "starboard camera" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bqZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance/external{ + name = "mass driver intersection"; + req_access_txt = "12" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"bra" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-03" + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/item/radio/intercom{ + pixel_x = -28 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"brb" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/bar/atrium) +"brc" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"brd" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/chair/stool/bar{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/effect/landmark/start/clown, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/theatre) +"bre" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"brf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-16" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"brg" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/central) +"brh" = ( +/obj/machinery/door/airlock/maintenance{ + name = "xenobiology maintenance"; + req_access_txt = "55" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/sign/directions/evac{ + dir = 4; + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard) +"bri" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"brj" = ( +/obj/structure/chair/sofa/left{ + color = "#c45c57" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"brk" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/reagent_containers/food/snacks/cheesiehonkers{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/snacks/chips, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"brl" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"brm" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"brn" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"bro" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"brp" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/chapel/office) +"brq" = ( +/obj/structure/chair/sofa/right{ + color = "#c45c57" + }, +/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/effect/landmark/start/assistant, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"brr" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/bar/atrium) +"brs" = ( +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/central) +"brt" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/vending/cola/random, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"bru" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/gibs/old, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"brv" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/security/glass{ + name = "Cargo Security Post"; + req_access_txt = "63" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/supply) +"brw" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/bar/atrium) +"brx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"bry" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"brz" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"brA" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/item/radio{ + desc = "An old handheld radio. You could use it, if you really wanted to."; + icon_state = "radio"; + name = "old radio" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/bar/atrium) +"brB" = ( +/obj/structure/table, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/noticeboard{ + dir = 4; + pixel_x = -27 + }, +/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/saltshaker{ + desc = "Salt. From space oceans, presumably. A staple of modern medicine."; + pixel_x = -8; + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/britcup{ + pixel_x = 4; + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"brC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"brD" = ( +/turf/closed/wall, +/area/crew_quarters/toilet/restrooms) +"brE" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/chair/sofa/right{ + color = "#c45c57"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"brF" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/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/saltshaker{ + desc = "Salt. From space oceans, presumably. A staple of modern medicine."; + pixel_x = -8; + pixel_y = 12 + }, +/obj/item/paicard{ + pixel_x = 4; + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"brG" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/structure/chair/sofa/left{ + color = "#c45c57"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"brH" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/bar/atrium) +"brI" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/structure/chair/sofa/right{ + color = "#c45c57"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"brJ" = ( +/obj/structure/table, +/obj/item/storage/bag/tray, +/obj/item/clothing/head/hardhat/cakehat, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) +"brK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port) +"brL" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"brM" = ( +/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/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/bar/atrium) +"brN" = ( +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 28 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"brO" = ( +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"brP" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/bar/atrium) +"brQ" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/bar/atrium) +"brR" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/bar/atrium) +"brS" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table, +/obj/item/folder{ + pixel_x = -4 + }, +/obj/item/paicard, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"brT" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table/wood, +/obj/item/storage/photo_album{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/camera, +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_y = -28 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/library) +"brU" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_x = -5; + pixel_y = 7 + }, +/obj/item/pinpointer/nuke, +/obj/item/disk/nuclear, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/captain) +"brV" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/bar/atrium) +"brW" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/bar/atrium) +"brX" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/bar/atrium) +"brY" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/washing_machine, +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = 28 + }, +/obj/machinery/light_switch{ + pixel_x = 24 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"brZ" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) +"bsa" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/machinery/vr_sleeper, +/obj/effect/turf_decal/box/white, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"bsb" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/bar/atrium) +"bsc" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall, +/area/crew_quarters/bar/atrium) +"bsd" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/delivery, +/obj/machinery/vending/snack/random, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"bse" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table/wood, +/obj/item/storage/fancy/candle_box{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/taperecorder{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/machinery/light/small, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/library) +"bsf" = ( +/obj/structure/sign/departments/custodian, +/turf/closed/wall, +/area/maintenance/fore) +"bsg" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/stack/rods/fifty, +/obj/item/storage/box/lights/mixed, +/obj/machinery/light, +/obj/machinery/light_switch{ + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"bsh" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/bookcase{ + name = "Forbidden Knowledge" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/library) +"bsj" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/wood, +/area/crew_quarters/heads/captain) +"bsk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/central) +"bsl" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/spawner/structure/window/hollow/reinforced/middle, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"bsm" = ( +/turf/closed/wall/rust, +/area/chapel/office) +"bsn" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bso" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/brflowers, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/mob/living/simple_animal/chicken{ + desc = "The arch-nemesis of Kentucky."; + name = "Popeye"; + real_name = "Featherbottom" + }, +/turf/open/floor/grass, +/area/hydroponics) +"bsp" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/landmark/xeno_spawn, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/security/courtroom) +"bsq" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = -3; + pixel_y = 15 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = -6; + pixel_y = 3 + }, +/obj/item/reagent_containers/food/drinks/beer{ + desc = "A station exclusive. Consumpt may result in seizures, blindness, drunkenness, or even death."; + list_reagents = list(/datum/reagent/consumable/ethanol/thirteenloko = 10); + name = "Kilo-Kocktail"; + pixel_x = 5; + pixel_y = 5 + }, +/turf/open/floor/carpet, +/area/lawoffice) +"bss" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/camera{ + c_tag = "Port Hallway Firelock"; + dir = 4; + name = "port camera" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/port) +"bst" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/junction{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bsu" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/port) +"bsv" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2; + name = "cargo sorting disposal pipe"; + sortType = 2 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bsw" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/status_display/supply{ + pixel_x = 32; + pixel_y = -32 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bsx" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/machinery/camera{ + c_tag = "Fore Hallway Chapel"; + name = "fore camera" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 4 + }, +/area/hallway/primary/fore) +"bsy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/central) +"bsz" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining/glass{ + name = "Cargo Office"; + req_one_access_txt = "31;48" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/office) +"bsA" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"bsB" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"bsC" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/bridge) +"bsD" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Hazard Closet"; + req_access_txt = "1" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"bsE" = ( +/turf/open/floor/plasteel, +/area/bridge) +"bsF" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/bridge) +"bsG" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bsH" = ( +/obj/structure/table, +/obj/machinery/recharger, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/turf/open/floor/plasteel, +/area/bridge) +"bsI" = ( +/obj/machinery/door/window/brigdoor{ + dir = 4; + name = "Core Modules"; + req_access_txt = "20" + }, +/obj/item/aiModule/supplied/protectStation{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/aiModule/zeroth/oneHuman, +/obj/item/aiModule/reset/purge{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/structure/table, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1; + pixel_y = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai_upload) +"bsJ" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/storage/toolbox/drone, +/obj/machinery/light{ + dir = 1 + }, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare, +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"bsK" = ( +/obj/machinery/door/airlock/command{ + name = "Captain's Office"; + req_access_txt = "20" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/captain) +"bsL" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hydroponics) +"bsM" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/obj/machinery/light_switch{ + pixel_y = -24 + }, +/turf/open/floor/plasteel/grimy, +/area/library) +"bsN" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/genericbush, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/sunnybush, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced, +/turf/open/floor/grass, +/area/crew_quarters/heads/hop) +"bsO" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/brflowers, +/obj/structure/flora/ausbushes/leafybush, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/grass, +/area/crew_quarters/heads/hop) +"bsP" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/genericbush, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/sunnybush, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/grass, +/area/crew_quarters/heads/hop) +"bsQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/grimy, +/area/library) +"bsR" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hydroponics) +"bsS" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/computer/security, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/supply) +"bsT" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/supply) +"bsU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/landmark/blobstart, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/crew_quarters/bar) +"bsV" = ( +/obj/structure/closet/secure_closet/security/cargo, +/obj/effect/turf_decal/delivery, +/obj/item/crowbar, +/obj/item/book/manual/wiki/security_space_law, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/power/apc{ + areastring = "/area/security/checkpoint/supply"; + dir = 1; + name = "Cargo Security APC"; + pixel_y = 26 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/firealarm{ + pixel_x = 32; + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/supply) +"bsW" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-05" + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bsX" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bsY" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/libraryscanner, +/obj/effect/turf_decal/bot_white, +/obj/machinery/power/apc{ + areastring = "/area/library"; + dir = 4; + name = "Library APC"; + pixel_x = 26 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/library) +"bsZ" = ( +/obj/machinery/door/morgue{ + name = "Relic Closet"; + req_access_txt = "22" + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"bta" = ( +/obj/structure/table/wood/fancy, +/obj/item/book/granter/spell/smoke/lesser{ + pixel_y = 4 + }, +/obj/item/nullrod{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"btb" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/conveyor_switch/oneway{ + dir = 8; + id = "QMLoad"; + name = "off ramp"; + pixel_y = 5 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"btc" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/blood/gibs/limb, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"btd" = ( +/obj/machinery/computer/arcade, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/sign/poster/official/random{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bte" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/folder/red, +/obj/item/stack/cable_coil, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"btf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/wood, +/area/chapel/office) +"btg" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall, +/area/chapel/office) +"bth" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/stool/bar{ + pixel_x = -8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bti" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Prison Yard" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PCell 1Lock"; + name = "Long-Term Cell 1 Shutter" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"btj" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/effect/landmark/start/chaplain, +/turf/open/floor/wood, +/area/chapel/office) +"btk" = ( +/obj/structure/table/wood/fancy, +/obj/item/clipboard, +/obj/item/folder/red, +/obj/item/toy/figure/chaplain{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/lighter, +/turf/open/floor/wood, +/area/chapel/office) +"btl" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining{ + name = "Cargo Bay"; + req_one_access_txt = "31;48" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/office) +"btm" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Holodeck" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness/recreation) +"btn" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Holodeck" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bto" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/bodycontainer/crematorium{ + dir = 8; + id = "crematoriumChapel" + }, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"btp" = ( +/obj/structure/table/wood/fancy, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/storage/fancy/donut_box, +/obj/machinery/newscaster{ + pixel_y = -30 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"btq" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"btr" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/box/corners, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/window/reinforced{ + dir = 1; + pixel_y = 1 + }, +/obj/machinery/door/window/eastright{ + base_state = "left"; + dir = 8; + icon_state = "left"; + name = "Fitness Ring" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bts" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = -6; + pixel_y = 3 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = -3; + pixel_y = 15 + }, +/obj/item/reagent_containers/food/drinks/bottle/holywater{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"btt" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"btu" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1; + pixel_y = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"btv" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1; + pixel_y = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"btw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/central) +"btx" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/atmos) +"bty" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1; + pixel_y = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"btz" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sign/departments/restroom{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"btA" = ( +/turf/closed/wall, +/area/chapel/main) +"btB" = ( +/turf/open/floor/grass, +/area/chapel/main) +"btC" = ( +/obj/structure/sign/warning/nosmoking, +/turf/closed/wall, +/area/chapel/office) +"btD" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"btE" = ( +/turf/closed/wall, +/area/crew_quarters/bar) +"btF" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/crew_quarters/bar) +"btG" = ( +/obj/machinery/modular_computer/console/preset/engineering, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot, +/obj/machinery/requests_console{ + department = "Engineering"; + departmentType = 4; + name = "Engineering RC"; + pixel_x = -30 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"btH" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/brflowers, +/obj/structure/flora/ausbushes/leafybush, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "bar_1"; + name = "Bar Shutter" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/grass, +/area/crew_quarters/bar) +"btI" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/genericbush, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/sunnybush, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "bar_1"; + name = "Bar Shutter" + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/grass, +/area/crew_quarters/bar) +"btJ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Security Office"; + req_access_txt = "63" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/main) +"btK" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall, +/area/crew_quarters/bar) +"btL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/central) +"btM" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/library) +"btN" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/central) +"btO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/central) +"btP" = ( +/obj/structure/chair/wood/normal{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"btQ" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/landmark/event_spawn, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/security/courtroom) +"btR" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"btS" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"btT" = ( +/obj/structure/bookcase/random/reference, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"btU" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"btV" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"btW" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/newscaster{ + pixel_x = 30 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/port) +"btX" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"btY" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"btZ" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-22" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"bua" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-17"; + pixel_x = 8; + pixel_y = 3 + }, +/obj/machinery/light_switch{ + pixel_x = 24; + pixel_y = 40 + }, +/obj/machinery/button/door{ + id = "bar_1"; + name = "Bar Shutters Toggle"; + pixel_x = 24; + pixel_y = 24; + req_access_txt = "25" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bub" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-02"; + pixel_y = 3 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"buc" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bud" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/machinery/camera{ + c_tag = "Bridge Council Door"; + dir = 4; + name = "command camera" + }, +/turf/open/floor/plasteel, +/area/bridge) +"bue" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot_white, +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"buf" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/book/manual/wiki/barman_recipes{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/requests_console{ + department = "Bar"; + departmentType = 2; + name = "Bar RC"; + pixel_x = 30; + receive_ore_updates = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bug" = ( +/obj/structure/bookcase/random/fiction, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"buh" = ( +/obj/structure/chair/wood/normal{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bui" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/landmark/start/head_of_personnel, +/obj/structure/chair/office, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hop) +"buj" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/storage/fancy/donut_box, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"buk" = ( +/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/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/bridge) +"bul" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/bridge) +"bum" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/paicard, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bun" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral, +/obj/item/clipboard, +/obj/item/folder, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"buo" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/bridge) +"bup" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"buq" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bur" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/turf/open/floor/plasteel, +/area/bridge) +"bus" = ( +/obj/machinery/suit_storage_unit/captain, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/captain) +"but" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/computer/libraryconsole{ + pixel_y = 5 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/library) +"buu" = ( +/obj/structure/bookcase/random/fiction, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"buv" = ( +/obj/structure/bookcase/random/nonfiction, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"buw" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"bux" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"buy" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/crew_quarters/bar) +"buz" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/storage/box/matches{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/lighter{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/lighter, +/obj/machinery/newscaster{ + pixel_y = -30 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"buA" = ( +/obj/machinery/vending/boozeomat, +/turf/closed/wall, +/area/crew_quarters/bar) +"buB" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"buC" = ( +/turf/closed/wall, +/area/library) +"buD" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/landmark/start/botanist, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"buE" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/library) +"buF" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/table/wood, +/obj/structure/reagent_dispensers/beerkeg{ + pixel_y = 5 + }, +/obj/structure/sign/poster/contraband/red_rum{ + pixel_y = -30 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"buG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"buH" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"buI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_y = -24 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/photocopier, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"buJ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"buK" = ( +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/central) +"buL" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/bookbinder, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/plasteel/dark, +/area/library) +"buM" = ( +/turf/open/floor/wood, +/area/library) +"buN" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/vending/games, +/obj/effect/turf_decal/bot_white, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/dark, +/area/library) +"buO" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"buP" = ( +/obj/structure/bookcase/random/nonfiction, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"buR" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"buS" = ( +/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/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/security/checkpoint/supply) +"buT" = ( +/obj/structure/plasticflaps/opaque, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=1"; + dir = 1; + freq = 1400; + location = "Engineering"; + name = "navigation beacon (Engineering Delivery)" + }, +/obj/machinery/door/window/northright{ + dir = 4; + name = "Engineering Delivery Access"; + req_one_access_txt = "10;24" + }, +/obj/machinery/door/poddoor/preopen{ + id = "Engineering"; + name = "Engineering Blast Doors" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"buU" = ( +/obj/machinery/door/morgue{ + name = "Private Study"; + req_access_txt = "37" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/library) +"buV" = ( +/obj/effect/turf_decal/tile/neutral, +/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/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/atmos) +"buW" = ( +/obj/structure/bookcase/random/religion, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/sign/barsign{ + pixel_y = 32; + req_access = null; + req_access_txt = "25" + }, +/turf/open/floor/plasteel/dark, +/area/library) +"buX" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/clipboard, +/obj/item/camera_film{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/camera_film, +/obj/machinery/newscaster{ + pixel_x = 30 + }, +/obj/machinery/camera{ + c_tag = "Library"; + dir = 8; + name = "bar camera" + }, +/turf/open/floor/plasteel/dark, +/area/library) +"buY" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"buZ" = ( +/obj/structure/chair/wood/normal{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bva" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bvb" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/dark, +/area/library) +"bvc" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bvd" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/wood, +/area/library) +"bve" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bvf" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bvg" = ( +/obj/structure/bookcase/random/religion, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/library) +"bvh" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bvi" = ( +/obj/structure/bookcase/random/reference, +/obj/machinery/camera{ + c_tag = "Bar Shelves"; + name = "bar camera" + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"bvj" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"bvk" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/obj/effect/landmark/start/bartender, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bvl" = ( +/obj/structure/bookcase/random/adult, +/turf/open/floor/plasteel/dark, +/area/library) +"bvm" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/chair/stool/bar{ + pixel_x = -8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bvn" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/library) +"bvo" = ( +/obj/machinery/computer/secure_data{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bvp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/wood, +/area/library) +"bvq" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bvr" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/turf/open/floor/wood, +/area/library) +"bvs" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/table/wood, +/obj/item/clipboard, +/obj/item/gun/ballistic/revolver/doublebarrel{ + pixel_y = 5 + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/item/ammo_casing/shotgun/beanbag, +/obj/item/ammo_casing/shotgun/beanbag, +/obj/item/ammo_casing/shotgun/beanbag, +/obj/item/ammo_casing/shotgun/beanbag, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bvt" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table/wood, +/obj/machinery/computer/libraryconsole/bookmanagement{ + pixel_y = 5 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/noticeboard{ + dir = 8; + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/library) +"bvu" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/photocopier, +/obj/effect/turf_decal/bot_white, +/obj/structure/extinguisher_cabinet{ + pixel_y = -28 + }, +/turf/open/floor/plasteel/dark, +/area/library) +"bvv" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 32 + }, +/obj/machinery/camera{ + c_tag = "Council Chamber"; + dir = 8; + name = "command camera" + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"bvw" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/computer/holodeck{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bvx" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bvy" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Art Cabinet" + }, +/turf/open/floor/plasteel/dark, +/area/library) +"bvz" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bvA" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall, +/area/library) +"bvB" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bvC" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bvD" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"bvE" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bvF" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bvG" = ( +/obj/structure/mirror{ + pixel_y = 28 + }, +/obj/structure/sink{ + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"bvH" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/effect/landmark/start/bartender, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bvI" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bvJ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bvL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/wood, +/area/library) +"bvM" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"bvN" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"bvO" = ( +/obj/structure/mirror{ + pixel_y = 28 + }, +/obj/structure/sink{ + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"bvP" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-14" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"bvQ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bvR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"bvS" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/crew_quarters/bar) +"bvT" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/button/crematorium{ + id = "crematoriumChapel"; + pixel_y = 24; + req_access_txt = "27" + }, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"bvU" = ( +/obj/structure/bookcase/random/adult, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/turf/open/floor/plasteel/dark, +/area/library) +"bvV" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-16" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bvW" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "Shower_2Privacy"; + name = "Shower 2 Privacy Shutter" + }, +/turf/open/floor/plating, +/area/crew_quarters/toilet/restrooms) +"bvX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/wood{ + icon_state = "wood-broken5" + }, +/area/library) +"bvY" = ( +/obj/effect/landmark/start/bartender, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"bvZ" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/wood, +/area/library) +"bwa" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "applebush" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bwb" = ( +/obj/structure/extinguisher_cabinet{ + pixel_y = 30 + }, +/obj/machinery/camera{ + c_tag = "Captain's Office"; + name = "command camera" + }, +/obj/structure/chair/comfy/brown{ + buildstackamount = 0; + color = "#c45c57"; + dir = 8 + }, +/turf/open/floor/carpet, +/area/crew_quarters/heads/captain) +"bwc" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bwd" = ( +/obj/structure/noticeboard{ + pixel_y = 30 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-17"; + pixel_x = -8; + pixel_y = 3 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/captain) +"bwf" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-16" + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/port) +"bwg" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet, +/obj/item/stack/rods/ten, +/obj/item/stock_parts/matter_bin, +/turf/open/floor/plating, +/area/maintenance/port) +"bwh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bwj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bwk" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/security/courtroom) +"bwl" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"bwm" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/security/courtroom) +"bwo" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/twohanded/required/kirbyplants, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"bwp" = ( +/obj/machinery/status_display/ai, +/turf/closed/wall/r_wall, +/area/ai_monitored/turret_protected/ai_upload) +"bwq" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/reagent_dispensers/watertank/high, +/obj/item/reagent_containers/glass/bucket, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"bwr" = ( +/obj/machinery/hydroponics/soil, +/obj/item/seeds/wheat, +/turf/open/floor/grass, +/area/chapel/main) +"bws" = ( +/turf/closed/wall/rust, +/area/security/detectives_office) +"bwt" = ( +/obj/machinery/hydroponics/soil, +/obj/item/seeds/poppy, +/turf/open/floor/grass, +/area/chapel/main) +"bwu" = ( +/turf/closed/wall/rust, +/area/security/processing) +"bwv" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"bww" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 6 + }, +/obj/machinery/door/airlock/external{ + name = "Atmospherics External Airlock"; + req_access_txt = "24" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"bwx" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/structure/grille, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"bwy" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"bwA" = ( +/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/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"bwB" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/bridge) +"bwC" = ( +/obj/structure/table/wood/fancy, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/flashlight/lantern, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"bwD" = ( +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/captain) +"bwE" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/machinery/recharger, +/obj/machinery/power/apc{ + areastring = "/area/crew_quarters/heads/captain"; + dir = 4; + name = "Captain's Office APC"; + pixel_x = 24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/item/storage/lockbox/medal, +/obj/item/storage/secure/briefcase{ + pixel_x = 5; + pixel_y = 5 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/captain) +"bwF" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/turf_decal/box, +/obj/structure/disposalpipe/sorting/mail{ + dir = 1; + name = "lawyer sorting disposal pipe"; + sortType = 29 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bwG" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/book/manual/hydroponics_pod_people{ + pixel_y = 4 + }, +/obj/item/paper/guides/jobs/hydroponics, +/obj/item/reagent_containers/dropper, +/obj/item/pen, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera{ + c_tag = "Hydroponics Pen"; + dir = 4; + name = "hydroponics camera" + }, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bwH" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/hydroponics) +"bwI" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay Break Room"; + req_access_txt = "5" + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"bwJ" = ( +/obj/structure/sink/puddle, +/obj/structure/flora/ausbushes/reedbush{ + pixel_y = 5 + }, +/turf/open/floor/grass, +/area/chapel/main) +"bwK" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/turf/open/floor/grass, +/area/chapel/main) +"bwL" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/ppflowers, +/obj/machinery/status_display/evac{ + pixel_x = 32; + pixel_y = 32 + }, +/turf/open/floor/grass, +/area/chapel/main) +"bwM" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"bwN" = ( +/turf/open/floor/plasteel/chapel{ + dir = 4 + }, +/area/chapel/main) +"bwO" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/blue, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"bwP" = ( +/obj/structure/bookcase/random/religion, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"bwQ" = ( +/obj/structure/reagent_dispensers/watertank/high, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/glass/bucket, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bwR" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/seed_extractor, +/obj/machinery/camera{ + c_tag = "Apiary"; + dir = 4; + name = "chapel camera" + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"bwS" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/mob/living/simple_animal/sloth/citrus, +/turf/open/floor/plasteel, +/area/quartermaster/sorting) +"bwT" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/ywflowers, +/turf/open/floor/grass, +/area/chapel/main) +"bwU" = ( +/obj/structure/flora/grass/jungle, +/turf/open/floor/grass, +/area/chapel/main) +"bwV" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Fore Hallway Vault"; + dir = 1; + name = "fore camera" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/fore) +"bwW" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/computer/security/qm{ + dir = 1; + network = list("mine","auxbase","vault","qm") + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/supply) +"bwY" = ( +/turf/open/floor/plasteel/chapel{ + dir = 8 + }, +/area/chapel/main) +"bwZ" = ( +/turf/open/floor/plasteel/chapel, +/area/chapel/main) +"bxa" = ( +/obj/structure/bookcase/random/religion, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"bxb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/window/westleft{ + name = "Monkey Pen"; + req_access_txt = "9" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bxc" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bxd" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bxe" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/chapel{ + dir = 1 + }, +/area/chapel/main) +"bxf" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/brflowers, +/obj/structure/flora/ausbushes/leafybush, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/grass, +/area/chapel/main) +"bxg" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/clipboard, +/obj/item/storage/crayons, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"bxh" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/genericbush, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/sunnybush, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced, +/turf/open/floor/grass, +/area/chapel/main) +"bxi" = ( +/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/effect/decal/cleanable/dirt, +/obj/machinery/biogenerator, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"bxj" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/security/checkpoint/supply) +"bxk" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/obj/structure/mirror{ + pixel_y = 28 + }, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/plasteel/dark, +/area/lawoffice) +"bxl" = ( +/obj/structure/filingcabinet, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/supply) +"bxm" = ( +/obj/structure/sign/plaques/atmos, +/turf/closed/wall, +/area/engine/atmos) +"bxn" = ( +/obj/structure/sign/warning/biohazard, +/turf/closed/wall, +/area/science/storage) +"bxo" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bxp" = ( +/obj/structure/sign/departments/medbay/alt, +/turf/closed/wall, +/area/maintenance/port) +"bxq" = ( +/obj/structure/girder, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"bxr" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/medical{ + name = "Operating Theatre"; + req_access_txt = "45" + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bxs" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/landmark/start/cargo_technician, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bxt" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/genericbush, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/sunnybush, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/turf/open/floor/grass, +/area/chapel/main) +"bxu" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/reagent_containers/food/snacks/grown/poppy/lily{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/snacks/grown/poppy/geranium{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/snacks/grown/poppy, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"bxv" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/lattice/catwalk, +/obj/effect/landmark/carpspawn, +/turf/open/floor/plating/airless, +/area/solar/starboard/fore) +"bxw" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bxx" = ( +/obj/machinery/status_display/ai, +/turf/closed/wall/r_wall, +/area/crew_quarters/heads/captain) +"bxy" = ( +/obj/structure/grille, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"bxz" = ( +/obj/structure/girder/displaced, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"bxA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"bxB" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/chapel{ + dir = 1 + }, +/area/chapel/main) +"bxC" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/clipboard, +/obj/item/paper/fluff/holodeck/disclaimer, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bxD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/grass, +/area/chapel/main) +"bxE" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bxF" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"bxG" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/port) +"bxH" = ( +/obj/structure/closet{ + name = "beekeeping supplies" + }, +/obj/item/honey_frame, +/obj/item/honey_frame, +/obj/item/honey_frame, +/obj/item/honey_frame, +/obj/item/honey_frame, +/obj/item/honey_frame, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"bxI" = ( +/obj/structure/closet{ + name = "beekeeping wardrobe" + }, +/obj/item/clothing/suit/beekeeper_suit, +/obj/item/clothing/suit/beekeeper_suit, +/obj/item/clothing/suit/beekeeper_suit, +/obj/item/clothing/head/beekeeper_head, +/obj/item/clothing/head/beekeeper_head, +/obj/item/clothing/head/beekeeper_head, +/obj/item/melee/flyswatter, +/obj/item/melee/flyswatter, +/obj/item/melee/flyswatter, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"bxJ" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/chapel/main) +"bxK" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/airlock/virology/glass{ + name = "Isolation A"; + req_access_txt = "39" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bxL" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/engine/engineering) +"bxM" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/ywflowers, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/grass, +/area/chapel/main) +"bxN" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-03" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bxO" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-16" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"bxP" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/chapel{ + dir = 4 + }, +/area/chapel/main) +"bxQ" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"bxR" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bxS" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bxU" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bxV" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/airlock/virology/glass{ + name = "Isolation B"; + req_access_txt = "39" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bxW" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bxX" = ( +/obj/machinery/status_display/ai, +/turf/closed/wall, +/area/chapel/main) +"bxY" = ( +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel/chapel{ + dir = 1 + }, +/area/chapel/main) +"bxZ" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor{ + id = "Secure Storage"; + name = "Secure Storage" + }, +/obj/machinery/button/door{ + desc = "A remote control-switch for secure storage."; + id = "Secure Storage"; + name = "Secure Storage Toggle"; + pixel_y = -24; + req_access_txt = "11" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"bya" = ( +/obj/structure/table, +/obj/item/hand_labeler, +/obj/item/crowbar/red, +/obj/item/gps/mining, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light_switch{ + pixel_y = 24 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/miningoffice) +"byb" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-22" + }, +/obj/machinery/light, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"byc" = ( +/obj/structure/bookcase/random/religion, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/sign/poster/official/help_others{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"byd" = ( +/obj/structure/sign/departments/holy, +/turf/closed/wall, +/area/chapel/main) +"bye" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/table/glass, +/obj/machinery/newscaster{ + pixel_x = -30 + }, +/obj/item/shovel/spade, +/obj/item/plant_analyzer, +/obj/item/cultivator{ + pixel_x = 6 + }, +/obj/item/reagent_containers/spray/plantbgone{ + pixel_x = 6; + pixel_y = 6 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"byf" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/port) +"byg" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"byh" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"byi" = ( +/turf/open/floor/plasteel, +/area/security/courtroom) +"byj" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/r_wall, +/area/ai_monitored/turret_protected/ai_upload) +"byk" = ( +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"byl" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Mix to Ports" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/atmos) +"bym" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel, +/area/bridge) +"byn" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/bridge) +"byo" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/yellow, +/obj/structure/sign/departments/cargo{ + pixel_x = 32; + pixel_y = -32 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"byp" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/bridge) +"byq" = ( +/obj/machinery/flasher{ + id = "AI"; + name = "Meatbag Pacifier"; + pixel_y = 24 + }, +/obj/machinery/camera/motion{ + c_tag = "AI Upload Turrets"; + name = "upload camera"; + network = list("aiupload") + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai_upload) +"byr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/bridge) +"bys" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/bridge) +"byt" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/bridge) +"byu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/airlock/maintenance{ + name = "security maintenance"; + req_access_txt = "63" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/directions/evac{ + pixel_y = -24 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"byv" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"byw" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel, +/area/bridge) +"byx" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/bridge) +"byy" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall/rust, +/area/maintenance/central) +"byz" = ( +/obj/machinery/computer/security/telescreen{ + dir = 8; + name = "Station Monitor"; + network = list("ss13"); + pixel_x = 24 + }, +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/hand_labeler, +/turf/open/floor/carpet, +/area/security/detectives_office) +"byA" = ( +/obj/machinery/door/poddoor/preopen{ + id = "brigfrontdoor"; + name = "Front Security Blast door" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"byB" = ( +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/ai_monitored/turret_protected/ai_upload"; + dir = 1; + name = "Upload APC"; + pixel_y = 26 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai_upload) +"byC" = ( +/obj/machinery/door/poddoor/preopen{ + id = "transittube_ai"; + name = "Transit Tube Blast Door" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"byD" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/command{ + name = "Captain's Office"; + req_access_txt = "20" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/captain) +"byE" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/closet/secure_closet/captains, +/obj/effect/turf_decal/delivery, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/captain) +"byF" = ( +/obj/structure/closet/secure_closet/engineering_personal, +/obj/item/clothing/suit/hooded/wintercoat/engineering, +/obj/effect/turf_decal/delivery, +/obj/machinery/newscaster{ + pixel_y = 30 + }, +/obj/item/pickaxe/mini, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"byG" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"byH" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/landmark/start/cargo_technician, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"byI" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"byJ" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"byK" = ( +/obj/effect/turf_decal/caution/stand_clear, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light/small, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"byL" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"byM" = ( +/obj/structure/table, +/obj/item/aiModule/reset, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/flasher{ + id = "AI"; + name = "Meatbag Pacifier"; + pixel_x = 24; + pixel_y = 24 + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai_upload) +"byN" = ( +/obj/machinery/porta_turret/ai{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/structure/sign/plaques/kiddie{ + pixel_y = 30 + }, +/obj/effect/turf_decal/box/red, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai_upload) +"byO" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"byP" = ( +/obj/machinery/door/window/brigdoor/westright{ + dir = 4; + name = "Core Modules"; + req_access_txt = "20" + }, +/obj/effect/spawner/lootdrop/aimodule_harmful{ + fan_out_items = 1; + lootcount = 2; + lootdoubles = 0 + }, +/obj/item/aiModule/supplied/oxygen{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/structure/table, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1; + pixel_y = 1 + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai_upload) +"byQ" = ( +/obj/machinery/vending/assist, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/storage/primary) +"byR" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/window/reinforced, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"byS" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/machinery/door/window/eastright{ + base_state = "left"; + icon_state = "left"; + name = "Fitness Ring" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"byT" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/recharge_station, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai_upload) +"byU" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 4; + name = "dormitories sorting disposal pipe"; + sortType = 26 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"byV" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/ai_upload) +"byW" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"byX" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/machinery/light, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"byY" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"byZ" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/closet/wardrobe/black, +/obj/effect/turf_decal/bot, +/obj/item/clothing/under/trendy_fit, +/obj/item/clothing/under/trendy_fit, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"bza" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/power/apc{ + areastring = "/area/crew_quarters/toilet/restrooms"; + name = "Restrooms APC"; + pixel_y = -26 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/camera{ + c_tag = "Restrooms"; + dir = 1; + name = "recreation camera" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"bzb" = ( +/obj/structure/table, +/obj/item/aiModule/supplied/freeform, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai_upload) +"bzc" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/ai_upload) +"bzd" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall, +/area/ai_monitored/turret_protected/ai_upload) +"bzf" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"bzg" = ( +/obj/structure/table, +/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/bedsheetbin, +/obj/machinery/status_display/evac{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/toilet/restrooms) +"bzh" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"bzi" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/vending/clothing, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"bzj" = ( +/obj/machinery/door/window/brigdoor{ + dir = 4; + name = "Core Modules"; + req_access_txt = "20" + }, +/obj/effect/spawner/lootdrop/aimodule_harmless{ + fan_out_items = 1; + lootcount = 3; + lootdoubles = 0 + }, +/obj/structure/table, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1; + pixel_y = 1 + }, +/obj/machinery/flasher{ + id = "AI"; + name = "Meatbag Pacifier"; + pixel_x = -24 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai_upload) +"bzk" = ( +/obj/item/twohanded/required/kirbyplants/photosynthetic, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai_upload) +"bzl" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining/glass{ + name = "Cargo Office"; + req_one_access_txt = "31;48" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bzm" = ( +/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/ai_monitored/turret_protected/ai_upload) +"bzn" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/closet/wardrobe/mixed, +/obj/machinery/light/small, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"bzo" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/ai_upload) +"bzp" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/disposal/bin, +/obj/machinery/light, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"bzq" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/ai_upload) +"bzr" = ( +/obj/structure/table, +/obj/item/aiModule/supplied/quarantine, +/obj/machinery/flasher{ + id = "AI"; + name = "Meatbag Pacifier"; + pixel_x = 24; + pixel_y = -24 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/item/radio/intercom{ + broadcasting = 1; + frequency = 1447; + name = "Private AI Channel"; + pixel_x = 28 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai_upload) +"bzs" = ( +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"bzt" = ( +/obj/machinery/chem_master/condimaster{ + desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; + name = "BrewMaster 2199" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bzu" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/sign/poster/official/no_erp{ + pixel_y = -32 + }, +/turf/closed/wall, +/area/crew_quarters/locker) +"bzv" = ( +/obj/machinery/door/airlock/maintenance{ + name = "security maintenance"; + req_access_txt = "63" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/aft) +"bzw" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"bzx" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/closed/wall, +/area/crew_quarters/locker) +"bzy" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/locker) +"bzz" = ( +/obj/structure/table/wood, +/obj/item/storage/briefcase, +/obj/machinery/status_display/evac{ + pixel_x = -32 + }, +/turf/open/floor/plasteel, +/area/security/courtroom) +"bzA" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/landmark/start/captain, +/turf/open/floor/wood, +/area/crew_quarters/heads/captain) +"bzB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 4 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/captain) +"bzC" = ( +/obj/machinery/seed_extractor, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bzD" = ( +/obj/structure/flora/ausbushes/palebush, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"bzE" = ( +/obj/machinery/door/airlock/vault{ + id_tag = "bank"; + name = "Bank Vault" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"bzF" = ( +/obj/machinery/door/poddoor/preopen{ + id = "brigfrontdoor"; + name = "Front Security Blast door" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"bzG" = ( +/turf/closed/wall/r_wall, +/area/engine/gravity_generator) +"bzH" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering/glass{ + name = "Supermatter Engine"; + req_access_txt = "10" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"bzI" = ( +/obj/structure/table, +/obj/effect/turf_decal/bot, +/obj/item/tank/internals/oxygen{ + pixel_x = 5 + }, +/obj/item/tank/internals/oxygen{ + pixel_x = -5 + }, +/obj/item/wrench, +/obj/item/clothing/mask/gas{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/mask/gas, +/obj/machinery/door/window/northleft{ + name = "Emergency Storage"; + req_access_txt = "19" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bzJ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/bridge) +"bzK" = ( +/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/effect/decal/cleanable/dirt, +/obj/structure/spider/stickyweb, +/obj/effect/decal/cleanable/blood/gibs/old, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"bzL" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/bridge) +"bzM" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/bridge) +"bzN" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/central) +"bzO" = ( +/obj/structure/girder, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bzP" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/item/storage/photo_album/Captain, +/obj/item/camera, +/obj/machinery/newscaster/security_unit{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/captain) +"bzQ" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bzR" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bzS" = ( +/obj/structure/lattice/catwalk, +/obj/structure/transit_tube/crossing, +/turf/open/space/basic, +/area/space/nearstation) +"bzT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/wood, +/area/crew_quarters/heads/captain) +"bzU" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/table, +/obj/item/stack/sheet/cardboard/fifty, +/obj/item/storage/box/lights/mixed{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/storage/box/lights/mixed{ + pixel_y = 2 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/sorting) +"bzV" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters{ + id = "bankshutter"; + name = "Bank Shutter" + }, +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating, +/area/maintenance/port) +"bzW" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/turf/open/floor/plasteel, +/area/quartermaster/sorting) +"bzX" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table, +/obj/item/stack/packageWrap, +/obj/item/stack/packageWrap, +/obj/item/stack/packageWrap, +/obj/item/stack/packageWrap, +/obj/item/stack/packageWrap, +/obj/item/stack/packageWrap, +/obj/item/stack/wrapping_paper{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/stack/wrapping_paper{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/stack/cable_coil, +/obj/item/hand_labeler, +/obj/item/hand_labeler, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/light_switch{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/sorting) +"bzY" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"bzZ" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/grunge{ + name = "Restrooms" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"bAa" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bAb" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/central) +"bAc" = ( +/obj/effect/turf_decal/bot, +/obj/structure/safe{ + pixel_x = 3 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/stack/spacecash/c500{ + pixel_x = -2; + pixel_y = -2 + }, +/obj/item/storage/belt/bandolier, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"bAd" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/closet{ + name = "suit closet" + }, +/obj/item/clothing/under/lawyer/female{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/under/lawyer/bluesuit, +/obj/item/clothing/under/lawyer/red{ + pixel_x = -4; + pixel_y = -4 + }, +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bAe" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/fernybush, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"bAf" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/space/basic, +/area/space/nearstation) +"bAg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bAh" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"bAi" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/landmark/start/assistant, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bAj" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/central) +"bAk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/table, +/obj/item/poster/random_official{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/poster/random_official, +/turf/open/floor/plating, +/area/maintenance/port) +"bAl" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/blue, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"bAm" = ( +/obj/structure/sign/warning/vacuum/external, +/turf/closed/wall, +/area/maintenance/central) +"bAn" = ( +/obj/structure/reagent_dispensers/watertank/high, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/reagent_containers/glass/bucket, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bAo" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"bAp" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/insectguts, +/turf/open/floor/plasteel/dark, +/area/maintenance/central) +"bAq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/item/stack/packageWrap, +/obj/item/storage/box, +/turf/open/floor/plating, +/area/maintenance/port) +"bAr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"bAs" = ( +/obj/structure/table/glass, +/obj/item/storage/box/beakers{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/storage/box/syringes{ + pixel_y = 2 + }, +/obj/item/hand_labeler, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bAt" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/item/plant_analyzer{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/plant_analyzer, +/obj/item/cultivator, +/obj/item/cultivator, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/central) +"bAu" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hydroponics) +"bAv" = ( +/obj/structure/girder, +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/aft) +"bAw" = ( +/obj/machinery/porta_turret/ai{ + dir = 1 + }, +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/obj/effect/turf_decal/box/red, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai_upload) +"bAx" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bAy" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/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/plasteel, +/area/crew_quarters/locker) +"bAz" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/table, +/obj/item/storage/crayons, +/obj/item/clothing/under/color/grey{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/under/color/grey, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bAA" = ( +/obj/structure/table, +/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/item/storage/backpack{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/storage/backpack, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bAB" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/delivery, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bAC" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/start/cargo_technician, +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/quartermaster/sorting) +"bAD" = ( +/obj/item/radio/intercom{ + pixel_x = 28; + pixel_y = 22 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/wood{ + icon_state = "wood-broken4" + }, +/area/chapel/office) +"bAE" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"bAF" = ( +/obj/structure/grille/broken, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/aft) +"bAG" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/quartermaster/sorting) +"bAH" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bAI" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/status_display/evac{ + pixel_x = -32; + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bAJ" = ( +/obj/machinery/computer/secure_data, +/obj/machinery/requests_console{ + department = "Detective's office"; + name = "Detective RC"; + pixel_y = 30 + }, +/obj/machinery/light_switch{ + pixel_x = 24; + pixel_y = -6 + }, +/obj/machinery/button/door{ + id = "detective_shutters"; + name = "Detective's Privacy Toggle"; + pixel_x = 24; + pixel_y = 6; + req_access_txt = "4" + }, +/turf/open/floor/wood, +/area/security/detectives_office) +"bAK" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bAL" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bAM" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bAN" = ( +/turf/closed/wall, +/area/medical/virology) +"bAO" = ( +/obj/structure/sink/kitchen{ + desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; + name = "old sink"; + pixel_y = 28 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"bAP" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bAQ" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/power/apc{ + areastring = "/area/crew_quarters/locker"; + name = "Locker Room APC"; + pixel_x = -1; + pixel_y = -26 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bAR" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_x = 28; + pixel_y = -28 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/library) +"bAS" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-10" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/library) +"bAT" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/aft) +"bAU" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/conveyor_switch/oneway{ + id = "QMLoad2"; + name = "on ramp"; + pixel_y = 6 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bAV" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters{ + id = "commissaryshutter"; + name = "Vacant Commissary Shutter" + }, +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating, +/area/vacant_room/commissary) +"bAW" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bAX" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bAY" = ( +/obj/effect/turf_decal/caution/stand_clear, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bAZ" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + dir = 8; + freq = 1400; + location = "QM #3" + }, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/mob/living/simple_animal/bot/mulebot{ + home_destination = "QM #3"; + suffix = "#3" + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"bBa" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bBb" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bBc" = ( +/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/corner, +/area/hallway/primary/starboard) +"bBd" = ( +/obj/machinery/vending/tool, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/newscaster{ + pixel_x = -30 + }, +/turf/open/floor/plasteel/dark, +/area/storage/primary) +"bBe" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bBf" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bBg" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/sign/poster/official/fruit_bowl{ + pixel_x = 32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/port) +"bBh" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bBi" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/components/binary/pump/on{ + dir = 1; + name = "Mix to Filter" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/atmos) +"bBj" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bBk" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "detective_shutters"; + name = "Detective's Office Shutter" + }, +/turf/open/floor/plating, +/area/security/detectives_office) +"bBm" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 4; + name = "Distro to Connector" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bBn" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/vending/cola/random, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bBo" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Cargo Security Post"; + req_access_txt = "63" + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/supply) +"bBp" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bBq" = ( +/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/tile/neutral{ + dir = 1 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bBr" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bBs" = ( +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/meter, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"bBt" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/atmos) +"bBu" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/light_switch{ + pixel_y = -24 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bBv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/grunge{ + id_tag = "commissarydoor"; + name = "Vacant Commissary"; + req_one_access_txt = "12;63;48;50" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/aft) +"bBw" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bBx" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/status_display/ai{ + pixel_y = -32 + }, +/obj/machinery/camera{ + c_tag = "Recreation Fitness Ring"; + dir = 1; + name = "recreation camera" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bBy" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall, +/area/hallway/primary/aft) +"bBz" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/landmark/start/detective, +/turf/open/floor/wood, +/area/security/detectives_office) +"bBA" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bBC" = ( +/obj/machinery/holopad, +/turf/open/floor/carpet, +/area/security/detectives_office) +"bBD" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bBE" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bBF" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table, +/obj/item/storage/box/PDAs{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/storage/box/silver_ids{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/storage/box/ids, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hop) +"bBG" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bBH" = ( +/obj/machinery/door/airlock/command{ + name = "Captain's Tactical Relocation"; + req_access_txt = "20" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/captain) +"bBI" = ( +/obj/machinery/door/airlock/external{ + name = "Prison External Airlock"; + req_access_txt = "2" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bBJ" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/aft) +"bBK" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/vending/wardrobe/hydro_wardrobe, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/newscaster{ + pixel_x = -30 + }, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bBL" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/structure/window/reinforced, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -24; + pixel_y = -32 + }, +/turf/open/floor/plasteel, +/area/quartermaster/sorting) +"bBM" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/window/southleft{ + name = "Cargo Disposal"; + req_access_txt = "50" + }, +/obj/machinery/conveyor_switch/oneway{ + id = "packageSort2"; + name = "mail belt"; + pixel_y = 6 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/quartermaster/sorting) +"bBN" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/window/southright{ + name = "Cargo Disposal"; + req_access_txt = "50" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/quartermaster/sorting) +"bBO" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "Shower_1Privacy"; + name = "Shower 1 Privacy Shutter" + }, +/turf/open/floor/plating, +/area/crew_quarters/toilet/restrooms) +"bBP" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/window/reinforced, +/obj/machinery/door/window/southright{ + dir = 4; + name = "Mail Chute"; + req_access_txt = "50" + }, +/turf/open/floor/plasteel, +/area/quartermaster/sorting) +"bBQ" = ( +/obj/structure/table/glass, +/obj/machinery/reagentgrinder{ + pixel_y = 5 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bBR" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/analyzer{ + pixel_y = 4 + }, +/obj/item/analyzer{ + pixel_x = 2 + }, +/obj/machinery/requests_console{ + department = "Tool Storage"; + name = "Tool Storage RC"; + pixel_x = -30 + }, +/turf/open/floor/plasteel/dark, +/area/storage/primary) +"bBS" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bBT" = ( +/obj/structure/window/reinforced, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc{ + areastring = "/area/quartermaster/sorting"; + dir = 4; + name = "Delivery Office APC"; + pixel_x = 26 + }, +/obj/structure/cable, +/obj/machinery/disposal/deliveryChute{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/sorting) +"bBU" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-22" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bBV" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bBW" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bBX" = ( +/obj/machinery/door/poddoor{ + id = "toxinsdriver"; + name = "Toxins Launcher Bay Door" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard) +"bBY" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bBZ" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bCa" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bCb" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/r_wall, +/area/maintenance/port) +"bCc" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bCd" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/photocopier, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/security/detectives_office) +"bCe" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bCf" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/newscaster{ + pixel_y = -30 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bCg" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bCh" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/aft) +"bCi" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Connector to Security" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bCj" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bCk" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/storage/toolbox/mechanical, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/storage/primary) +"bCl" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/stack/cable_coil{ + pixel_y = 4 + }, +/obj/item/stack/cable_coil, +/obj/item/storage/belt/utility, +/obj/item/crowbar/red, +/turf/open/floor/plasteel/dark, +/area/storage/primary) +"bCm" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bCn" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/security{ + name = "Law Office"; + req_access_txt = "38" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/lawoffice) +"bCo" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/storage/primary) +"bCp" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/radio{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/radio{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/radio{ + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/storage/primary) +"bCq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/wood, +/area/lawoffice) +"bCr" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bCs" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bCt" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bCu" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bCv" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/security/glass{ + name = "Security Office"; + req_access_txt = "63" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/main) +"bCw" = ( +/obj/item/clothing/head/helmet/justice/escape{ + name = "justice helmet" + }, +/obj/structure/sign/poster/official/the_owl{ + pixel_y = 32 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/aft) +"bCx" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/storage/primary) +"bCy" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bCz" = ( +/obj/structure/chair/stool, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"bCA" = ( +/obj/structure/sign/departments/engineering, +/turf/closed/wall, +/area/storage/primary) +"bCB" = ( +/obj/machinery/computer/cargo{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/turf/open/floor/carpet, +/area/crew_quarters/heads/hop) +"bCC" = ( +/obj/machinery/status_display/ai, +/turf/closed/wall/r_wall, +/area/storage/tech) +"bCE" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/ai_monitored/storage/eva) +"bCF" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bCG" = ( +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "External Gas to Loop" + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"bCH" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/button/door{ + id = "teleshutter"; + name = "Teleporter Shutter Toggle"; + pixel_x = -8; + pixel_y = 24; + req_access_txt = "19" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Central Hallway Teleporter Access"; + name = "central camera" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bCI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/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/wood, +/area/crew_quarters/heads/captain) +"bCJ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ai_monitored/storage/eva) +"bCK" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hop) +"bCL" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bCM" = ( +/turf/closed/wall, +/area/storage/tech) +"bCN" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bCO" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bCP" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/ai_monitored/storage/eva) +"bCR" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/standard_unit, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/storage/eva) +"bCS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/teleporter) +"bCT" = ( +/obj/effect/turf_decal/bot, +/obj/structure/table, +/obj/item/storage/belt/utility, +/obj/item/radio{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/radio{ + pixel_y = 2 + }, +/obj/item/flashlight/flare, +/turf/open/floor/plasteel, +/area/ai_monitored/storage/eva) +"bCU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/teleporter) +"bCV" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/suit_storage_unit/standard_unit, +/obj/structure/window/reinforced, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/storage/eva) +"bCW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc{ + areastring = "/area/teleporter"; + dir = 1; + name = "Teleporter APC"; + pixel_y = 24 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/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/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/teleporter) +"bCX" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/captain) +"bCY" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"bCZ" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/stock_parts/cell/high, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/dark, +/area/storage/tech) +"bDa" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engine/atmos) +"bDb" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 5 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engine/atmos) +"bDc" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/captain) +"bDd" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/standard_unit, +/obj/structure/sign/warning/securearea{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/storage/eva) +"bDe" = ( +/obj/effect/turf_decal/bot, +/obj/structure/tank_dispenser/oxygen{ + pixel_x = -1; + pixel_y = 2 + }, +/turf/open/floor/plasteel, +/area/ai_monitored/storage/eva) +"bDf" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engine/atmos) +"bDg" = ( +/obj/machinery/status_display/ai, +/turf/closed/wall/r_wall, +/area/ai_monitored/storage/eva) +"bDh" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bDi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"bDj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bDk" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/item/storage/backpack/satchel/eng, +/obj/item/wirecutters, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bDl" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bDm" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/airlock/engineering/glass{ + name = "Engineering Storage"; + req_access_txt = "32" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"bDn" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/cardboard, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bDo" = ( +/obj/structure/girder, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bDp" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/techstorage/tcomms, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark, +/area/storage/tech) +"bDq" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/analyzer{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/analyzer, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/storage/tech) +"bDr" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/storage/tech) +"bDs" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"bDt" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"bDu" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/camera{ + c_tag = "Port Hallway Vendors"; + dir = 4; + name = "port camera" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/port) +"bDv" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/techstorage/rnd, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot, +/obj/structure/sign/warning/securearea{ + pixel_x = 32 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/storage/tech) +"bDw" = ( +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"bDx" = ( +/turf/open/floor/wood, +/area/crew_quarters/heads/hop) +"bDy" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/ai_monitored/storage/eva) +"bDz" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hop) +"bDA" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bDB" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ai_monitored/storage/eva) +"bDC" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/camera{ + c_tag = "Bridge Access"; + dir = 8; + name = "command camera" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bDD" = ( +/obj/structure/table, +/obj/item/storage/toolbox/electrical, +/obj/item/multitool, +/turf/open/floor/engine, +/area/storage/tech) +"bDE" = ( +/obj/structure/table, +/obj/item/clothing/gloves/color/yellow, +/obj/item/electronics/apc, +/obj/item/electronics/airlock{ + pixel_y = 6 + }, +/obj/item/stock_parts/cell/high/plus, +/turf/open/floor/engine, +/area/storage/tech) +"bDF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/teleporter) +"bDG" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/beacon, +/turf/open/floor/plasteel, +/area/teleporter) +"bDH" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/central) +"bDI" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/r_wall, +/area/storage/tech) +"bDJ" = ( +/obj/effect/turf_decal/bot, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/maintenance/central) +"bDK" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/light_switch{ + pixel_y = -24 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small, +/turf/open/floor/plasteel, +/area/hydroponics) +"bDL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bDM" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bDN" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/techstorage/medical, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/turf/open/floor/plasteel/dark, +/area/storage/tech) +"bDO" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/vending/assist, +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/turf/open/floor/plasteel/dark, +/area/storage/tech) +"bDP" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/techstorage/engineering, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/camera{ + c_tag = "Tech Storage"; + dir = 1; + name = "engineering camera"; + network = list("ss13","engine") + }, +/turf/open/floor/plasteel/dark, +/area/storage/tech) +"bDQ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bDR" = ( +/obj/machinery/light/floor, +/turf/open/floor/engine/co2{ + initial_gas_mix = "co2=1000;TEMP=293.15" + }, +/area/engine/atmos) +"bDS" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/aicard, +/obj/item/aiModule/reset, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/storage/tech) +"bDT" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/aft) +"bDU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bDV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bDW" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/port/aft) +"bDX" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/techstorage/command, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/storage/tech) +"bDY" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/techstorage/RnD_secure, +/obj/machinery/light/small, +/obj/machinery/status_display/shuttle{ + pixel_y = -32 + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/storage/tech) +"bDZ" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/techstorage/AI, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/storage/tech) +"bEa" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/emcloset/anchored, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"bEb" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bEc" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/port) +"bEd" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/vending/coffee, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"bEe" = ( +/obj/structure/bed/dogbed/renault, +/obj/machinery/button/door{ + id = "captain_escape"; + name = "Tactical Relocation Toggle"; + pixel_x = 6; + pixel_y = -24 + }, +/mob/living/simple_animal/pet/fox/Renault, +/turf/open/floor/wood, +/area/crew_quarters/heads/captain) +"bEf" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bEg" = ( +/turf/closed/wall, +/area/maintenance/starboard/aft) +"bEh" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"bEi" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/storage/fancy/donut_box, +/obj/structure/table, +/obj/machinery/camera{ + c_tag = "Courtroom Jury"; + dir = 8; + name = "command camera" + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"bEj" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/closet/secure_closet/hop, +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hop) +"bEk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/teleporter) +"bEl" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/teleporter) +"bEm" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"bEn" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/central) +"bEo" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bEp" = ( +/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/plasteel/dark, +/area/maintenance/aft) +"bEq" = ( +/obj/structure/sign/warning/pods, +/turf/closed/wall/rust, +/area/maintenance/starboard) +"bEr" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/central) +"bEs" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bEt" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bEu" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bEv" = ( +/obj/structure/grille/broken, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/aft) +"bEw" = ( +/obj/structure/sign/poster/contraband/random{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"bEx" = ( +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"bEy" = ( +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"bEz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"bEA" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bEB" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bEC" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bED" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bEF" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sign/departments/security{ + pixel_x = -32 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bEG" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bEH" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/maintenance/aft) +"bEI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/girder/displaced, +/obj/structure/grille/broken, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/aft) +"bEJ" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/structure/fans/tiny, +/turf/open/floor/plating, +/area/engine/atmos) +"bEK" = ( +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bEL" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bEM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "captain_escape"; + name = "Tactical Relocation Shutter" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/captain) +"bEN" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bEO" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"bEP" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/grunge{ + name = "Recreation Area" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bER" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bES" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"bEU" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_x = 30 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bEV" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall, +/area/maintenance/aft) +"bEW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/aft) +"bEX" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters{ + id = "bankshutter"; + name = "Bank Shutter" + }, +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/noticeboard{ + dir = 1; + pixel_y = -27 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bEY" = ( +/obj/effect/turf_decal/bot, +/obj/structure/table, +/obj/structure/grille/broken, +/obj/item/book/manual/wiki/engineering_hacking, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bEZ" = ( +/obj/machinery/door/airlock/maintenance{ + name = "e.v.a. maintenance"; + req_access_txt = "18" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/aft) +"bFa" = ( +/turf/closed/wall, +/area/maintenance/aft) +"bFb" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/airlock/grunge{ + name = "Restrooms" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"bFc" = ( +/obj/structure/sign/warning/fire, +/turf/closed/wall, +/area/maintenance/aft) +"bFd" = ( +/obj/machinery/door/airlock/atmos{ + name = "Filter Chamber" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/aft) +"bFe" = ( +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/sign/warning/electricshock{ + pixel_y = -32 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bFf" = ( +/obj/structure/sign/poster/contraband/random{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bFg" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/crate{ + name = "disposal supplies" + }, +/obj/item/bodybag, +/obj/item/bodybag, +/obj/item/shovel, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/aft) +"bFh" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"bFi" = ( +/obj/structure/sign/warning/electricshock{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bFj" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/atmos) +"bFk" = ( +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"bFl" = ( +/obj/machinery/vending/snack/random, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sign/poster/official/the_owl{ + pixel_x = 32 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"bFm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bFn" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bFo" = ( +/obj/structure/sign/warning/electricshock{ + pixel_y = -32 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/lattice/catwalk, +/obj/machinery/light/small, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/port/aft) +"bFp" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/port/aft) +"bFq" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/port/aft) +"bFr" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"bFs" = ( +/turf/closed/wall/r_wall, +/area/maintenance/aft) +"bFt" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/security/glass{ + name = "Engineering Security Post"; + req_access_txt = "63" + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/engineering) +"bFu" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 4 + }, +/area/hallway/primary/port) +"bFv" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"bFw" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"bFx" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/portable_atmospherics/scrubber/huge, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"bFy" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/portable_atmospherics/scrubber/huge, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"bFA" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bFB" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/microwave{ + pixel_y = 5 + }, +/obj/structure/table, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"bFC" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/structure/grille/broken, +/obj/item/wallframe/apc, +/obj/item/stack/cable_coil, +/turf/open/floor/plating, +/area/maintenance/aft) +"bFD" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bFE" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/aft) +"bFF" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/item/twohanded/required/kirbyplants, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bFG" = ( +/obj/machinery/light/floor, +/turf/open/floor/engine/plasma{ + initial_gas_mix = "plasma=1000;TEMP=293.15" + }, +/area/engine/atmos) +"bFH" = ( +/obj/machinery/gulag_teleporter, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"bFI" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bFJ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bFK" = ( +/obj/structure/table, +/obj/machinery/recharger, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/status_display/ai{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"bFL" = ( +/obj/structure/table, +/obj/machinery/recharger, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/structure/sign/warning/electricshock{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"bFM" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/teleporter) +"bFN" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-05" + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bFO" = ( +/obj/machinery/bluespace_beacon, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/teleporter) +"bFP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/obj/structure/grille, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"bFQ" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall, +/area/maintenance/port) +"bFR" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/central) +"bFS" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/aft) +"bFT" = ( +/obj/machinery/door/airlock/atmos{ + name = "Filter Chamber" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/aft) +"bFU" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/aft) +"bFV" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bFW" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/door/window/northleft{ + name = "Hydroponics Lockers"; + req_access_txt = "35" + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"bFX" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/requests_console{ + department = "Hydroponics"; + departmentType = 2; + name = "Hydroponics RC"; + pixel_x = 30; + pixel_y = -30 + }, +/obj/machinery/door/window/northright{ + name = "Hydroponics Lockers"; + req_access_txt = "35" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"bFY" = ( +/obj/structure/girder, +/obj/structure/grille, +/obj/structure/barricade/wooden, +/turf/open/floor/plating, +/area/maintenance/aft) +"bFZ" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall, +/area/maintenance/aft) +"bGa" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/aft) +"bGb" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) +"bGc" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/vending/hydroseeds{ + slogan_delay = 700 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bGd" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/aft) +"bGe" = ( +/obj/machinery/holopad, +/obj/structure/disposalpipe/segment, +/turf/open/floor/carpet, +/area/crew_quarters/heads/captain) +"bGf" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/cardboard, +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/maintenance/aft) +"bGg" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/aft) +"bGh" = ( +/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/corner{ + dir = 1 + }, +/area/hallway/primary/starboard) +"bGi" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/vending/snack/random, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bGj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/aft) +"bGk" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/crate/hydroponics, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/item/shovel/spade, +/obj/item/wrench, +/obj/item/crowbar/red, +/obj/item/cultivator, +/obj/item/wirecutters, +/obj/item/reagent_containers/glass/bucket, +/obj/item/circuitboard/machine/biogenerator, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"bGl" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bGm" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/girder, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bGn" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/status_display/evac{ + pixel_x = 32; + pixel_y = 32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bGo" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall, +/area/engine/atmos) +"bGp" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bGq" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Central Hallway Courtroom"; + name = "central camera" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bGr" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/aft) +"bGs" = ( +/obj/effect/turf_decal/caution{ + pixel_y = -12 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bGt" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/teleporter) +"bGu" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/aft) +"bGv" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/teleporter) +"bGw" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/teleporter) +"bGx" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/central) +"bGy" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bGz" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bGA" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Locker Room"; + name = "recreation camera" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bGB" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bGC" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/engine/atmos) +"bGD" = ( +/obj/machinery/computer/security/labor, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_x = -8; + pixel_y = 24 + }, +/obj/machinery/status_display/evac{ + pixel_x = -32 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"bGE" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/landmark/start/assistant, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bGF" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/door/airlock/engineering{ + name = "Engineering"; + req_access_txt = "10" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"bGG" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/aft) +"bGH" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"bGI" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bGJ" = ( +/obj/machinery/power/apc{ + area = "/area/maintenance/aft"; + dir = 8; + name = "Aft Maintenance APC"; + pixel_x = -26 + }, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/aft) +"bGK" = ( +/obj/structure/sign/warning/securearea{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/aft) +"bGL" = ( +/obj/machinery/door/airlock/external{ + name = "Labor Camp Shuttle Airlock"; + req_access_txt = "2"; + shuttledocked = 1 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"bGM" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bGN" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bGO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2; + name = "disposals sorting disposal pipe"; + sortType = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bGP" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Starboad Hallway Custodial Bay"; + name = "starboard camera" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bGQ" = ( +/obj/effect/decal/cleanable/blood/gibs/old, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"bGR" = ( +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/light/small, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"bGS" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/turf/open/floor/plasteel, +/area/security/processing) +"bGT" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bGU" = ( +/obj/effect/turf_decal/bot, +/obj/structure/grille, +/turf/open/floor/plating, +/area/maintenance/aft) +"bGV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bGW" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bGX" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bGY" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bGZ" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bHa" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bHb" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/carpet, +/area/crew_quarters/heads/captain) +"bHc" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bHd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/shard, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bHe" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering{ + name = "Engineering"; + req_access_txt = "10" + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"bHf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bHg" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/computer/arcade, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bHh" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/wrench, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"bHi" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"bHj" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"bHk" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bHl" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bHm" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bHn" = ( +/obj/machinery/status_display/ai, +/turf/closed/wall, +/area/storage/tech) +"bHo" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"bHp" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"bHq" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"bHr" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/item/book/manual/wiki/security_space_law, +/obj/machinery/flasher{ + id = "Cell 6"; + name = "Prisoner Pacifier"; + pixel_x = -24 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"bHs" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/vomit/old, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/structure/bed, +/obj/item/bedsheet/brown, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"bHt" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/item/book/manual/wiki/security_space_law, +/obj/machinery/flasher{ + id = "Cell 5"; + name = "Prisoner Pacifier"; + pixel_x = -24 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"bHu" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/structure/bed, +/obj/item/bedsheet/brown, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"bHv" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bHw" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/item/book/manual/wiki/security_space_law, +/obj/machinery/flasher{ + id = "Cell 4"; + name = "Prisoner Pacifier"; + pixel_x = -24 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"bHx" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bHy" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bHz" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/item/book/manual/wiki/security_space_law, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/flasher{ + id = "Cell 3"; + name = "Prisoner Pacifier"; + pixel_x = -24 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"bHA" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/structure/bed, +/obj/item/bedsheet/brown, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"bHB" = ( +/obj/structure/sign/poster/official/help_others, +/turf/closed/wall, +/area/bridge) +"bHC" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/item/book/manual/wiki/security_space_law, +/obj/machinery/flasher{ + id = "Cell 2"; + name = "Prisoner Pacifier"; + pixel_x = -24 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"bHD" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/item/book/manual/wiki/security_space_law, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/flasher{ + id = "Cell 1"; + name = "Prisoner Pacifier"; + pixel_x = -24 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"bHE" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall, +/area/quartermaster/sorting) +"bHF" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"bHG" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"bHH" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"bHI" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/command{ + name = "Head of Personnel's Office"; + req_access_txt = "57" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hop) +"bHJ" = ( +/obj/effect/turf_decal/caution{ + pixel_y = -12 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bHK" = ( +/obj/machinery/vending/cola/random, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"bHL" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-16" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bHM" = ( +/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/structure/sign/poster/official/random{ + pixel_y = 32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-16" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/central) +"bHN" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/central) +"bHO" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/central) +"bHP" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bHR" = ( +/obj/structure/disposalpipe/junction, +/turf/closed/wall, +/area/quartermaster/sorting) +"bHS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/security/processing) +"bHT" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bHU" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall, +/area/hallway/primary/aft) +"bHW" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/hallway/primary/aft) +"bHY" = ( +/obj/structure/table, +/obj/item/storage/box/prisoner, +/obj/item/restraints/handcuffs, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/newscaster/security_unit{ + pixel_x = 30 + }, +/turf/open/floor/plasteel, +/area/security/processing) +"bHZ" = ( +/obj/structure/table, +/obj/machinery/recharger, +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bIa" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"bIb" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/closed/wall, +/area/engine/atmos) +"bIc" = ( +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bId" = ( +/obj/machinery/light/floor, +/turf/open/floor/engine/n2o{ + initial_gas_mix = "n2o=1000;TEMP=293.15" + }, +/area/engine/atmos) +"bIe" = ( +/obj/machinery/atmospherics/pipe/simple/purple/visible, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/closed/wall, +/area/engine/atmos) +"bIf" = ( +/obj/structure/table, +/obj/item/restraints/handcuffs, +/obj/item/radio{ + pixel_y = 4 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/machinery/camera{ + c_tag = "Departures Checkpoint"; + name = "shuttle camera" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bIg" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/firecloset, +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bIh" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/camera{ + c_tag = "Aft Hallway Transfer Centre Doors"; + dir = 8; + name = "aft camera" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bIi" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bIj" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/hallway/primary/aft) +"bIk" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"bIl" = ( +/obj/structure/table, +/obj/item/clothing/under/rank/security{ + pixel_x = -4 + }, +/obj/item/toy/figure/dsquad{ + pixel_x = 6; + pixel_y = 6 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bIm" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/closed/wall, +/area/quartermaster/sorting) +"bIn" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/airlock/security{ + name = "Equipment Room"; + req_access_txt = "1" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"bIo" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/portable_atmospherics/scrubber, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/maintenance/port/aft) +"bIp" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/item/wallframe/airalarm, +/obj/structure/table, +/turf/open/floor/plasteel/showroomfloor, +/area/maintenance/port/aft) +"bIq" = ( +/obj/machinery/status_display/shuttle, +/turf/closed/wall, +/area/storage/tech) +"bIr" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/portable_atmospherics/scrubber, +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/maintenance/port/aft) +"bIs" = ( +/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/corner, +/area/hallway/primary/port) +"bIt" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/central) +"bIu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bIv" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security{ + name = "Suit Closet"; + req_access_txt = "1" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/main) +"bIw" = ( +/obj/machinery/light/floor, +/turf/open/floor/engine/vacuum, +/area/engine/atmos) +"bIx" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/landmark/start/botanist, +/turf/open/floor/plasteel, +/area/hydroponics) +"bIy" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bIz" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sign/warning/securearea{ + pixel_y = 32 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bIA" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bIB" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/vending/hydronutrients, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bIC" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bID" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bIE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bIF" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Cargo Security Post"; + req_access_txt = "63" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/supply) +"bIG" = ( +/obj/machinery/door/airlock/external{ + name = "Supply Dock Airlock"; + req_access_txt = "31" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"bIH" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/airlock/grunge{ + name = "Recreation Area" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bII" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/preopen{ + id = "atmos"; + name = "Atmospherics Blast Door" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, +/turf/open/floor/plating, +/area/engine/break_room) +"bIJ" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bIK" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bIL" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/newscaster{ + pixel_x = -30 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/hop) +"bIM" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bIN" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bIO" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bIP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/processing) +"bIQ" = ( +/obj/machinery/door/airlock/external{ + name = "Supply Dock Airlock"; + req_access_txt = "31" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"bIR" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bIS" = ( +/obj/machinery/flasher/portable, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/delivery, +/obj/machinery/camera/motion{ + c_tag = "Armoury Internal"; + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"bIT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bIU" = ( +/obj/machinery/camera{ + c_tag = "Atmospherics Tank - O2"; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/turf/open/floor/engine/o2{ + initial_gas_mix = "o2=1000;TEMP=293.15" + }, +/area/engine/atmos) +"bIV" = ( +/turf/closed/wall, +/area/crew_quarters/locker) +"bIW" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bIX" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/vr_sleeper, +/obj/effect/turf_decal/box/white, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"bIY" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/vr_sleeper, +/obj/effect/turf_decal/box/white, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"bIZ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/vending/autodrobe/all_access, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"bJb" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bJc" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 8; + name = "custodial sorting disposal pipe"; + sortType = 22 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bJe" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/light, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/button/door{ + id = "custodialwagon"; + name = "Custodial Bay Toggle"; + pixel_x = 8; + pixel_y = -24; + req_one_access_txt = "26" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/mob/living/simple_animal/bot/cleanbot{ + auto_patrol = 1; + icon_state = "cleanbot1"; + name = "Mopficcer Sweepsky" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bJf" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bJg" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/blue, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bJh" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bJi" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bJj" = ( +/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/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bJk" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/crew_quarters/locker) +"bJl" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall, +/area/storage/tech) +"bJm" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"bJn" = ( +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/lipstick/random{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/lipstick/random{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/lipstick/random{ + pixel_x = 6 + }, +/obj/item/pen, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/table, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bJo" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 2; + pixel_y = 4 + }, +/obj/item/storage/toolbox/emergency, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bJp" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bJq" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/storage/firstaid/regular, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bJr" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/storage/briefcase, +/obj/item/clothing/neck/tie/red, +/obj/item/clothing/head/bowler{ + pixel_y = 8 + }, +/obj/item/cane, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bJs" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bJt" = ( +/obj/effect/turf_decal/box, +/obj/machinery/shower{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/item/soap/nanotrasen, +/obj/machinery/newscaster{ + pixel_x = -30 + }, +/obj/effect/landmark/xeno_spawn, +/obj/machinery/button/door{ + id = "Shower_2"; + name = "Shower 2 Privacy Lock"; + normaldoorcontrol = 1; + pixel_x = 24; + pixel_y = -8; + specialfunctions = 4 + }, +/obj/machinery/button/door{ + id = "Shower_2Privacy"; + name = "Shower 2 Privacy Toggle"; + pixel_x = 24; + pixel_y = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"bJu" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"bJv" = ( +/turf/open/floor/engine{ + name = "Holodeck Projector Floor" + }, +/area/holodeck/rec_center) +"bJw" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bJx" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bJy" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bJz" = ( +/obj/machinery/computer/libraryconsole/bookmanagement, +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_y = 28 + }, +/obj/machinery/camera{ + c_tag = "Prison Yard Machines"; + name = "prison camera"; + network = list("ss13","prison") + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bJB" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Long-Term Cell 1"; + req_access_txt = "2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"bJC" = ( +/obj/machinery/status_display/ai, +/turf/closed/wall, +/area/security/warden) +"bJD" = ( +/obj/structure/cable, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/port/fore) +"bJE" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/fernybush, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/hallway/primary/central) +"bJF" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = 28 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bJG" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-05" + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bJH" = ( +/obj/structure/table, +/obj/item/paper_bin/construction{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/stack/cable_coil{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/stack/cable_coil{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/stack/cable_coil{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/stack/cable_coil, +/obj/item/hand_labeler{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/hand_labeler, +/obj/machinery/light/small, +/turf/open/floor/plasteel/dark, +/area/library) +"bJI" = ( +/obj/machinery/vending/cola/random, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + 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/primary/starboard) +"bJJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/central) +"bJK" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bJL" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/chair/office, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bJM" = ( +/obj/machinery/computer/secure_data{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bJN" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bJO" = ( +/obj/structure/transit_tube/horizontal{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 1; + pixel_y = 1 + }, +/obj/structure/lattice/catwalk, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"bJP" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Engineering Security Post"; + req_access_txt = "63" + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/engineering) +"bJQ" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/cobweb, +/obj/item/storage/secure/briefcase{ + pixel_y = 4 + }, +/obj/item/radio{ + desc = "An old handheld radio. You could use it, if you really wanted to."; + icon_state = "radio"; + name = "old radio" + }, +/obj/machinery/button/door{ + id = "Cabin_4"; + name = "Cabin 4 Privacy Lock"; + normaldoorcontrol = 1; + pixel_y = 24; + specialfunctions = 4 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/wood, +/area/crew_quarters/locker) +"bJR" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bJS" = ( +/obj/structure/bed, +/obj/item/bedsheet/black, +/obj/machinery/button/door{ + id = "Cabin_3"; + name = "Cabin 3 Privacy Lock"; + normaldoorcontrol = 1; + pixel_y = 24; + specialfunctions = 4 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/wood, +/area/crew_quarters/locker) +"bJT" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bJU" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/crew_quarters/locker) +"bJV" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining/glass{ + name = "Mailroom"; + req_access_txt = "50" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/sorting) +"bJW" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/space_heater, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bJX" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/space_heater, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bJY" = ( +/obj/structure/bed, +/obj/item/bedsheet/black, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/button/door{ + id = "Cabin_2"; + name = "Cabin 2 Privacy Lock"; + normaldoorcontrol = 1; + pixel_y = 24; + specialfunctions = 4 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/crew_quarters/locker) +"bJZ" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken" + }, +/area/crew_quarters/locker) +"bKa" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/port) +"bKb" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/wood, +/area/crew_quarters/locker) +"bKc" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/machinery/newscaster{ + pixel_x = -30 + }, +/obj/machinery/button/door{ + id = "Cabin_4Privacy"; + name = "Cabin 4 Privacy Toggle"; + pixel_x = -24; + pixel_y = -24 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken4" + }, +/area/crew_quarters/locker) +"bKd" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/machinery/newscaster{ + pixel_x = -30 + }, +/obj/machinery/button/door{ + id = "Cabin_3Privacy"; + name = "Cabin 3 Privacy Toggle"; + pixel_x = -24; + pixel_y = -24 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken5" + }, +/area/crew_quarters/locker) +"bKe" = ( +/obj/structure/dresser, +/turf/open/floor/wood, +/area/crew_quarters/locker) +"bKf" = ( +/obj/structure/sign/poster/contraband/revolver, +/turf/closed/wall, +/area/crew_quarters/locker) +"bKg" = ( +/obj/structure/table/wood, +/obj/item/folder/red, +/obj/item/lighter, +/turf/open/floor/wood, +/area/crew_quarters/locker) +"bKh" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/machinery/newscaster{ + pixel_x = 30 + }, +/turf/open/floor/wood, +/area/crew_quarters/locker) +"bKi" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/landmark/start/assistant, +/obj/structure/chair/stool, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"bKj" = ( +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/locker) +"bKk" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "Cabin_4Privacy"; + name = "Cabin 4 Privacy Shutter" + }, +/turf/open/floor/plating, +/area/crew_quarters/locker) +"bKl" = ( +/obj/structure/flora/rock/pile, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"bKm" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bKn" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/megaphone{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bKo" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bKp" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "ceprivate"; + name = "Chief Engineer's Privacy Shutters" + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"bKq" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/firedoor, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/crew_quarters/locker) +"bKr" = ( +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"bKs" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/disposal/bin, +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = 28 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bKt" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bKu" = ( +/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, +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/structure/toilet{ + pixel_y = 16 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/blood/gibs/limb, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bKv" = ( +/obj/structure/bed, +/obj/item/bedsheet/black, +/obj/machinery/flasher{ + id = "PCell 1"; + name = "Prisoner Pacifier"; + pixel_x = 24 + }, +/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/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bKw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"bKx" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bKy" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/door_timer{ + id = "Cell 3"; + name = "Cell 3"; + pixel_x = -32 + }, +/obj/structure/closet/secure_closet/brig{ + id = "Cell 3"; + name = "Cell 3 Locker" + }, +/turf/open/floor/plasteel, +/area/security/warden) +"bKz" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"bKA" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet{ + name = "detective closet" + }, +/obj/item/clothing/suit/jacket{ + desc = "All the class of a trenchcoat without the security fibers."; + icon_state = "greydet"; + name = "trenchcoat"; + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/suit/jacket{ + desc = "All the class of a trenchcoat without the security fibers."; + icon_state = "detective"; + name = "trenchcoat" + }, +/obj/item/clothing/head/fedora{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/head/fedora{ + icon_state = "detective" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bKB" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/obj/machinery/computer/operating{ + name = "Forensics Operating Computer" + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/turf/open/floor/plasteel/dark, +/area/security/detectives_office) +"bKC" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"bKD" = ( +/obj/structure/closet/boxinggloves, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/sign/poster/official/random{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bKE" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bKF" = ( +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"bKG" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"bKH" = ( +/obj/structure/closet/masks, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bKI" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + name = "Bridge Access"; + req_access_txt = "19" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/bridge) +"bKJ" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/maintenance/central) +"bKK" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bKL" = ( +/obj/structure/sign/departments/restroom, +/turf/closed/wall, +/area/crew_quarters/locker) +"bKM" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bKN" = ( +/obj/structure/closet/athletic_mixed, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/camera{ + c_tag = "Recreation Lockers"; + name = "recreation camera" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bKO" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/structure/closet/emcloset, +/obj/structure/sign/warning/securearea{ + name = "EMERGENCY STORAGE"; + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bKP" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bKQ" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bKR" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bKS" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/sign/directions/security{ + pixel_y = -40 + }, +/obj/structure/sign/directions/medical{ + dir = 8; + pixel_y = -32 + }, +/obj/structure/sign/directions/command{ + dir = 1; + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bKT" = ( +/obj/effect/turf_decal/box, +/obj/structure/toilet{ + dir = 8 + }, +/obj/structure/mirror{ + pixel_x = -28 + }, +/obj/machinery/button/door{ + id = "Unit_3"; + name = "Unit 3 Privacy Lock"; + normaldoorcontrol = 1; + pixel_x = 24; + pixel_y = 8; + specialfunctions = 4 + }, +/obj/machinery/newscaster{ + pixel_x = -30; + pixel_y = -30 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/blobstart, +/obj/machinery/button/door{ + id = "Unit_3Privacy"; + name = "Unit 3 Privacy Toggle"; + pixel_x = 24; + pixel_y = -8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"bKU" = ( +/obj/effect/turf_decal/box, +/obj/structure/toilet{ + dir = 8 + }, +/obj/structure/mirror{ + pixel_x = -28 + }, +/obj/machinery/button/door{ + id = "Unit_2"; + name = "Unit 2 Privacy Lock"; + normaldoorcontrol = 1; + pixel_x = 24; + pixel_y = 8; + specialfunctions = 4 + }, +/obj/machinery/newscaster{ + pixel_x = -30; + pixel_y = -30 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/landmark/start/assistant, +/obj/machinery/button/door{ + id = "Unit_2Privacy"; + name = "Unit 2 Privacy Toggle"; + pixel_x = 24; + pixel_y = -8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"bKV" = ( +/obj/effect/turf_decal/box, +/obj/structure/toilet{ + dir = 8 + }, +/obj/structure/mirror{ + pixel_x = -28 + }, +/obj/machinery/button/door{ + id = "Unit_1"; + name = "Unit 1 Privacy Lock"; + normaldoorcontrol = 1; + pixel_x = 24; + pixel_y = 8; + specialfunctions = 4 + }, +/obj/machinery/newscaster{ + pixel_x = -30; + pixel_y = -30 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/landmark/blobstart, +/obj/machinery/button/door{ + id = "Unit_1Privacy"; + name = "Unit 1 Privacy Toggle"; + pixel_x = 24; + pixel_y = -8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"bKW" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"bKX" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"bKY" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bKZ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bLa" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bLb" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bLc" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/item/radio/intercom{ + pixel_x = 28; + pixel_y = 22 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bLd" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall, +/area/crew_quarters/fitness/recreation) +"bLe" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/captain) +"bLf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bLg" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bLh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bLi" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/sign/directions/engineering{ + pixel_y = -40 + }, +/obj/structure/sign/directions/supply{ + dir = 4; + pixel_y = -32 + }, +/obj/structure/sign/directions/science{ + dir = 4; + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bLj" = ( +/obj/machinery/status_display/ai, +/turf/closed/wall, +/area/security/prison) +"bLk" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/washing_machine, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"bLl" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bLm" = ( +/obj/structure/chair, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bLn" = ( +/turf/closed/wall/rust, +/area/crew_quarters/toilet/restrooms) +"bLo" = ( +/obj/structure/table, +/obj/item/storage/firstaid/regular, +/obj/item/stack/medical/gauze, +/obj/item/stack/medical/ointment{ + pixel_y = 4 + }, +/obj/item/stack/medical/bruise_pack, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/newscaster{ + pixel_x = 30 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bLp" = ( +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bLq" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-03" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bLr" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/storage/primary) +"bLs" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/power/apc{ + areastring = "/area/janitor"; + dir = 8; + name = "Custodial Closet APC"; + pixel_x = -26 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/item/storage/box/lights/mixed{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/storage/box/lights/mixed{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/grenade/chem_grenade/cleaner{ + pixel_x = 10; + pixel_y = 6 + }, +/obj/item/grenade/chem_grenade/cleaner{ + pixel_x = 10; + pixel_y = 6 + }, +/obj/item/grenade/chem_grenade/cleaner{ + pixel_x = 10; + pixel_y = 6 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/janitor) +"bLt" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/junction/flip, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bLu" = ( +/turf/closed/wall/rust, +/area/crew_quarters/locker) +"bLv" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/janitor) +"bLw" = ( +/obj/structure/table, +/obj/machinery/button/door{ + id = "custodialwagon"; + name = "Custodial Bay Toggle"; + pixel_x = 8; + pixel_y = 24; + req_one_access_txt = "26" + }, +/obj/machinery/light_switch{ + pixel_x = -8; + pixel_y = 24 + }, +/obj/item/clothing/gloves/color/orange, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/flashlight{ + pixel_y = 4 + }, +/obj/item/flashlight{ + pixel_y = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/key/janitor, +/turf/open/floor/plasteel/dark, +/area/janitor) +"bLx" = ( +/obj/vehicle/ridden/janicart, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/janitor) +"bLy" = ( +/obj/structure/janitorialcart, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/janitor) +"bLz" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"bLA" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/reagent_containers/glass/bucket, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/janitor) +"bLB" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"bLC" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bLD" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-05" + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bLE" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bLF" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bLG" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bLH" = ( +/obj/machinery/hydroponics/soil, +/turf/open/floor/grass, +/area/security/prison) +"bLI" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bLJ" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/crew_quarters/fitness/recreation) +"bLK" = ( +/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 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bLL" = ( +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bLM" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/structure/disposaloutlet{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"bLN" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/item/radio/intercom{ + desc = "Talk through this. It looks like it has been modified to not broadcast."; + name = "Prison Intercom (General)"; + pixel_y = 22; + prison_radio = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-17"; + pixel_x = -8; + pixel_y = 3 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bLO" = ( +/obj/structure/chair, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bLP" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bLQ" = ( +/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/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/remains/human, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bLR" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bLS" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/turf_decal/box, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bLT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bLU" = ( +/obj/structure/sign/warning/fire, +/turf/closed/wall, +/area/crew_quarters/fitness/recreation) +"bLV" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bLW" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 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/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bLX" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/machinery/camera{ + c_tag = "Long-Term Cell 1"; + dir = 1; + name = "prison camera"; + network = list("ss13","prison") + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bLY" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bLZ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bMa" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 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/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bMb" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/newscaster/security_unit{ + pixel_y = 32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bMc" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/status_display/evac{ + pixel_x = 32; + pixel_y = 32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bMd" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/sign/poster/ripped, +/turf/closed/wall, +/area/crew_quarters/fitness/recreation) +"bMe" = ( +/obj/machinery/hydroponics/soil, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/grass, +/area/security/prison) +"bMf" = ( +/obj/structure/grille/broken, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/aft) +"bMg" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/sign/poster/official/random{ + pixel_y = -32 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bMh" = ( +/obj/structure/table, +/obj/item/storage/box/prisoner{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/restraints/handcuffs/cable/zipties, +/obj/item/crowbar/red, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/noticeboard{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"bMi" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bMj" = ( +/obj/machinery/vending/cola/random, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bMk" = ( +/obj/item/radio/intercom{ + pixel_x = -28 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-02"; + pixel_y = 3 + }, +/turf/open/floor/plasteel, +/area/security/warden) +"bMl" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/security/warden) +"bMm" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bMn" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"bMo" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"bMp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/detectives_office) +"bMq" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high, +/obj/item/screwdriver{ + pixel_y = 18 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"bMr" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/camera{ + c_tag = "Autopsy Room"; + dir = 1; + name = "detective camera" + }, +/obj/machinery/status_display/ai{ + pixel_x = 32; + pixel_y = 32 + }, +/obj/effect/landmark/xeno_spawn, +/obj/effect/landmark/start/detective, +/turf/open/floor/plasteel/dark, +/area/security/detectives_office) +"bMs" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/storage/primary) +"bMt" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/storage/primary) +"bMu" = ( +/obj/structure/sink/kitchen{ + desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; + name = "old sink"; + pixel_y = 28 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/central) +"bMv" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters{ + id = "commissaryshutter"; + name = "Vacant Commissary Shutter" + }, +/obj/effect/turf_decal/delivery, +/obj/structure/noticeboard{ + dir = 8; + pixel_x = 32 + }, +/turf/open/floor/plating, +/area/vacant_room/commissary) +"bMw" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/janitor) +"bMx" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = -28 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"bMy" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bMz" = ( +/obj/machinery/computer/prisoner, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"bMA" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bMB" = ( +/obj/machinery/door/airlock/external{ + name = "Supply Dock Airlock"; + req_access_txt = "31" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"bMC" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bMD" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/sign/departments/engineering{ + pixel_y = -32 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/camera{ + c_tag = "Starboard Hallway Rotunda"; + dir = 1; + name = "starboard camera" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bME" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/starboard) +"bMF" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bMG" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/hallway/primary/aft) +"bMH" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/hallway/primary/aft) +"bMI" = ( +/obj/machinery/door/airlock/external{ + name = "Science Escape Pod" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard) +"bMJ" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet{ + name = "custodial locker" + }, +/obj/item/clothing/gloves/color/orange, +/obj/item/clothing/shoes/galoshes, +/obj/item/clothing/head/soft/purple, +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bMK" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering{ + name = "Gravity Generator Chamber"; + req_one_access_txt = "19; 61" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engine/gravity_generator) +"bML" = ( +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/palebush, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/aft) +"bMM" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bMN" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bMO" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bMP" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bMQ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/newscaster{ + pixel_x = 30 + }, +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"bMR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bMS" = ( +/obj/machinery/button/flasher{ + id = "PCell 1"; + name = "Long-Term Cell 1 Pacifier"; + pixel_x = -24; + pixel_y = 6 + }, +/obj/machinery/button/door{ + id = "PCell 1Lock"; + name = "Long-Term Cell 1 Toggle"; + pixel_x = -24; + pixel_y = -6; + req_access_txt = "2" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bMT" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bMU" = ( +/obj/structure/sign/departments/security{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"bMV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/maintenance{ + name = "medbay maintenance"; + req_access_txt = "5" + }, +/obj/structure/sign/directions/evac{ + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"bMW" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/starboard) +"bMX" = ( +/turf/open/floor/mech_bay_recharge_floor, +/area/maintenance/port/aft) +"bMY" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/security/warden) +"bMZ" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/warden) +"bNa" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/warden) +"bNb" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/machinery/camera{ + c_tag = "Brig Cells"; + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/warden) +"bNc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/aft) +"bNd" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/warden) +"bNe" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "sparemech"; + name = "Abandoned Mech Bay" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bNf" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bNg" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall, +/area/quartermaster/sorting) +"bNh" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bNi" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/leafybush, +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/flora/ausbushes/leafybush, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/grass, +/area/security/prison) +"bNj" = ( +/obj/machinery/computer/secure_data, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"bNk" = ( +/obj/effect/turf_decal/bot, +/obj/structure/table, +/obj/item/stack/sheet/metal/ten{ + amount = 5 + }, +/obj/item/assembly/prox_sensor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bNl" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/item/storage/toolbox/emergency, +/obj/item/stack/rods/ten, +/obj/item/stack/cable_coil, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bNm" = ( +/obj/structure/sign/warning/pods, +/turf/closed/wall, +/area/maintenance/port/aft) +"bNn" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/security/processing) +"bNo" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bNp" = ( +/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/plasteel/dark, +/area/maintenance/port/aft) +"bNq" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/warden) +"bNr" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/security/warden) +"bNs" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/obj/structure/mopbucket, +/obj/item/mop, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bNt" = ( +/obj/structure/sign/departments/cargo, +/turf/closed/wall, +/area/quartermaster/sorting) +"bNu" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/atmos) +"bNw" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall, +/area/janitor) +"bNx" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/closed/wall, +/area/janitor) +"bNy" = ( +/obj/machinery/computer/security{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/status_display/ai{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bNz" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bNA" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Docking Hallway" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/directions/engineering{ + dir = 8; + pixel_y = -40 + }, +/obj/structure/sign/directions/security{ + dir = 8; + pixel_y = -32 + }, +/obj/structure/sign/directions/medical{ + dir = 8; + pixel_y = -24 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bNB" = ( +/obj/structure/grille, +/obj/structure/barricade/wooden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"bNC" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bND" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/computer/atmos_control/tank/air_tank{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/atmos) +"bNE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/security/warden) +"bNF" = ( +/obj/machinery/door/airlock/maintenance{ + name = "security maintenance"; + req_access_txt = "4" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"bNG" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"bNH" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/ppflowers, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/grass, +/area/security/prison) +"bNI" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/rack, +/obj/item/crowbar/red, +/obj/item/wrench, +/obj/item/electropack, +/obj/item/assembly/signaler{ + pixel_x = 6 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/power/apc{ + areastring = "/area/security/execution/education"; + name = "Prisoner Education Chamber APC"; + pixel_y = -26 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = 30 + }, +/turf/open/floor/plasteel/dark, +/area/security/execution/education) +"bNJ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"bNL" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/space_heater, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bNM" = ( +/turf/closed/wall, +/area/janitor) +"bNN" = ( +/obj/structure/closet/secure_closet/personal{ + name = "Commissary Locker" + }, +/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/bot, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/vacant_room/commissary) +"bNO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bNP" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/vacant_room/commissary) +"bNQ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/machinery/door/airlock/atmos/glass{ + name = "Distribution Loop"; + req_access_txt = "24" + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"bNR" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel, +/area/vacant_room/commissary) +"bNS" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/item/radio/intercom{ + pixel_x = -28 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/hallway/primary/aft) +"bNT" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/reagent_dispensers/watertank, +/obj/item/reagent_containers/glass/bucket, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bNU" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/button/door{ + id = "commissaryshutter"; + name = "Commissary Shutter Toggle"; + pixel_x = 24; + pixel_y = 8 + }, +/obj/machinery/button/door{ + id = "commissarydoor"; + name = "Commissary Door Lock"; + normaldoorcontrol = 1; + pixel_x = 24; + pixel_y = -8; + specialfunctions = 4 + }, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/item/toy/figure/assistant{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/vacant_room/commissary) +"bNV" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + id_tag = "commissarydoor"; + name = "Vacant Commissary"; + req_one_access_txt = "12;63;48;50" + }, +/turf/open/floor/plasteel/dark, +/area/vacant_room/commissary) +"bNW" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/vacant_room/commissary) +"bNX" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/space_heater, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bNY" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/table, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/cable_coil, +/obj/machinery/button/door{ + id = "evashutter"; + name = "E.V.A. Storage Shutter Toggle"; + pixel_x = -24; + pixel_y = 24; + req_access_txt = "19" + }, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/item/multitool, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/storage/eva) +"bNZ" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ai_monitored/storage/eva) +"bOa" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/vacant_room/commissary) +"bOb" = ( +/obj/structure/girder, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/aft) +"bOc" = ( +/turf/closed/wall, +/area/hallway/secondary/exit/departure_lounge) +"bOd" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box, +/obj/item/stack/marker_beacon{ + anchored = 1; + icon_state = "markerburgundy-on"; + light_color = "#FA644B"; + light_power = 3; + light_range = 2; + name = "landing marker"; + picked_color = "Burgundy" + }, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/hallway/secondary/entry) +"bOe" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ai_monitored/storage/eva) +"bOg" = ( +/obj/machinery/door/airlock/external{ + name = "Supply Dock Airlock"; + req_access_txt = "31" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/storage) +"bOh" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/ai_monitored/storage/eva) +"bOi" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table, +/obj/item/storage/toolbox/electrical{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/stack/rods/fifty{ + pixel_y = 5 + }, +/obj/item/storage/toolbox/mechanical, +/obj/machinery/requests_console{ + department = "EVA"; + name = "E.V.A. RC"; + pixel_x = 30 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/storage/eva) +"bOj" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/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, +/area/storage/primary) +"bOk" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/turf/open/floor/plasteel, +/area/storage/primary) +"bOl" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/starboard/aft"; + dir = 1; + name = "Starboard Quarter Maintenance APC"; + pixel_y = 24 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/aft) +"bOm" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/storage/primary) +"bOn" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"bOo" = ( +/obj/structure/sign/departments/custodian, +/turf/closed/wall, +/area/janitor) +"bOp" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/storage/primary) +"bOq" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/delivery, +/obj/structure/sign/warning/nosmoking{ + pixel_x = -32 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"bOr" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/janitor) +"bOs" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/landmark/start/janitor, +/turf/open/floor/plasteel, +/area/janitor) +"bOt" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bOu" = ( +/obj/docking_port/stationary{ + dir = 2; + dwidth = 2; + height = 5; + id = "laborcamp_home"; + name = "fore bay 1"; + roundstart_template = /datum/map_template/shuttle/labour/kilo; + width = 9 + }, +/turf/open/space, +/area/space) +"bOv" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining/glass{ + name = "Mailroom"; + req_access_txt = "50" + }, +/turf/open/floor/plasteel/dark, +/area/quartermaster/sorting) +"bOw" = ( +/obj/machinery/door/airlock/maintenance{ + name = "cargo maintenance"; + req_one_access_txt = "31;48" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/aft) +"bOx" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/light, +/obj/machinery/requests_console{ + department = "Janitorial"; + departmentType = 1; + name = "Custodial RC"; + pixel_y = -30 + }, +/turf/open/floor/plasteel, +/area/janitor) +"bOy" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/blue, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/janitor) +"bOz" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/landmark/start/janitor, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/janitor) +"bOA" = ( +/obj/structure/table, +/obj/item/storage/box/mousetraps{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/storage/box/mousetraps{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/toy/figure/janitor{ + pixel_x = -8; + pixel_y = 6 + }, +/obj/item/restraints/legcuffs/beartrap{ + pixel_y = 8 + }, +/obj/item/restraints/legcuffs/beartrap{ + pixel_y = 8 + }, +/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/effect/decal/cleanable/dirt, +/obj/machinery/mineral/stacking_unit_console{ + machinedir = 8; + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/janitor) +"bOB" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bOC" = ( +/turf/closed/wall/rust, +/area/maintenance/starboard/aft) +"bOD" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bOE" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bOF" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bOG" = ( +/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/event_spawn, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bOH" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall, +/area/janitor) +"bOI" = ( +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bOJ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bOK" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bOL" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/camera{ + c_tag = "Fore Hallway Diner"; + name = "fore camera" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"bOM" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bON" = ( +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bOO" = ( +/obj/structure/plasticflaps/opaque, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=1"; + dir = 1; + freq = 1400; + location = "Security"; + name = "navigation beacon (Security Delivery)" + }, +/obj/machinery/door/window/northright{ + name = "Security Delivery Access"; + req_access_txt = "1" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/security/main) +"bOP" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bOQ" = ( +/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/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/central) +"bOR" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bOS" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bOT" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bOU" = ( +/turf/closed/wall, +/area/hallway/primary/central) +"bOV" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bOW" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bOX" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-05" + }, +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/hallway/secondary/exit/departure_lounge"; + dir = 1; + name = "Departure Lounge APC"; + pixel_y = 26 + }, +/obj/machinery/camera{ + c_tag = "Departures Lounge"; + name = "shuttle camera" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bOY" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bOZ" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bPa" = ( +/obj/structure/flora/ausbushes/ywflowers, +/obj/effect/decal/cleanable/blood/old, +/mob/living/simple_animal/butterfly, +/turf/open/floor/grass, +/area/security/prison) +"bPb" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bPc" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bPd" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bPe" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/hallway/secondary/exit/departure_lounge) +"bPf" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bPg" = ( +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/light/small, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bPh" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/flora/ausbushes/fernybush, +/turf/open/floor/grass, +/area/security/prison) +"bPi" = ( +/obj/machinery/conveyor{ + id = "garbage" + }, +/obj/machinery/door/poddoor/preopen{ + id = "Disposal Exit"; + name = "disposal exit vent" + }, +/obj/structure/sign/warning/deathsposal{ + pixel_x = -32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal) +"bPj" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bPk" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"bPl" = ( +/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, +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/structure/toilet{ + pixel_y = 16 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/blood/gibs/old, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bPm" = ( +/obj/structure/bed, +/obj/item/bedsheet/black, +/obj/machinery/flasher{ + id = "PCell 1"; + name = "Prisoner Pacifier"; + pixel_x = 24 + }, +/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/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bPn" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/central) +"bPo" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/camera{ + c_tag = "Central Hallway Personnel Queue"; + dir = 1; + name = "central camera" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bPp" = ( +/obj/machinery/status_display/shuttle, +/turf/closed/wall/rust, +/area/security/courtroom) +"bPq" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/aft) +"bPr" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"bPs" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/central) +"bPt" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bPu" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-02"; + pixel_y = 3 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/machinery/camera{ + c_tag = "Prison Wing Cells"; + dir = 4; + name = "prison camera"; + network = list("ss13","prison") + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bPv" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bPw" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/obj/effect/turf_decal/box, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bPx" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bPy" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bPz" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/closed/wall/rust, +/area/maintenance/starboard/aft) +"bPA" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-11" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bPB" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/observer_start, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bPC" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bPD" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bPE" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bPF" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4; + icon_state = "manifold" + }, +/turf/open/floor/plasteel, +/area/maintenance/disposal/incinerator) +"bPG" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible, +/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/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/maintenance/disposal/incinerator) +"bPH" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Security Checkpoint"; + req_access_txt = "63" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bPI" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock/security{ + name = "Armoury"; + req_access_txt = "3" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"bPJ" = ( +/turf/closed/mineral/random/labormineral, +/area/hallway/secondary/entry) +"bPK" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/fernybush, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/hallway/secondary/entry) +"bPL" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/sorting/mail{ + dir = 8; + name = "HoP sorting disposal pipe"; + sortType = 15 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bPM" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/camera{ + c_tag = "Prison Wing Lockers"; + dir = 1; + name = "prison camera"; + network = list("ss13","prison") + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bPN" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/status_display/ai{ + pixel_x = 32 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel, +/area/security/processing) +"bPO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/reagent_dispensers/watertank, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"bPP" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bPQ" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/light/small, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/junction/yjunction{ + dir = 1 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bPR" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/security/warden) +"bPS" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bPT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-02"; + pixel_y = 3 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"bPU" = ( +/obj/structure/closet/secure_closet/detective, +/obj/machinery/power/apc{ + areastring = "/area/security/detectives_office"; + dir = 8; + name = "Detective APC"; + pixel_x = -26 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/reagent_dispensers/peppertank{ + pixel_y = 30 + }, +/turf/open/floor/wood, +/area/security/detectives_office) +"bPV" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bPW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/wood, +/area/security/detectives_office) +"bPX" = ( +/obj/machinery/computer/med_data, +/obj/machinery/newscaster/security_unit{ + pixel_y = 30 + }, +/turf/open/floor/wood, +/area/security/detectives_office) +"bPY" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bPZ" = ( +/obj/machinery/power/apc{ + areastring = "/area/storage/tech"; + dir = 8; + name = "Tech Storage APC"; + pixel_x = -27 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/engine, +/area/storage/tech) +"bQa" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/hallway/secondary/entry) +"bQb" = ( +/obj/structure/flora/rock, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"bQc" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/blood/gibs/old, +/obj/effect/decal/remains/xeno, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"bQd" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bQe" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bQf" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bQh" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bQi" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bQj" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/turf/open/floor/engine, +/area/storage/tech) +"bQk" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/door/airlock/public/glass{ + name = "Engineering Hallway" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bQl" = ( +/obj/machinery/door/airlock/maintenance{ + name = "security maintenance"; + req_access_txt = "12;63" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/aft) +"bQm" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"bQn" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/storage/tech) +"bQo" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bQp" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + name = "Security RC"; + pixel_x = 30 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bQq" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/blood/gibs/limb, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"bQr" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/ai_monitored/storage/eva) +"bQs" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/ai_monitored/storage/eva) +"bQt" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bQu" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Security Checkpoint"; + req_access_txt = "63" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bQv" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bQw" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bQx" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bQy" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/vending/cigarette, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bQz" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/storage/primary) +"bQA" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/storage/primary) +"bQB" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/storage/primary) +"bQC" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/storage/primary) +"bQD" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/vacant_room/commissary) +"bQE" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/power/apc{ + areastring = "/area/janitor"; + dir = 4; + name = "Vacant Commissary APC"; + pixel_x = 27; + pixel_y = 2 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/vacant_room/commissary) +"bQF" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/starboard) +"bQG" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/starboard) +"bQH" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/machinery/newscaster{ + pixel_y = -30 + }, +/obj/item/clipboard, +/obj/item/stack/cable_coil, +/turf/open/floor/plasteel/dark, +/area/vacant_room/commissary) +"bQI" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Tool Storage" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/storage/primary) +"bQJ" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_y = -24 + }, +/obj/item/stack/packageWrap, +/obj/item/storage/secure/briefcase{ + pixel_y = 4 + }, +/obj/item/hand_labeler, +/turf/open/floor/plasteel/dark, +/area/vacant_room/commissary) +"bQK" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bQL" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/door/window/southleft{ + name = "Trash Chute"; + req_one_access_txt = "26" + }, +/obj/machinery/conveyor_switch/oneway{ + dir = 4; + id = "garbage"; + name = "trash chute" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/turf_decal/loading_area, +/turf/open/floor/plasteel, +/area/janitor) +"bQM" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/aft) +"bQN" = ( +/obj/effect/decal/remains/human, +/obj/effect/decal/cleanable/blood/old, +/obj/item/pickaxe, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"bQO" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11; + pixel_y = 8 + }, +/obj/effect/turf_decal/loading_area, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/door/window/southright{ + name = "Trash Chute"; + req_one_access_txt = "26" + }, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/janitor) +"bQP" = ( +/obj/machinery/mineral/stacking_machine{ + input_dir = 2 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/janitor) +"bQQ" = ( +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bQR" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/central) +"bQS" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/central) +"bQT" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/structure/closet/secure_closet/personal{ + name = "Command Locker" + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/airalarm{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bQU" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bQV" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light/small, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bQX" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bQY" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bQZ" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bRa" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"bRb" = ( +/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/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bRc" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-22" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bRd" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bRe" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/machinery/camera{ + c_tag = "Long-Term Cell 2"; + dir = 1; + name = "prison camera"; + network = list("ss13","prison") + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bRf" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/red, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-02"; + pixel_y = 3 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/central) +"bRg" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bRh" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light, +/obj/structure/extinguisher_cabinet{ + pixel_y = -28 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bRi" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bRj" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bRk" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/stack/rods/twentyfive, +/obj/item/wrench, +/obj/item/storage/box/lights/mixed, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"bRl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bRm" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/item/folder/red, +/obj/item/pen, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/door/window/southleft{ + dir = 1; + name = "Security Desk"; + req_one_access_txt = "63" + }, +/turf/open/floor/plating, +/area/hallway/secondary/exit/departure_lounge) +"bRn" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/structure/sign/warning/securearea{ + pixel_x = -32 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"bRo" = ( +/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/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/obj/machinery/shower{ + dir = 4; + name = "emergency shower" + }, +/obj/structure/mirror{ + pixel_y = 28 + }, +/obj/structure/sink{ + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"bRp" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bRq" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bRr" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/central) +"bRs" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bRt" = ( +/obj/effect/turf_decal/tile/neutral, +/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, +/area/hallway/secondary/exit/departure_lounge) +"bRu" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/item/tank/internals/oxygen, +/obj/item/clothing/mask/breath, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bRv" = ( +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/hallway/secondary/entry) +"bRw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"bRx" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/external{ + name = "Brig Shuttle Airlock"; + req_one_access_txt = "63" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bRy" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/blood/gibs/old, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/space/nearstation) +"bRz" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bRA" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall, +/area/hallway/secondary/exit/departure_lounge) +"bRB" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bRC" = ( +/obj/structure/table/glass, +/obj/machinery/computer/med_data/laptop, +/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, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/vending/wallmed/pubby{ + pixel_x = 24 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"bRD" = ( +/obj/structure/closet/secure_closet/brig{ + name = "Prisoner Locker" + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"bRE" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/vending/coffee, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bRG" = ( +/obj/structure/closet/secure_closet/warden, +/obj/effect/turf_decal/delivery, +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/security/warden"; + dir = 8; + name = "Brig Control APC"; + pixel_x = -26 + }, +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -24; + pixel_y = 28 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"bRH" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Holding Area"; + req_access_txt = "63" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bRI" = ( +/obj/structure/closet/secure_closet/brig{ + name = "Prisoner Locker" + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"bRJ" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"bRK" = ( +/obj/structure/closet/secure_closet/brig{ + name = "Prisoner Locker" + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"bRL" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/vacant_room/commissary) +"bRM" = ( +/obj/machinery/computer/prisoner{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/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/warden) +"bRN" = ( +/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/layer1, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/warden) +"bRO" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/camera{ + c_tag = "Brig Warden's Office"; + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/warden) +"bRP" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/sign/poster/official/help_others{ + pixel_y = 32 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bRQ" = ( +/obj/docking_port/stationary{ + dir = 4; + dwidth = 11; + height = 18; + id = "emergency_home"; + name = "KiloStation emergency evac bay"; + width = 30 + }, +/turf/open/space/basic, +/area/space/nearstation) +"bRR" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bRS" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/rack, +/obj/effect/decal/cleanable/blood/old, +/obj/item/weldingtool{ + pixel_x = -2; + pixel_y = 6 + }, +/obj/item/clothing/head/welding{ + pixel_y = 5 + }, +/obj/item/crowbar/red, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bRT" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/aft) +"bRU" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bRV" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bRW" = ( +/obj/effect/decal/cleanable/oil, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/hallway/primary/aft) +"bRX" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bRY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bRZ" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bSa" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/turf/open/floor/engine, +/area/storage/tech) +"bSb" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bSc" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bSd" = ( +/turf/closed/wall/rust, +/area/hallway/secondary/entry) +"bSe" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/item/folder/blue, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/item/pen, +/obj/machinery/door/window/westright{ + dir = 2; + name = "Control Desk"; + req_one_access_txt = "19" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bSf" = ( +/turf/open/floor/engine, +/area/storage/tech) +"bSg" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/storage/eva) +"bSh" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/storage/eva) +"bSi" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/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, +/area/ai_monitored/storage/eva) +"bSj" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/ai_monitored/storage/eva) +"bSk" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/closet/crate/rcd, +/obj/machinery/door/window/northleft{ + dir = 8; + name = "RCD Storage"; + req_access_txt = "19" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/storage/eva) +"bSl" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/storage/primary) +"bSm" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/junction/flip, +/turf/open/floor/plasteel, +/area/storage/primary) +"bSn" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/brflowers, +/obj/structure/flora/ausbushes/leafybush, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/grass, +/area/hallway/secondary/exit/departure_lounge) +"bSo" = ( +/obj/structure/lattice/catwalk, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/space/basic, +/area/space/nearstation) +"bSp" = ( +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/fore) +"bSq" = ( +/obj/structure/disposaloutlet{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/janitor) +"bSr" = ( +/turf/closed/wall, +/area/hallway/secondary/entry) +"bSs" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Incinerator to Output" + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"bSu" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "garbage"; + name = "trash belt" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/janitor) +"bSv" = ( +/obj/structure/chair/stool/bar, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/aft) +"bSw" = ( +/obj/machinery/door/poddoor/shutters{ + id = "custodialwagon"; + name = "Custodial Bay" + }, +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/janitor) +"bSx" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "garbage"; + name = "trash belt" + }, +/obj/structure/sign/poster/contraband/random{ + pixel_y = -32 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/janitor) +"bSz" = ( +/obj/structure/rack, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/item/storage/toolbox/emergency{ + pixel_y = 4 + }, +/obj/item/wrench, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera{ + c_tag = "Vacant Commissary"; + dir = 8; + name = "cargo camera"; + network = list("ss13","qm") + }, +/turf/open/floor/plasteel/dark, +/area/vacant_room/commissary) +"bSA" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bSB" = ( +/obj/structure/chair/stool/bar, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bSC" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/button/door{ + id = "Arrival Shuttle Bay"; + name = "Arrival Shuttle Bay Toggle"; + pixel_x = 24; + pixel_y = 8; + req_access_txt = "19" + }, +/obj/machinery/computer/monitor{ + dir = 8; + name = "backup power monitoring console" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bSD" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "garbage"; + name = "trash belt" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/recycler, +/turf/open/floor/plasteel/dark, +/area/janitor) +"bSE" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bSF" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "garbage"; + name = "trash belt" + }, +/obj/machinery/camera{ + c_tag = "Trash Chute"; + dir = 1; + name = "service camera" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/janitor) +"bSG" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/lootdrop/grille_or_trash, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"bSH" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/disposal/deliveryChute{ + dir = 8 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/sign/warning/deathsposal{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/janitor) +"bSI" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/rust, +/area/maintenance/starboard/aft) +"bSJ" = ( +/obj/machinery/light/small, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bSK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bSL" = ( +/obj/structure/sign/warning/securearea{ + name = "EMERGENCY STORAGE" + }, +/turf/closed/wall, +/area/hallway/secondary/entry) +"bSM" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/external{ + name = "Brig Shuttle Airlock"; + req_one_access_txt = "63" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bSN" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-05" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bSO" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"bSP" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Security Hallway" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bSQ" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/closed/wall, +/area/hallway/secondary/exit/departure_lounge) +"bSR" = ( +/obj/machinery/shower{ + dir = 8; + name = "emergency shower" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/box, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"bSS" = ( +/obj/machinery/button/flasher{ + id = "PCell 2"; + name = "Long-Term Cell 2 Pacifier"; + pixel_x = -24; + pixel_y = 6 + }, +/obj/machinery/button/door{ + id = "PCell 2Lock"; + name = "Long-Term Cell 2 Toggle"; + pixel_x = -24; + pixel_y = -6; + req_access_txt = "2" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bST" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bSU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/execution/education) +"bSV" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/aft) +"bSW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bSX" = ( +/obj/structure/closet/l3closet/security, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"bSY" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/public/glass{ + name = "Engineering Hallway" + }, +/obj/structure/sign/departments/engineering{ + pixel_x = 32 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bSZ" = ( +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/electrical{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/storage/toolbox/mechanical, +/obj/item/multitool{ + pixel_x = -4; + pixel_y = 3 + }, +/obj/item/flashlight, +/obj/effect/turf_decal/bot, +/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/warden) +"bTa" = ( +/obj/structure/closet/secure_closet/evidence, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"bTb" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/camera{ + c_tag = "Aft Hallway Tech Storage"; + dir = 8; + name = "aft camera" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bTc" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate, +/obj/item/storage/toolbox/emergency, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bTd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/engine, +/area/storage/tech) +"bTe" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bTf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/storage/tech) +"bTg" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/crate, +/obj/item/clothing/shoes/jackboots{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/shoes/jackboots, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bTh" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"bTi" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/engine, +/area/storage/tech) +"bTj" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/construction/mining/aux_base) +"bTk" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Departure Lounge" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bTl" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/warning/vacuum/external, +/turf/open/floor/plating, +/area/hallway/secondary/exit/departure_lounge) +"bTm" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/engine, +/area/storage/tech) +"bTn" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/ai_monitored/storage/eva) +"bTo" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet, +/obj/structure/grille/broken, +/obj/item/analyzer, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bTp" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/aft) +"bTq" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bTr" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/power/apc{ + areastring = "/area/hallway/secondary/entry"; + dir = 0; + name = "Arrivals APC"; + pixel_y = -24 + }, +/obj/structure/cable, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bTs" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-16" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bTt" = ( +/obj/effect/turf_decal/loading_area, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bTu" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/ywflowers, +/turf/open/floor/grass, +/area/security/prison) +"bTv" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bTw" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bTx" = ( +/obj/structure/sign/departments/security, +/turf/closed/wall/rust, +/area/hallway/secondary/exit/departure_lounge) +"bTy" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bTz" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"bTA" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bTB" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"bTC" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"bTD" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"bTE" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/warning/docking, +/turf/open/floor/plating, +/area/hallway/secondary/exit/departure_lounge) +"bTF" = ( +/obj/machinery/shower{ + dir = 8; + name = "emergency shower" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"bTG" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bTH" = ( +/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, +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/structure/toilet{ + pixel_y = 16 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bTI" = ( +/obj/structure/bed, +/obj/item/bedsheet/black, +/obj/machinery/flasher{ + id = "PCell 1"; + name = "Prisoner Pacifier"; + pixel_x = 24 + }, +/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/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bTJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"bTK" = ( +/obj/machinery/button/flasher{ + id = "PCell 3"; + name = "Long-Term Cell 3 Pacifier"; + pixel_x = -24; + pixel_y = 6 + }, +/obj/machinery/button/door{ + id = "PCell 3Lock"; + name = "Long-Term Cell 3 Toggle"; + pixel_x = -24; + pixel_y = -6; + req_access_txt = "2" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-02"; + pixel_y = 3 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bTL" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet{ + name = "security locker" + }, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/under/rank/security/skirt, +/obj/item/clothing/shoes/jackboots, +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bTM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bTN" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/obj/machinery/camera{ + c_tag = "Arrivals Dock"; + name = "shuttle camera" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"bTO" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"bTP" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/aft) +"bTQ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/chair/stool/bar{ + pixel_y = 12 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"bTR" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/stamp/denied{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/item/stamp{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/item/pen, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bTS" = ( +/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/floor/plating, +/area/hallway/secondary/entry) +"bTT" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/airalarm{ + pixel_y = 24 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/security/execution/education) +"bTU" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/closet/crate{ + icon_state = "crateopen" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bTW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/effect/decal/cleanable/blood/gibs/up, +/obj/structure/sign/poster/official/wtf_is_co2{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/security/execution/education) +"bTX" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/execution/education) +"bTY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/execution/education) +"bTZ" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall, +/area/hallway/secondary/entry) +"bUa" = ( +/obj/structure/bed, +/obj/item/bedsheet/black, +/obj/effect/landmark/start/assistant, +/turf/open/floor/wood, +/area/crew_quarters/locker) +"bUb" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/execution/education) +"bUc" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"bUd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"bUe" = ( +/obj/structure/sign/departments/security{ + pixel_x = 32 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"bUf" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"bUg" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/junction/yjunction{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bUh" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/item/toy/figure/assistant{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"bUi" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/vending/clothing, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"bUj" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/light{ + dir = 4 + }, +/obj/item/stack/marker_beacon{ + anchored = 1; + icon_state = "markerburgundy-on"; + light_color = "#FA644B"; + light_power = 3; + light_range = 2; + name = "landing marker"; + picked_color = "Burgundy" + }, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/hallway/secondary/entry) +"bUk" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"bUl" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"bUm" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Departure Lounge" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bUn" = ( +/obj/structure/flora/rock/pile, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/hallway/secondary/entry) +"bUp" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/security/warden) +"bUq" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"bUr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/security/warden) +"bUs" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + name = "Traffic Control"; + req_access_txt = "19" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bUt" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/rust, +/area/hallway/secondary/entry) +"bUu" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"bUv" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/effect/landmark/start/depsec/engineering, +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/security/checkpoint/engineering) +"bUw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"bUx" = ( +/obj/machinery/computer/security{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bUy" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"bUz" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/hallway/primary/aft) +"bUA" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/hallway/primary/aft) +"bUB" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bUC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/engine, +/area/storage/tech) +"bUD" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/table, +/obj/item/tank/jetpack/carbondioxide{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/tank/jetpack/carbondioxide{ + pixel_y = 2 + }, +/obj/item/wrench, +/obj/machinery/power/apc{ + areastring = "/area/ai_monitored/storage/eva"; + dir = 8; + name = "E.V.A. Storage APC"; + pixel_x = -24 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/storage/eva) +"bUE" = ( +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/palebush, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/hallway/secondary/entry) +"bUF" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = -28 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/ai_monitored/storage/eva) +"bUG" = ( +/obj/structure/lattice/catwalk, +/obj/item/stack/marker_beacon{ + anchored = 1; + icon_state = "markerburgundy-on"; + light_color = "#FA644B"; + light_power = 3; + light_range = 2; + name = "landing marker"; + picked_color = "Burgundy" + }, +/turf/open/space/basic, +/area/space/nearstation) +"bUH" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ai_monitored/storage/eva) +"bUI" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light_switch{ + pixel_y = -24 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/ai_monitored/storage/eva) +"bUK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/grille, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"bUL" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) +"bUM" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall, +/area/engine/atmos) +"bUN" = ( +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/hallway/secondary/entry) +"bUP" = ( +/obj/machinery/door/airlock/external{ + name = "Labor Camp Shuttle Airlock"; + shuttledocked = 1 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"bUQ" = ( +/obj/machinery/light/floor, +/turf/open/floor/engine/air, +/area/engine/atmos) +"bUR" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table, +/obj/item/stack/sheet/plasteel/fifty{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/stack/sheet/rglass{ + amount = 50 + }, +/obj/item/stack/sheet/rglass{ + amount = 50 + }, +/obj/item/clothing/shoes/magboots{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/shoes/magboots, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/storage/eva) +"bUS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall, +/area/engine/atmos) +"bUT" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"bUU" = ( +/turf/closed/wall, +/area/vacant_room/commissary) +"bUV" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bUW" = ( +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/space/nearstation) +"bUY" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bUZ" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bVa" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bVb" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bVc" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bVd" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bVe" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/aft) +"bVf" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Departure Lounge" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bVg" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bVh" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/sorting/mail{ + dir = 8; + name = "detective sorting disposal pipe"; + sortType = 30 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bVi" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/aft) +"bVj" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/aft) +"bVk" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/aft) +"bVl" = ( +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"bVm" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/item/radio/intercom{ + desc = "Talk through this. It looks like it has been modified to not broadcast."; + name = "Prison Intercom (General)"; + pixel_y = -28; + prison_radio = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"bVn" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall, +/area/security/processing) +"bVo" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/aft) +"bVp" = ( +/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/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/vomit/old, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bVq" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/structure/sign/poster/contraband/random{ + pixel_x = -32 + }, +/obj/item/extinguisher{ + pixel_x = -4; + pixel_y = 8 + }, +/obj/item/tank/internals/oxygen/red{ + pixel_x = 4; + pixel_y = 2 + }, +/obj/item/clothing/mask/gas, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bVr" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/blood/gibs/limb, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/machinery/camera{ + c_tag = "Long-Term Cell 3"; + dir = 1; + name = "prison camera"; + network = list("ss13","prison") + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bVs" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bVt" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bVu" = ( +/obj/structure/sign/warning/securearea{ + name = "WARNING: Station Limits" + }, +/turf/closed/wall/rust, +/area/space/nearstation) +"bVv" = ( +/turf/closed/mineral/random/high_chance, +/area/space/nearstation) +"bVw" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bVx" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/item/storage/toolbox/emergency{ + pixel_y = 5 + }, +/obj/item/crowbar/red, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bVy" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/security/execution/education) +"bVz" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/machinery/door/window/brigdoor/eastleft{ + name = "Justice Windoor"; + req_access_txt = "3" + }, +/obj/machinery/door/window/brigdoor/westright{ + name = "Justice Windoor"; + req_access_txt = "3" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "justiceshutter"; + name = "Justice Shutter" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/execution/education) +"bVA" = ( +/obj/machinery/chem_master, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/light_switch{ + pixel_x = -24; + pixel_y = -24 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bVB" = ( +/obj/effect/turf_decal/bot, +/obj/structure/tank_dispenser/oxygen, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bVC" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/showroomfloor, +/area/security/execution/education) +"bVD" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/machinery/meter, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/execution/education) +"bVE" = ( +/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, +/area/hallway/secondary/exit/departure_lounge) +"bVF" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/machinery/door/airlock/engineering/glass{ + name = "Laser Room"; + req_access_txt = "10" + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"bVG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/item/crowbar/red, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"bVH" = ( +/turf/closed/wall/r_wall/rust, +/area/science/test_area) +"bVI" = ( +/obj/structure/sign/warning/securearea{ + desc = "A warning sign which reads 'BOMB RANGE"; + name = "BOMB RANGE" + }, +/turf/closed/wall/r_wall/rust, +/area/science/test_area) +"bVJ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Departure Lounge" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bVK" = ( +/obj/structure/flora/grass/jungle/b, +/obj/machinery/camera{ + c_tag = "AI Upload Garden"; + dir = 4; + name = "upload camera"; + network = list("aiupload") + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"bVL" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/plaque{ + icon_state = "L2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8; + icon_state = "intact" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"bVM" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/execution/education) +"bVN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bVO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/aft) +"bVP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/bombcloset/security, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"bVQ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/table, +/obj/item/storage/box/bodybags{ + pixel_y = 5 + }, +/obj/effect/turf_decal/bot, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"bVR" = ( +/obj/structure/bodycontainer/morgue, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"bVS" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"bVT" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"bVU" = ( +/obj/structure/table/glass, +/obj/item/storage/firstaid/regular, +/obj/item/reagent_containers/glass/bottle/epinephrine, +/obj/item/reagent_containers/glass/bottle/charcoal, +/obj/item/reagent_containers/syringe, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Security Infirmary"; + dir = 8 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"bVV" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/chair/stool/bar{ + pixel_y = 12 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"bVW" = ( +/obj/structure/filingcabinet/chestdrawer/wheeled, +/obj/effect/turf_decal/delivery, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"bVX" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"bVY" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"bVZ" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bWa" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/warden) +"bWb" = ( +/obj/structure/table, +/obj/item/stack/packageWrap, +/obj/item/hand_labeler, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"bWc" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/disposal/bin, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/detectives_office) +"bWd" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/security/detectives_office) +"bWe" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel/dark, +/area/security/detectives_office) +"bWf" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/external{ + name = "Departure Shuttle Airlock" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bWg" = ( +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/hallway/primary/aft"; + dir = 8; + name = "Aft Hallway APC"; + pixel_x = -26 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/hallway/primary/aft) +"bWh" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/aft) +"bWi" = ( +/obj/structure/grille/broken, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/hallway/primary/aft) +"bWj" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/item/storage/toolbox/emergency, +/obj/item/flashlight, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bWk" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bWl" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bWm" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"bWn" = ( +/obj/machinery/door/airlock/external{ + name = "Common Mining Dock" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"bWo" = ( +/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/delivery, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/carbon_dioxide, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/execution/education) +"bWp" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/door_timer{ + id = "Cell 6"; + name = "Cell 6"; + pixel_x = -32 + }, +/obj/structure/closet/secure_closet/brig{ + id = "Cell 6"; + name = "Cell 6 Locker" + }, +/turf/open/floor/plasteel, +/area/security/warden) +"bWq" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"bWr" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"bWs" = ( +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/security/warden) +"bWt" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"bWu" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/door_timer{ + id = "Cell 5"; + name = "Cell 5"; + pixel_x = -32 + }, +/obj/structure/closet/secure_closet/brig{ + id = "Cell 5"; + name = "Cell 5 Locker" + }, +/turf/open/floor/plasteel, +/area/security/warden) +"bWv" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/door_timer{ + id = "Cell 4"; + name = "Cell 4"; + pixel_x = -32 + }, +/obj/structure/closet/secure_closet/brig{ + id = "Cell 4"; + name = "Cell 4 Locker" + }, +/turf/open/floor/plasteel, +/area/security/warden) +"bWw" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bWx" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/computer/shuttle/mining/common{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"bWy" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bWz" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/item/folder/blue, +/obj/item/pen, +/obj/structure/window/reinforced, +/obj/machinery/door/window/westright{ + name = "Control Desk"; + req_one_access_txt = "19" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bWA" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bWB" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/vacuum/external{ + pixel_x = -32 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/security/execution/education) +"bWC" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/security/execution/education) +"bWD" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 10 + }, +/obj/machinery/door/window/northleft{ + name = "Justice Windoor" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/execution/education) +"bWE" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/valve, +/obj/machinery/door/window/northright{ + name = "Justice Windoor" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/execution/education) +"bWF" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/turf/open/floor/engine, +/area/storage/tech) +"bWG" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/door_timer{ + id = "Cell 2"; + name = "Cell 2"; + pixel_x = -32 + }, +/obj/structure/closet/secure_closet/brig{ + id = "Cell 2"; + name = "Cell 2 Locker" + }, +/turf/open/floor/plasteel, +/area/security/warden) +"bWH" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/engine, +/area/storage/tech) +"bWI" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/door_timer{ + id = "Cell 1"; + name = "Cell 1"; + pixel_x = -32 + }, +/obj/structure/closet/secure_closet/brig{ + id = "Cell 1"; + name = "Cell 1 Locker" + }, +/turf/open/floor/plasteel, +/area/security/warden) +"bWJ" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/obj/machinery/camera{ + c_tag = "Secure Tech Storage"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/turf/open/floor/engine, +/area/storage/tech) +"bWK" = ( +/obj/structure/girder/displaced, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bWL" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/aft) +"bWM" = ( +/obj/structure/sign/departments/cargo, +/turf/closed/wall/rust, +/area/hallway/secondary/exit/departure_lounge) +"bWN" = ( +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/turf/open/floor/plasteel, +/area/security/warden) +"bWO" = ( +/obj/machinery/status_display/ai, +/turf/closed/wall, +/area/hallway/secondary/exit/departure_lounge) +"bWP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/aft) +"bWQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/lootdrop/grille_or_trash, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"bWR" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/aft) +"bWS" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/aft) +"bWU" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"bWV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/aft) +"bWW" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bWX" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"bWY" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"bWZ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"bXa" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-03" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bXb" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bXc" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"bXd" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/external{ + name = "Arrival Shuttle Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"bXe" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/external{ + name = "Departure Shuttle Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bXf" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/closet/crate, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bXg" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bXh" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "justiceshutter"; + name = "Justice Shutter" + }, +/turf/open/floor/plating, +/area/security/execution/education) +"bXi" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/chair/office, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bXj" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/aft) +"bXk" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bXl" = ( +/obj/machinery/vending/cola/random, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"bXm" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/turf/open/floor/plasteel, +/area/security/warden) +"bXn" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bXo" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bXp" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/warden) +"bXq" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/warden) +"bXr" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel, +/area/security/warden) +"bXs" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/status_display/supply{ + pixel_x = -32 + }, +/obj/machinery/computer/med_data{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bXt" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bXu" = ( +/obj/effect/turf_decal/tile/neutral, +/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/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bXv" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bXw" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-05" + }, +/obj/machinery/light, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bXx" = ( +/obj/structure/sign/departments/evac, +/turf/closed/wall, +/area/hallway/secondary/exit/departure_lounge) +"bXy" = ( +/obj/effect/turf_decal/tile/neutral, +/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/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bXz" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bXA" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bXB" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bXC" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bXD" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bXE" = ( +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bXF" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/newscaster{ + pixel_x = -30 + }, +/obj/machinery/camera{ + c_tag = "Traffic Control"; + dir = 4; + name = "shuttle camera" + }, +/obj/structure/table, +/obj/item/stack/packageWrap, +/obj/item/hand_labeler, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bXG" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/emcloset/anchored, +/obj/structure/sign/warning/xeno_mining{ + pixel_x = -32 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"bXH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/security/prison) +"bXI" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/general/visible, +/obj/structure/closet/crate{ + icon_state = "crateopen" + }, +/obj/item/tank/internals/oxygen/red{ + pixel_x = 4 + }, +/obj/item/tank/internals/oxygen/red{ + pixel_x = -4 + }, +/obj/item/wrench, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/execution/education) +"bXJ" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bXK" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/obj/machinery/space_heater, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/light, +/obj/structure/sign/poster/contraband/fun_police{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/execution/education) +"bXL" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Departure Lounge" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bXM" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/obj/structure/extinguisher_cabinet{ + pixel_x = -24 + }, +/obj/structure/sign/warning/fire{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/execution/education) +"bXN" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/item/folder/yellow, +/obj/item/pen, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/window/westleft{ + dir = 2; + name = "Cargo Desk"; + req_access_txt = "50" + }, +/turf/open/floor/plating, +/area/hallway/secondary/exit/departure_lounge) +"bXO" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/security/main) +"bXP" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/main) +"bXQ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/structure/table, +/obj/item/storage/box/donkpockets{ + pixel_y = 5 + }, +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/turf/open/floor/plasteel/dark, +/area/security/main) +"bXR" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/plasteel/dark, +/area/security/main) +"bXS" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-02"; + pixel_y = 3 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/brig) +"bXT" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/brig) +"bXU" = ( +/turf/open/floor/plasteel, +/area/security/brig) +"bXV" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/item/folder/red, +/obj/item/pen, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/door/window/southleft{ + name = "Security Desk"; + req_one_access_txt = "63" + }, +/turf/open/floor/plating, +/area/hallway/primary/aft) +"bXW" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/brig) +"bXX" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"bXY" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/airalarm{ + pixel_y = 24 + }, +/obj/machinery/camera{ + c_tag = "Brig Entrance" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/brig) +"bXZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/security/brig) +"bYa" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/security/brig) +"bYb" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/sign/departments/security{ + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/brig) +"bYc" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bYd" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Departure Lounge" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bYe" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bYf" = ( +/turf/closed/mineral/random/labormineral, +/area/maintenance/starboard/aft) +"bYg" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Arrivals Dock" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"bYh" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/aft) +"bYi" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + name = "Traffic Control"; + req_access_txt = "19" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bYj" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/brig) +"bYk" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bYl" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bYm" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/brig) +"bYn" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bYo" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bYp" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/sign/warning/securearea{ + name = "EMERGENCY STORAGE"; + pixel_y = 32 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bYq" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/aft) +"bYr" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bYs" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/aft) +"bYt" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/aft) +"bYu" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/table, +/obj/item/storage/box/lights/mixed{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bYv" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bYw" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bYx" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bYy" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/table, +/obj/item/crowbar, +/obj/item/wrench, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bYz" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/item/toy/figure/ce{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/machinery/button/door{ + id = "atmos"; + name = "Atmospherics Lockdown"; + pixel_x = -24; + pixel_y = 6; + req_access_txt = "24" + }, +/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" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/chief) +"bYA" = ( +/obj/structure/chair/office/light, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/landmark/start/chief_engineer, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/chief) +"bYB" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/chief) +"bYC" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-05" + }, +/obj/structure/noticeboard{ + dir = 8; + pixel_x = 32 + }, +/obj/item/paper/monitorkey, +/obj/machinery/camera{ + c_tag = "Chief Engineer's Office"; + dir = 8; + name = "engineering camera"; + network = list("ss13","engine") + }, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/chief) +"bYD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/aft) +"bYE" = ( +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"bYG" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light, +/obj/machinery/status_display/evac{ + pixel_y = -32 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bYI" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/engineering/glass{ + name = "Laser Room"; + req_access_txt = "10" + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"bYJ" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = -30 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/main) +"bYK" = ( +/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 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/start/security_officer, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/main) +"bYL" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/start/security_officer, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/main) +"bYM" = ( +/obj/machinery/door/airlock/engineering{ + name = "Starboard Quarter Solar Access"; + req_access_txt = "10" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/solars/starboard/aft) +"bYN" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/start/security_officer, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/main) +"bYO" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/security/main) +"bYP" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/security/main) +"bYQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/security/brig) +"bYR" = ( +/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 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"bYS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/security/brig) +"bYT" = ( +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/security/prison"; + dir = 1; + name = "Prison Wing APC"; + pixel_x = 1; + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"bYU" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/security/brig) +"bYV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/goonplaque, +/area/security/brig) +"bYW" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bYX" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bYY" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/sign/warning/electricshock{ + pixel_y = -32 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bYZ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-10" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bZa" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bZb" = ( +/obj/machinery/button/door{ + id = "evashutter"; + name = "E.V.A. Storage Shutter Toggle"; + pixel_x = 8; + pixel_y = -24; + req_access_txt = "19" + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"bZc" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"bZd" = ( +/obj/effect/decal/cleanable/oil/slippery, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/aft) +"bZe" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/aft) +"bZf" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/chief) +"bZg" = ( +/obj/machinery/suit_storage_unit/ce, +/obj/effect/turf_decal/delivery, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/chief) +"bZh" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table, +/obj/item/storage/box/hug/medical{ + pixel_y = 4 + }, +/obj/item/crowbar, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"bZi" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/security{ + name = "Prison Wing"; + req_access_txt = "2" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"bZj" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"bZk" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"bZl" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/power/apc/highcap/ten_k{ + areastring = "/area/hallway/primary/central"; + dir = 1; + name = "Central Primary Hallway APC"; + pixel_y = 24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/central) +"bZm" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"bZn" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bZo" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/poddoor/preopen{ + id = "prisonblast"; + name = "Prison Blast Door" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"bZp" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bZq" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/suit_storage_unit/engine, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"bZr" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bZs" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/starboard) +"bZt" = ( +/obj/machinery/suit_storage_unit/engine, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"bZu" = ( +/obj/machinery/suit_storage_unit/engine, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"bZv" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bZw" = ( +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/light/small, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"bZx" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/starboard) +"bZy" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/camera{ + c_tag = "Starboard Hallway Planters"; + dir = 4; + name = "starboard camera" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bZz" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_x = -28; + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/starboard) +"bZA" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bZB" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/starboard) +"bZC" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining/glass{ + name = "Cargo Office"; + req_one_access_txt = "31;48" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bZD" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bZE" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/starboard) +"bZF" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/table, +/obj/item/storage/backpack{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/storage/backpack, +/obj/machinery/power/apc{ + areastring = "/area/hallway/primary/starboard"; + dir = 4; + name = "Starboard Hallway APC"; + pixel_x = 26 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bZG" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"bZH" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/port) +"bZI" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/status_display/ai{ + pixel_x = -32; + pixel_y = 32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/starboard) +"bZJ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bZK" = ( +/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/corner, +/area/hallway/primary/starboard) +"bZL" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Departures Cargo Dock"; + dir = 1; + name = "shuttle camera" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit/departure_lounge) +"bZM" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bZN" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bZO" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=S CPH"; + dir = 8; + location = "SE CPH"; + name = "Patrol navbeacon SE" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bZP" = ( +/obj/structure/cable, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"bZQ" = ( +/obj/structure/closet/l3closet/janitor, +/obj/structure/window/reinforced, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/item/grenade/clusterbuster/cleaner, +/turf/open/floor/plasteel/dark, +/area/janitor) +"bZR" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bZS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bZT" = ( +/obj/structure/sign/warning/electricshock{ + pixel_y = -32 + }, +/obj/structure/grille, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"bZU" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/obj/machinery/light_switch{ + pixel_x = 24; + pixel_y = -24 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/main) +"bZV" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/light, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/brig) +"bZW" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Starboard Hallway Departure Checkpoint"; + dir = 4; + name = "starboard camera" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"bZX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/junction/flip, +/turf/open/floor/plasteel, +/area/security/brig) +"bZY" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/brig) +"bZZ" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"caa" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/light/small, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/brig) +"cab" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cac" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/camera{ + c_tag = "Aft Hallway Security Firelock"; + dir = 1; + name = "aft camera" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cad" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"cae" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"caf" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/junction{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cag" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/space_heater, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"cah" = ( +/obj/structure/flora/rock/pile, +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"cai" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/aft) +"caj" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cak" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"cal" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"cam" = ( +/obj/structure/chair/office/light{ + dir = 1; + pixel_y = 3 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"can" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/port/fore) +"cao" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/port/fore) +"cap" = ( +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/port/fore) +"caq" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/structure/sign/warning/fire{ + pixel_x = 32 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/storage/primary) +"car" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"cas" = ( +/obj/structure/table, +/obj/machinery/light{ + dir = 8 + }, +/obj/item/clipboard, +/obj/item/airlock_painter{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/airlock_painter, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"cat" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cau" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cav" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall, +/area/hallway/secondary/entry) +"caw" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cax" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cay" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/janitor) +"caz" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"caA" = ( +/obj/structure/chair/office/light{ + dir = 1 + }, +/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/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"caB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"caC" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"caD" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"caE" = ( +/obj/machinery/vending/wardrobe/jani_wardrobe, +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/machinery/camera{ + c_tag = "Custodial Closet"; + dir = 4; + name = "service camera" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/janitor) +"caF" = ( +/obj/structure/window/reinforced, +/obj/effect/turf_decal/delivery, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/janitor) +"caG" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/effect/landmark/start/janitor, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/janitor) +"caH" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/janitor) +"caI" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"caJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "ceprivate"; + name = "Chief Engineer's Privacy Shutters" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"caK" = ( +/obj/machinery/door/poddoor{ + id = "atmosventco2"; + name = "Emergency CO2 Chamber Vent" + }, +/turf/open/floor/engine/vacuum, +/area/engine/atmos) +"caL" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/start/chief_engineer, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/chief) +"caN" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/warning/vacuum/external, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"caO" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"caP" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"caQ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"caR" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/storage/primary) +"caS" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"caT" = ( +/turf/closed/wall/r_wall, +/area/science/test_area) +"caV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/aft) +"caW" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"caX" = ( +/obj/machinery/hydroponics/soil, +/obj/machinery/status_display/evac{ + pixel_x = -32; + pixel_y = -32 + }, +/turf/open/floor/grass, +/area/security/prison) +"caY" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"caZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"cba" = ( +/obj/machinery/door/airlock/grunge{ + name = "Service Production"; + req_one_access_txt = "25;26;35;28;22;37;46;38" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/central) +"cbb" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/sign/plaques/golden{ + pixel_x = -32 + }, +/turf/open/floor/plasteel, +/area/security/main) +"cbc" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cbd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/aft) +"cbe" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/aft) +"cbf" = ( +/obj/machinery/door/poddoor{ + id = "toxinsdriver"; + name = "Toxins Launcher Bay Door" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"cbg" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cbh" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table, +/obj/effect/decal/cleanable/blood/old, +/obj/item/clothing/gloves/color/black, +/obj/item/wrench, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 30 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"cbi" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cbj" = ( +/obj/structure/girder, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"cbk" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall, +/area/maintenance/starboard) +"cbl" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cbm" = ( +/obj/structure/sign/warning/vacuum/external, +/turf/closed/wall, +/area/maintenance/starboard) +"cbn" = ( +/obj/machinery/door/airlock/maintenance{ + name = "research lab maintenance"; + req_one_access_txt = "7;29" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard) +"cbo" = ( +/obj/structure/closet/secure_closet/engineering_chief, +/obj/effect/turf_decal/delivery, +/obj/item/gun/energy/e_gun/mini, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/chief) +"cbr" = ( +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/obj/machinery/cryopod{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/locker) +"cbs" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"cbt" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"cbu" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"cbv" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"cbw" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/port) +"cbx" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/status_display/ai{ + pixel_x = -32; + pixel_y = -32 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/port) +"cby" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"cbz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/small, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"cbA" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"cbB" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom{ + pixel_x = 28; + pixel_y = -28 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"cbC" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"cbD" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"cbE" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/port) +"cbF" = ( +/obj/machinery/mech_bay_recharge_port{ + dir = 2 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cbG" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/radio/intercom{ + pixel_x = -28; + pixel_y = -28 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/port) +"cbH" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"cbI" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/port) +"cbJ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/port) +"cbM" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/port) +"cbN" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"cbO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/aft) +"cbP" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/port) +"cbQ" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/sign/warning/electricshock{ + pixel_x = -32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/box/lights/mixed, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cbR" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/sign/poster/official/random{ + pixel_x = -32; + pixel_y = -32 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/port) +"cbS" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"cbT" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/security/main) +"cbU" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/science/test_area) +"cbV" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/security/main) +"cbW" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/storage/toolbox/emergency, +/obj/item/wrench, +/obj/item/radio/intercom{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cbX" = ( +/obj/item/target/clown, +/obj/structure/window/reinforced, +/obj/effect/turf_decal/delivery, +/turf/open/floor/engine/vacuum, +/area/science/test_area) +"cbY" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/door/airlock/grunge{ + name = "Custodial Closet"; + req_access_txt = "26" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/janitor) +"cbZ" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cca" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/storage/firstaid/regular, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"ccb" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"ccc" = ( +/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 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"ccd" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cce" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/beacon, +/turf/open/floor/plasteel/dark, +/area/bridge) +"ccf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"ccg" = ( +/obj/docking_port/stationary/random{ + dir = 8; + id = "pod_lavaland2"; + name = "lavaland" + }, +/turf/open/space, +/area/space/nearstation) +"cch" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cci" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/plaque{ + icon_state = "L4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8; + icon_state = "intact" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"ccj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/chair/office{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"cck" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"ccl" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"ccm" = ( +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"ccn" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cco" = ( +/obj/structure/sign/warning/securearea{ + desc = "A warning sign which reads 'BOMB RANGE"; + name = "BOMB RANGE" + }, +/turf/closed/wall/r_wall, +/area/science/test_area) +"ccp" = ( +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/engine/break_room) +"ccq" = ( +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/engine/break_room) +"ccr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"ccs" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"cct" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/engine/break_room) +"ccu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/grille/broken, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"ccv" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall, +/area/security/main) +"ccw" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/break_room) +"ccx" = ( +/turf/open/floor/engine/vacuum, +/area/science/test_area) +"ccy" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-05" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"ccz" = ( +/obj/effect/decal/cleanable/cobweb, +/turf/closed/mineral/random/labormineral, +/area/space/nearstation) +"ccB" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/firecloset, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/aft) +"ccC" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"ccE" = ( +/obj/item/beacon, +/obj/effect/turf_decal/box, +/turf/open/floor/engine/vacuum, +/area/science/test_area) +"ccF" = ( +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/engine/vacuum, +/area/science/test_area) +"ccG" = ( +/turf/open/floor/plating/airless, +/area/solar/port/aft) +"ccH" = ( +/turf/closed/indestructible/opshuttle, +/area/science/test_area) +"ccI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/landmark/xeno_spawn, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"ccJ" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/aft) +"ccK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"ccL" = ( +/obj/structure/grille, +/obj/structure/barricade/wooden, +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"ccM" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/security/main) +"ccN" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/sorting/mail{ + dir = 8; + name = "security disposal pipe"; + sortType = 7 + }, +/turf/open/floor/plasteel, +/area/security/main) +"ccO" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"ccP" = ( +/obj/structure/lattice, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) +"ccQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"ccR" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/beacon, +/turf/open/floor/plasteel, +/area/security/courtroom) +"ccS" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"ccT" = ( +/obj/machinery/door/poddoor{ + id = "atmosventplasma"; + name = "Emergency Plasma Chamber Vent" + }, +/turf/open/floor/engine/vacuum, +/area/engine/atmos) +"ccU" = ( +/obj/machinery/telecomms/processor/preset_four, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"ccV" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"ccW" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Locker Room" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"ccX" = ( +/obj/structure/lattice, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/space/basic, +/area/space/nearstation) +"ccY" = ( +/obj/structure/transit_tube/curved, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) +"ccZ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cda" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/newscaster/security_unit{ + pixel_x = 30 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"cdb" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cdc" = ( +/turf/closed/wall, +/area/ai_monitored/turret_protected/ai_upload) +"cdd" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"cde" = ( +/obj/machinery/computer/monitor{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/status_display/shuttle{ + pixel_x = 32 + }, +/obj/machinery/computer/security/telescreen/minisat{ + pixel_y = 28 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/storage/satellite) +"cdf" = ( +/obj/machinery/computer/secure_data{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"cdg" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/plaque{ + icon_state = "L6" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8; + icon_state = "intact" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"cdh" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/aft) +"cdi" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/grass, +/area/security/prison) +"cdj" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/beacon, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cdk" = ( +/obj/structure/lattice/catwalk, +/obj/structure/transit_tube/horizontal{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/fore) +"cdl" = ( +/obj/structure/transit_tube/curved/flipped, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) +"cdm" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/aft) +"cdn" = ( +/obj/machinery/telecomms/server/presets/command, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"cdo" = ( +/obj/machinery/telecomms/server/presets/security, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"cdp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cdq" = ( +/obj/machinery/telecomms/hub/preset, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"cdr" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/aft) +"cds" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/space/basic, +/area/space/nearstation) +"cdt" = ( +/obj/structure/transit_tube/curved/flipped{ + dir = 1 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) +"cdu" = ( +/obj/structure/transit_tube/curved{ + dir = 1 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) +"cdv" = ( +/obj/machinery/ai_slipper{ + uses = 10 + }, +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/foyer) +"cdw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cdx" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/maintenance/port/fore) +"cdy" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cdz" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cdA" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cdB" = ( +/obj/machinery/telecomms/server/presets/science, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"cdC" = ( +/obj/machinery/telecomms/server/presets/medical, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"cdD" = ( +/turf/closed/wall/r_wall, +/area/security/nuke_storage) +"cdE" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cdF" = ( +/obj/machinery/rnd/production/protolathe/department/engineering, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cdG" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc{ + areastring = "/area/maintenance/port/aft"; + dir = 1; + name = "Port Quarter Maintenance APC"; + pixel_y = 24 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/aft) +"cdH" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai) +"cdJ" = ( +/obj/machinery/telecomms/server/presets/common, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"cdK" = ( +/obj/machinery/telecomms/server/presets/engineering, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"cdL" = ( +/obj/machinery/ntnet_relay, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"cdM" = ( +/obj/machinery/telecomms/server/presets/service, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"cdN" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/closet/secure_closet/engineering_electrical, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cdO" = ( +/obj/machinery/computer/mech_bay_power_console{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "sparemech"; + name = "Abandoned Mech Bay Toggle"; + pixel_x = -24; + pixel_y = -24 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cdP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cdQ" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cdR" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"cdS" = ( +/obj/structure/sign/warning/securearea, +/obj/item/multitool, +/turf/closed/wall/r_wall, +/area/security/nuke_storage) +"cdT" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel, +/area/security/main) +"cdU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cdV" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai) +"cdW" = ( +/obj/machinery/turretid{ + icon_state = "control_stun"; + name = "AI Chamber turret control"; + pixel_x = 3; + pixel_y = 28 + }, +/obj/machinery/door/window{ + base_state = "leftsecure"; + dir = 8; + icon_state = "leftsecure"; + name = "Primary AI Core Access"; + obj_integrity = 300; + req_access_txt = "16" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "AI Core shutters"; + name = "AI Core Shutter" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"cdX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/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/neutral, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cdY" = ( +/turf/closed/wall, +/area/ai_monitored/turret_protected/ai) +"cdZ" = ( +/turf/closed/wall/rust, +/area/ai_monitored/turret_protected/ai) +"cea" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"ceb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cec" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Locker Room" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"ced" = ( +/obj/item/radio/intercom{ + freerange = 1; + name = "Common Channel"; + pixel_x = -28; + pixel_y = 6 + }, +/obj/item/radio/intercom{ + freerange = 1; + listening = 0; + name = "Custom Channel"; + pixel_y = 22 + }, +/obj/item/radio/intercom{ + freerange = 1; + frequency = 1447; + name = "Private Channel"; + pixel_x = 28; + pixel_y = 6 + }, +/obj/effect/landmark/start/ai, +/obj/machinery/button/door{ + id = "AI Core shutters"; + name = "AI Core Shutters Toggle"; + pixel_x = 24; + pixel_y = 24; + req_access_txt = "16" + }, +/obj/machinery/button/door{ + id = "AI Chamber entrance shutters"; + name = "AI Chamber Lockdown"; + pixel_x = -24; + pixel_y = 24; + req_access_txt = "16" + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/ai) +"cee" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/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/neutral, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-02"; + pixel_y = 3 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cef" = ( +/obj/effect/landmark/start/ai/secondary, +/obj/item/radio/intercom{ + freerange = 1; + listening = 0; + name = "Custom Channel"; + pixel_x = -10; + pixel_y = 22 + }, +/obj/item/radio/intercom{ + freerange = 1; + name = "Common Channel"; + pixel_x = -27 + }, +/obj/item/radio/intercom{ + freerange = 1; + frequency = 1447; + name = "Private Channel"; + pixel_x = -10; + pixel_y = -25 + }, +/obj/machinery/door/window{ + base_state = "rightsecure"; + dir = 4; + icon_state = "rightsecure"; + layer = 4.1; + name = "Secondary AI Core Access"; + obj_integrity = 300; + pixel_x = 4; + req_access_txt = "16" + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/ai) +"ceg" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/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/neutral, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"ceh" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/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/neutral, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cei" = ( +/obj/machinery/power/apc{ + areastring = "/area/ai_monitored/turret_protected/ai"; + dir = 1; + name = "AI Chamber APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai) +"cej" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"cek" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cel" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai) +"cem" = ( +/obj/machinery/porta_turret/ai{ + dir = 4 + }, +/obj/effect/turf_decal/box/red, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai) +"cen" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/aft) +"ceo" = ( +/obj/effect/landmark/start/ai/secondary, +/obj/item/radio/intercom{ + freerange = 1; + listening = 0; + name = "Custom Channel"; + pixel_x = 10; + pixel_y = 22 + }, +/obj/item/radio/intercom{ + freerange = 1; + name = "Common Channel"; + pixel_x = 27 + }, +/obj/item/radio/intercom{ + freerange = 1; + frequency = 1447; + name = "Private Channel"; + pixel_x = 10; + pixel_y = -25 + }, +/obj/machinery/door/window{ + base_state = "leftsecure"; + dir = 8; + icon_state = "leftsecure"; + layer = 4.1; + name = "Tertiary AI Core Access"; + obj_integrity = 300; + pixel_x = -3; + req_access_txt = "16" + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/ai) +"cep" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/aft) +"ceq" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "AI Core shutters"; + name = "AI Core Shutter" + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/ai) +"cer" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"ces" = ( +/obj/machinery/flasher{ + id = "AI"; + name = "Meatbag Pacifier"; + pixel_y = 24 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai) +"cet" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-03" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/camera{ + c_tag = "Engineering Foyer"; + dir = 4; + name = "engineering camera"; + network = list("ss13","engine") + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"ceu" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cev" = ( +/obj/structure/transit_tube/diagonal/topleft, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) +"cew" = ( +/obj/machinery/power/smes{ + charge = 5e+006 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/sign/warning/electricshock{ + pixel_y = 32 + }, +/turf/open/floor/circuit/red/telecomms, +/area/tcommsat/server) +"cex" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cey" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/cyan/hidden/layer1{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cez" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/status_display/ai{ + pixel_x = -32 + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai) +"ceA" = ( +/obj/machinery/door/airlock/external{ + name = "Satellite External Airlock"; + req_one_access_txt = "32;19" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/atmos) +"ceB" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai) +"ceC" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"ceD" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai) +"ceE" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/status_display/ai{ + pixel_x = 32 + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai) +"ceF" = ( +/turf/closed/wall/r_wall, +/area/ai_monitored/turret_protected/aisat/atmos) +"ceG" = ( +/turf/closed/wall/r_wall/rust, +/area/ai_monitored/turret_protected/aisat/atmos) +"ceH" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"ceI" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/hop) +"ceJ" = ( +/obj/machinery/telecomms/server/presets/supply, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"ceK" = ( +/obj/structure/table, +/obj/machinery/power/apc{ + areastring = "/area/security/nuke_storage"; + dir = 1; + name = "Vault APC"; + pixel_y = 25 + }, +/obj/item/folder/blue{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/folder/documents, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/security/nuke_storage) +"ceL" = ( +/obj/machinery/computer/bank_machine, +/obj/structure/sign/warning/securearea{ + pixel_y = 32 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/security/nuke_storage) +"ceM" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/table, +/obj/item/clipboard, +/obj/item/geiger_counter{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/toy/figure/ninja{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/item/pen, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/security/nuke_storage) +"ceN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/aft) +"ceO" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"ceP" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/plasteel, +/area/engine/break_room) +"ceQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"ceR" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"ceS" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/plasteel, +/area/engine/engineering) +"ceT" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/engine/engineering) +"ceU" = ( +/obj/structure/lattice/catwalk, +/obj/item/stack/marker_beacon{ + anchored = 1; + icon_state = "markerburgundy-on"; + light_color = "#FA644B"; + light_power = 3; + light_range = 2; + name = "landing marker"; + picked_color = "Burgundy" + }, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/hallway/secondary/entry) +"ceV" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/engineering) +"ceW" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/hallway/secondary/entry) +"ceX" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/hallway/secondary/entry) +"ceY" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai) +"ceZ" = ( +/obj/structure/sign/departments/security, +/turf/closed/wall/r_wall, +/area/security/nuke_storage) +"cfa" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/fore) +"cfb" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/rnd/production/techfab/department/security, +/turf/open/floor/plasteel/dark, +/area/security/main) +"cfc" = ( +/obj/machinery/telecomms/processor/preset_one, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"cfd" = ( +/obj/machinery/telecomms/broadcaster/preset_left, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"cfe" = ( +/obj/machinery/telecomms/bus/preset_two, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"cff" = ( +/obj/machinery/telecomms/bus/preset_three, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"cfg" = ( +/obj/machinery/telecomms/broadcaster/preset_right, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"cfh" = ( +/obj/machinery/telecomms/processor/preset_three, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"cfi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/grille/broken, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard) +"cfj" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cfk" = ( +/obj/machinery/nuclearbomb/selfdestruct, +/obj/effect/turf_decal/stripes/box, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/security/nuke_storage) +"cfl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cfm" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-02"; + pixel_y = 3 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cfn" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cfo" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cfp" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cfq" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cfr" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 10 + }, +/obj/machinery/light_switch{ + pixel_y = 24 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-05" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cfs" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cft" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"cfu" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/hatch{ + name = "Satellite Antechamber"; + req_one_access_txt = "32;19" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cfv" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cfw" = ( +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/obj/effect/turf_decal/delivery, +/obj/machinery/camera{ + c_tag = "Atmospherics Desk"; + dir = 1; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cfx" = ( +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/light, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cfy" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cfz" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + name = "Engineering External Airlock"; + req_access_txt = "10" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"cfA" = ( +/obj/machinery/telecomms/bus/preset_one, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"cfB" = ( +/obj/machinery/telecomms/message_server, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"cfC" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/tcommsat/server) +"cfD" = ( +/obj/machinery/door/poddoor/shutters{ + id = "custodialwagon"; + name = "Custodial Bay" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/janitor) +"cfE" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/tcommsat/server) +"cfF" = ( +/obj/machinery/blackbox_recorder, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"cfG" = ( +/obj/machinery/telecomms/bus/preset_four, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) +"cfH" = ( +/obj/structure/extinguisher_cabinet{ + pixel_y = -30 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/red, +/obj/structure/closet/secure_closet/engineering_welding, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cfI" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cfJ" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_x = 30 + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai) +"cfK" = ( +/obj/machinery/door/window{ + base_state = "rightsecure"; + dir = 4; + icon_state = "rightsecure"; + name = "Primary AI Core Access"; + obj_integrity = 300; + req_access_txt = "16" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "AI Core shutters"; + name = "AI Core Shutter" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/light_switch{ + pixel_x = 6; + pixel_y = 24 + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) +"cfL" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"cfM" = ( +/turf/closed/wall/r_wall, +/area/tcommsat/computer) +"cfN" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/tcommsat/computer) +"cfO" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/tcommsat/computer) +"cfP" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/tcommsat/computer) +"cfQ" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cfR" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/tcommsat/computer) +"cfS" = ( +/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/tcommsat/computer) +"cfT" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cfW" = ( +/obj/structure/sign/warning/vacuum/external, +/turf/closed/wall, +/area/space/nearstation) +"cfY" = ( +/turf/closed/wall/r_wall, +/area/ai_monitored/storage/satellite) +"cga" = ( +/turf/closed/wall/r_wall/rust, +/area/ai_monitored/storage/satellite) +"cgb" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/emcloset, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/aft) +"cgd" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + name = "Custodial Closet"; + req_access_txt = "26" + }, +/turf/open/floor/plasteel/dark, +/area/janitor) +"cge" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall, +/area/tcommsat/computer) +"cgf" = ( +/obj/machinery/computer/telecomms/server, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"cgg" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall/rust, +/area/hallway/secondary/entry) +"cgi" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/fore) +"cgj" = ( +/obj/machinery/door/airlock/external{ + name = "Satellite External Airlock"; + req_one_access_txt = "32;19" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/atmos) +"cgl" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cgm" = ( +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/wood, +/area/maintenance/port) +"cgn" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cgo" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light_switch{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/main) +"cgp" = ( +/obj/structure/closet/secure_closet/hos, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/hos) +"cgq" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/fore) +"cgr" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/structure/table, +/obj/machinery/recharger, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/hos) +"cgs" = ( +/obj/machinery/suit_storage_unit/hos, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/obj/item/storage/secure/safe/HoS{ + pixel_x = 36; + pixel_y = 28 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/hos) +"cgt" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ai_monitored/security/armory) +"cgu" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/tcommsat/computer) +"cgv" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/showroomfloor, +/area/ai_monitored/security/armory) +"cgw" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot, +/obj/machinery/vending/cigarette, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"cgx" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall, +/area/hallway/secondary/entry) +"cgy" = ( +/obj/machinery/vending/wardrobe/sec_wardrobe, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot, +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = -30 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"cgz" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-05" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"cgA" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cgB" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cgC" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cgD" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/portable_atmospherics/scrubber, +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/airalarm{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/atmos) +"cgE" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/camera{ + c_tag = "Aft Hallway Engineering Venders"; + dir = 8; + name = "aft camera" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cgF" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/portable_atmospherics/pump, +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/atmos) +"cgG" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cgH" = ( +/obj/machinery/door/airlock/external{ + name = "Engineering External Airlock"; + req_one_access_txt = "10;24" + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"cgI" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/hallway/secondary/entry) +"cgJ" = ( +/obj/machinery/door/poddoor/preopen, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"cgK" = ( +/obj/structure/transit_tube/horizontal{ + dir = 1 + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"cgL" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/xeno_mining{ + pixel_y = 32 + }, +/obj/machinery/camera{ + c_tag = "Port Quarter Solar"; + dir = 4; + name = "engineering camera"; + network = list("ss13","engine") + }, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/solars/port/aft) +"cgM" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/solars/port/aft) +"cgN" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/landmark/event_spawn, +/mob/living/simple_animal/bot/medbot{ + auto_patrol = 1; + desc = "A little medical robot, officially part of the Nanotrasen medical inspectorate. He looks somewhat underwhelmed."; + name = "Inspector Johnson" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"cgO" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/smes, +/obj/effect/turf_decal/bot, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/solars/port/aft) +"cgP" = ( +/obj/structure/sign/warning/electricshock{ + pixel_x = -32 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cgQ" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"cgR" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"cgS" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/table, +/obj/machinery/recharger, +/obj/machinery/computer/security/telescreen/prison{ + dir = 4; + pixel_x = -24 + }, +/obj/machinery/light/small, +/turf/open/floor/plasteel/dark, +/area/security/main) +"cgT" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/main) +"cgU" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"cgV" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"cgW" = ( +/obj/structure/closet/secure_closet/engineering_personal, +/obj/item/clothing/suit/hooded/wintercoat/engineering, +/obj/effect/turf_decal/delivery, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_y = 24 + }, +/obj/item/pickaxe/mini, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"cgX" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light_switch{ + pixel_x = -24; + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hos) +"cgY" = ( +/obj/structure/closet/crate/coffin, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"cha" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hos) +"chb" = ( +/obj/structure/table/wood, +/obj/item/storage/box/deputy{ + pixel_y = 5 + }, +/obj/item/taperecorder{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/flashlight/seclite, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/obj/machinery/light_switch{ + pixel_x = 24; + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hos) +"chc" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ai_monitored/security/armory) +"chd" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ai_monitored/security/armory) +"che" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ai_monitored/security/armory) +"chf" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/landmark/start/cyborg, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/foyer) +"chg" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ai_monitored/security/armory) +"chh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/central) +"chi" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/table, +/obj/item/storage/box/lights/mixed{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/port) +"chj" = ( +/obj/structure/sign/warning/xeno_mining, +/turf/closed/wall, +/area/maintenance/fore) +"chk" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/plaque{ + icon_state = "L8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"chl" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"chm" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/plaque{ + icon_state = "L12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"chn" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/processing) +"cho" = ( +/obj/effect/turf_decal/tile/red, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/camera{ + c_tag = "Transferring Centre"; + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/security/processing) +"chp" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 5 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/engine/atmos) +"chq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"chr" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"chs" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"cht" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/fireaxecabinet{ + pixel_y = 28 + }, +/obj/machinery/camera{ + c_tag = "Atmospherics Scrubbers"; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"chu" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/atmos) +"chv" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/turf/open/floor/plasteel, +/area/engine/atmos) +"chw" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/plasteel, +/area/engine/atmos) +"chx" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"chy" = ( +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_x = -5 + }, +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_x = 5 + }, +/obj/item/geiger_counter, +/obj/item/geiger_counter, +/obj/structure/table, +/obj/structure/sign/warning/xeno_mining{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"chz" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible, +/turf/open/floor/plasteel, +/area/engine/atmos) +"chA" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/power/apc/highcap/ten_k{ + areastring = "/area/engine/atmos"; + dir = 1; + name = "Atmospherics APC"; + pixel_y = 28 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"chB" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/hatch{ + name = "Satellite Antechamber"; + req_one_access_txt = "32;19" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"chC" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"chD" = ( +/turf/closed/wall, +/area/ai_monitored/turret_protected/aisat/foyer) +"chE" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"chF" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/foyer) +"chG" = ( +/obj/machinery/computer/station_alert{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/status_display/ai{ + pixel_x = 32 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/storage/satellite) +"chH" = ( +/obj/structure/reflector/box/anchored{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"chI" = ( +/turf/closed/wall/r_wall, +/area/ai_monitored/turret_protected/aisat/foyer) +"chJ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/security/glass{ + name = "Brig Control"; + req_access_txt = "3" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"chK" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research{ + name = "Experimentation Lab"; + req_access_txt = "47" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"chL" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/r_wall, +/area/ai_monitored/turret_protected/aisat/foyer) +"chM" = ( +/obj/structure/transit_tube/diagonal, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) +"chN" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"chO" = ( +/obj/structure/sign/warning/vacuum/external, +/turf/closed/wall, +/area/ai_monitored/turret_protected/aisat/atmos) +"chP" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/delivery, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/atmos) +"chQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/radio{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/engineering) +"chR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/minisat{ + dir = 8; + pixel_x = 28 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/security/checkpoint/engineering) +"chS" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"chT" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/engineering) +"chU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/port/aft) +"chV" = ( +/turf/closed/wall/rust, +/area/ai_monitored/turret_protected/aisat_interior) +"chW" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/hatch{ + name = "Satellite Antechamber"; + req_one_access_txt = "32;19" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"chX" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/r_wall, +/area/ai_monitored/turret_protected/aisat_interior) +"chY" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/small, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/solars/port/aft) +"chZ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/aft) +"cia" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/solars/port/aft) +"cib" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/solars/port/aft) +"cic" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/aft) +"cid" = ( +/obj/effect/turf_decal/bot, +/obj/structure/reagent_dispensers/watertank, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cie" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/vacuum/external{ + pixel_x = 32 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cif" = ( +/obj/machinery/door/airlock/external{ + name = "Abandoned External Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"cig" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"cih" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor/shutters{ + id = "sidearmory"; + name = "Side Armoury Shutter" + }, +/obj/machinery/button/door{ + id = "sidearmory"; + name = "Armoury Shutter Toggle"; + pixel_y = -24; + req_access_txt = "3" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"cii" = ( +/obj/machinery/recharge_station, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = -28 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/storage/satellite) +"cij" = ( +/obj/structure/table/wood, +/obj/item/folder/red, +/obj/item/lighter{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/clothing/mask/cigarette/cigar/cohiba{ + pixel_x = 6 + }, +/obj/item/clothing/mask/cigarette/cigar, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/hos) +"cik" = ( +/obj/machinery/disposal/bin, +/obj/machinery/light{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hos) +"cil" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/showroomfloor, +/area/ai_monitored/security/armory) +"cim" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/mob/living/simple_animal/bot/secbot{ + arrest_type = 1; + health = 45; + icon_state = "secbot1"; + idcheck = 1; + name = "Warden Armsky"; + weaponscheck = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ai_monitored/security/armory) +"cin" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/engine/supermatter) +"cio" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel/showroomfloor, +/area/ai_monitored/security/armory) +"cip" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/teleport/station, +/obj/machinery/status_display/evac{ + pixel_x = 32 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/foyer) +"ciq" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/storage/satellite) +"cir" = ( +/obj/structure/transit_tube/junction, +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/space/basic, +/area/space/nearstation) +"cis" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/r_wall/rust, +/area/ai_monitored/turret_protected/aisat/foyer) +"cit" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"ciu" = ( +/obj/structure/table, +/obj/item/clothing/suit/justice, +/obj/item/stack/cable_coil, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating, +/area/maintenance/aft) +"civ" = ( +/obj/structure/lattice/catwalk, +/obj/structure/transit_tube/horizontal{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/space/basic, +/area/space/nearstation) +"ciw" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 1 + }, +/obj/machinery/meter, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cix" = ( +/obj/structure/lattice/catwalk, +/obj/structure/transit_tube/crossing, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/space/basic, +/area/space/nearstation) +"ciy" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 10 + }, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/stripes/white/corner, +/turf/open/floor/plasteel, +/area/engine/atmos) +"ciz" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ + dir = 8; + name = "scrubbers pipe" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/white/line, +/turf/open/floor/plasteel, +/area/engine/atmos) +"ciA" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line, +/turf/open/floor/plasteel, +/area/engine/atmos) +"ciB" = ( +/obj/machinery/recharge_station, +/obj/effect/turf_decal/bot, +/obj/machinery/power/apc{ + areastring = "/area/ai_monitored/storage/satellite"; + name = "MiniSat Maint APC"; + pixel_y = -26 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/storage/satellite) +"ciC" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible, +/obj/effect/turf_decal/stripes/white/line, +/turf/open/floor/plasteel, +/area/engine/atmos) +"ciD" = ( +/obj/structure/table, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/mineral/plasma{ + amount = 5 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/storage/satellite) +"ciE" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/white/line, +/turf/open/floor/plasteel, +/area/engine/atmos) +"ciF" = ( +/obj/machinery/hydroponics/soil, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/item/seeds/sugarcane, +/turf/open/floor/grass, +/area/security/prison) +"ciG" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/table, +/obj/machinery/computer/security/telescreen/minisat{ + dir = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/status_display/ai{ + pixel_x = -32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/foyer) +"ciH" = ( +/obj/structure/transit_tube/horizontal{ + dir = 1 + }, +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"ciI" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/stripes/white/corner{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"ciJ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"ciK" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"ciL" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/start/atmospheric_technician, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/atmos) +"ciM" = ( +/obj/structure/sign/departments/engineering, +/turf/closed/wall, +/area/ai_monitored/turret_protected/aisat/foyer) +"ciN" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/hatch{ + name = "Satellite Storage"; + req_one_access_txt = "32;19" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/foyer) +"ciO" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"ciP" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/plasteel, +/area/engine/atmos) +"ciQ" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/rust, +/area/space/nearstation) +"ciR" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"ciS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/computer/secure_data{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/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/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/engineering) +"ciT" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engineaccess"; + name = "Engine Access Shutters" + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"ciU" = ( +/obj/structure/lattice/catwalk, +/obj/structure/transit_tube/crossing, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"ciV" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/security/checkpoint/engineering) +"ciW" = ( +/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/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/plasteel, +/area/engine/engineering) +"ciX" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/turretid{ + control_area = "/area/ai_monitored/turret_protected/ai_upload"; + icon_state = "control_stun"; + name = "AI Upload turret control"; + pixel_y = -24 + }, +/obj/machinery/camera/motion{ + c_tag = "AI Upload Foyer"; + dir = 4; + name = "upload camera"; + network = list("aiupload") + }, +/obj/machinery/computer/security/telescreen{ + desc = "Used for watching the AI Upload."; + dir = 4; + name = "AI Upload Monitor"; + network = list("aiupload"); + pixel_x = -28 + }, +/obj/effect/landmark/start/cyborg, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai_upload) +"ciY" = ( +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/palebush, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/fore) +"ciZ" = ( +/obj/structure/flora/grass/jungle, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/fore) +"cja" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cjb" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cjc" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/item/clipboard{ + pixel_x = 4 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/item/book/manual/wiki/tcomms, +/obj/item/radio, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"cjd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cje" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/item/radio/intercom{ + broadcasting = 1; + frequency = 1447; + name = "Private AI Channel"; + pixel_y = -28 + }, +/obj/effect/landmark/start/cyborg, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai_upload) +"cjf" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard) +"cjg" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cjh" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cji" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"cjj" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"cjk" = ( +/obj/machinery/power/solar_control{ + dir = 4; + id = "aftport"; + name = "Port Quarter Solar Control" + }, +/obj/effect/turf_decal/bot, +/obj/structure/cable, +/obj/structure/sign/warning/vacuum/external{ + pixel_x = -32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/solars/port/aft) +"cjl" = ( +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/port/fore) +"cjm" = ( +/obj/machinery/door/airlock/external{ + name = "Atmospherics External Airlock"; + req_access_txt = "24" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cjn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/solars/port/aft) +"cjp" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/solars/port/aft"; + dir = 4; + name = "Port Quarter Solar APC"; + pixel_x = 26 + }, +/obj/structure/cable, +/obj/machinery/light/small, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/solars/port/aft) +"cjq" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating, +/area/security/main) +"cjr" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/security/main) +"cjs" = ( +/obj/machinery/door/airlock/external{ + name = "Atmospherics External Airlock"; + req_access_txt = "24" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cjt" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/turf/open/floor/plating, +/area/engine/engineering) +"cju" = ( +/turf/closed/wall, +/area/engine/gravity_generator) +"cjv" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/teleport/hub, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/teleporter) +"cjw" = ( +/obj/machinery/power/smes{ + charge = 5e+006 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/engine/gravity_generator) +"cjx" = ( +/obj/structure/table, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/item/clipboard, +/obj/item/paper/guides/jobs/engi/gravity_gen, +/obj/item/pen/blue, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/engine/gravity_generator) +"cjy" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/computer/teleporter{ + dir = 8 + }, +/obj/machinery/button/door{ + id = "teleshutter"; + name = "Teleporter Shutter Toggle"; + pixel_x = 24; + pixel_y = -24; + req_access_txt = "19" + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/teleporter) +"cjz" = ( +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hos) +"cjA" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ai_monitored/security/armory) +"cjB" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall, +/area/engine/gravity_generator) +"cjC" = ( +/obj/effect/turf_decal/box/corners{ + dir = 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 + }, +/turf/open/floor/plasteel/dark, +/area/engine/gravity_generator) +"cjD" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cjE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/aft) +"cjF" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/status_display/ai{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/plasteel/dark, +/area/engine/gravity_generator) +"cjG" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/engine/gravity_generator) +"cjH" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering{ + name = "Gravity Generator Access"; + req_one_access_txt = "10" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"cjI" = ( +/obj/effect/turf_decal/box, +/obj/machinery/shower{ + dir = 4; + name = "emergency shower" + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"cjJ" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/pump{ + name = "N2 to Pure" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cjK" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/components/binary/pump/on{ + name = "N2 to Airmix" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cjL" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/shower{ + dir = 4; + name = "emergency shower" + }, +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cjM" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cjN" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/rad_collector/anchored, +/obj/structure/window/plasma/reinforced{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/engine/supermatter) +"cjO" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cjP" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cjQ" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/components/trinary/filter/atmos/plasma{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/atmos) +"cjR" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cjS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cjT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"cjU" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/landmark/event_spawn, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cjV" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cjW" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/effect/turf_decal/box, +/obj/machinery/shower{ + dir = 4; + name = "emergency shower" + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"cjY" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cjZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/security/checkpoint/engineering) +"cka" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/security/checkpoint/engineering) +"ckb" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/engineering) +"ckc" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"ckd" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cke" = ( +/obj/structure/sign/warning, +/turf/closed/wall, +/area/space/nearstation) +"ckf" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"ckg" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/solar{ + id = "aftstarboard"; + name = "Aft-Starboard Solar Array" + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solar/starboard/aft) +"ckh" = ( +/obj/machinery/atmospherics/pipe/manifold4w/general/visible, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cki" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"ckj" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"ckk" = ( +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) +"ckl" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/aft) +"ckm" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/solar{ + id = "aftstarboard"; + name = "Aft-Starboard Solar Array" + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solar/starboard/aft) +"ckn" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall, +/area/space/nearstation) +"cko" = ( +/turf/open/floor/plating/airless, +/area/space/nearstation) +"ckq" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/port/fore) +"ckt" = ( +/obj/structure/table, +/obj/item/storage/toolbox/emergency, +/obj/item/clothing/mask/gas, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Supermatter Cooler"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 28 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"cku" = ( +/turf/closed/wall/r_wall, +/area/maintenance/solars/starboard/aft) +"ckv" = ( +/turf/closed/wall/r_wall/rust, +/area/maintenance/solars/starboard/aft) +"ckw" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/engine/engineering) +"ckx" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/carpet, +/area/crew_quarters/heads/hos) +"ckz" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"ckA" = ( +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/solar/starboard/aft) +"ckB" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/port/fore) +"ckC" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"ckD" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/aft) +"ckE" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) +"ckF" = ( +/obj/structure/bed/dogbed/cayenne{ + name = "Lia's bed" + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/mob/living/simple_animal/hostile/retaliate/bat{ + desc = "A failed experiment of Nanotrasen to create weaponised carp technology. This less than intimidating carp now serves as an authority figure's pet."; + emote_taunt = list("gnashes"); + faction = list("carp"); + harm_intent_damage = 3; + health = 200; + icon_dead = "magicarp_dead"; + icon_gib = "magicarp_gib"; + icon_living = "magicarp"; + icon_state = "magicarp"; + maxHealth = 200; + max_co2 = 5; + max_tox = 2; + melee_damage_lower = 15; + melee_damage_upper = 20; + min_oxy = 5; + name = "Lia"; + real_name = "Lia"; + response_help = "pets"; + turns_per_move = 10 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hos) +"ckG" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ai_monitored/security/armory) +"ckH" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/engine/engineering) +"ckI" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/engine/engineering) +"ckJ" = ( +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance"; + req_access_txt = "10; 13" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"ckK" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/port/fore) +"ckL" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/port/aft) +"ckM" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/port/aft) +"ckN" = ( +/obj/structure/cable, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/port/aft) +"ckO" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/port/aft) +"ckP" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/port/aft) +"ckQ" = ( +/obj/machinery/power/tracker, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solar/starboard/aft) +"ckR" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/clipboard, +/obj/item/paper/crumpled{ + info = "The safes have been locked and scrambled. Three thousand space dollars, a bandolier, a custom shotgun, and a lazarus injector have been safely deposited."; + name = "bank statement" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"ckS" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/sign/warning/nosmoking{ + pixel_x = -30 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ckT" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ai_monitored/security/armory) +"ckU" = ( +/turf/closed/wall, +/area/maintenance/solars/starboard/aft) +"ckV" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ai_monitored/security/armory) +"ckW" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/grille/broken, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/aft) +"ckX" = ( +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/port/aft) +"ckY" = ( +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/port/aft) +"ckZ" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"cla" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/event_spawn, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"clb" = ( +/turf/closed/wall/rust, +/area/maintenance/solars/starboard/aft) +"clc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/security/processing) +"cld" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-02"; + pixel_y = 3 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/turf/open/floor/plasteel, +/area/security/processing) +"cle" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/aft) +"clf" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/engine/engineering) +"clg" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/plasteel/dark, +/area/engine/gravity_generator) +"clh" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/turf/open/floor/plasteel, +/area/security/processing) +"cli" = ( +/obj/structure/grille, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"clj" = ( +/obj/structure/table, +/obj/item/tank/internals/oxygen/red, +/obj/item/clothing/mask/gas, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/processing) +"clk" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall, +/area/maintenance/solars/starboard/aft) +"cll" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/port) +"clm" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cln" = ( +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance"; + req_access_txt = "10; 13" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"clo" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/effect/landmark/start/atmospheric_technician, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"clp" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"clq" = ( +/obj/item/clothing/mask/breath, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"clr" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/aft) +"cls" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"clt" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"clu" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) +"clv" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/machinery/computer/atmos_control/tank/toxin_tank{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/atmos) +"clw" = ( +/obj/machinery/atmospherics/pipe/simple/purple/visible, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) +"clx" = ( +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance"; + req_access_txt = "10; 13" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/solars/port/aft) +"cly" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/filingcabinet, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26; + pixel_y = -30 + }, +/obj/item/radio/intercom{ + pixel_y = -26 + }, +/obj/machinery/power/apc{ + areastring = "/area/security/checkpoint/engineering"; + dir = 8; + name = "Engineering Security APC"; + pixel_x = -24 + }, +/obj/structure/cable, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/engineering) +"clz" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/newscaster/security_unit{ + pixel_y = -28 + }, +/obj/machinery/recharger, +/obj/machinery/camera{ + c_tag = "Engineering Security Post"; + dir = 1; + name = "engineering camera" + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/engineering) +"clA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"clB" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/closet/radiation, +/obj/item/clothing/glasses/meson, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"clC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"clD" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"clE" = ( +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/engine/gravity_generator) +"clF" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/plasteel/dark, +/area/engine/gravity_generator) +"clG" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel, +/area/engine/engineering) +"clH" = ( +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance"; + req_access_txt = "10; 13" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/solars/port/aft) +"clI" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Plasma to Pure" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/atmos) +"clJ" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/item/storage/belt/utility{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/storage/belt/utility, +/obj/item/clothing/head/welding, +/obj/item/clothing/head/welding, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"clK" = ( +/obj/item/stack/cable_coil, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/solars/port/aft) +"clL" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"clM" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"clN" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"clO" = ( +/obj/machinery/door/airlock/engineering{ + name = "Port Quarter Solar Access"; + req_access_txt = "10" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/solars/port/aft) +"clP" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engine/gravity_generator) +"clQ" = ( +/obj/machinery/gravity_generator/main/station, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/plasteel/dark, +/area/engine/gravity_generator) +"clR" = ( +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/gravity_generator) +"clS" = ( +/obj/effect/turf_decal/bot, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"clT" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/r_wall, +/area/engine/gravity_generator) +"clV" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/closet/radiation, +/obj/item/clothing/glasses/meson, +/turf/open/floor/plasteel/dark, +/area/engine/gravity_generator) +"clW" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/closet/radiation, +/obj/item/clothing/glasses/meson, +/obj/machinery/power/apc{ + areastring = "/area/engine/gravity_generator"; + name = "Gravity Generator APC"; + pixel_y = -26 + }, +/obj/structure/cable, +/turf/open/floor/plasteel/dark, +/area/engine/gravity_generator) +"clX" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/processing) +"clY" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"clZ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/shower{ + dir = 4; + name = "emergency shower" + }, +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cma" = ( +/obj/structure/closet/crate/solarpanel_small, +/obj/effect/turf_decal/delivery, +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cmb" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/camera{ + c_tag = "Atmospherics Entrance"; + dir = 8; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cmc" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/security/processing) +"cmd" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cme" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/components/trinary/mixer/airmix, +/obj/effect/turf_decal/stripes/white/corner{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cmf" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/manifold/scrubbers/visible{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cmg" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/manifold/general/visible, +/obj/machinery/meter, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cmh" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall, +/area/maintenance/starboard/aft) +"cmi" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/components/trinary/filter/atmos{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cmj" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Arrivals Dock" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"cmk" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Port Mix to West Ports" + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cml" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cmm" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/carpet, +/area/crew_quarters/heads/hos) +"cmn" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Air to Ports" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/white/corner{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cmo" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible, +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cmp" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cmq" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Atmospherics Aft Tanks"; + dir = 1; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cmr" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"cms" = ( +/obj/machinery/door/poddoor/preopen{ + id = "gravity"; + name = "Gravity Generator Blast Door" + }, +/obj/machinery/button/door{ + id = "gravity"; + name = "Gravity Generator Lockdown"; + pixel_y = 24; + req_one_access_txt = "19;23" + }, +/obj/machinery/door/firedoor, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/engine/gravity_generator) +"cmt" = ( +/turf/closed/wall/mineral/plastitanium, +/area/maintenance/port/aft) +"cmu" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/structure/noticeboard{ + pixel_y = 28 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-05" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cmv" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-03" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cmw" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/machinery/camera{ + c_tag = "Laser Room Port"; + dir = 1; + name = "laser room camera"; + network = list("ss13","engine") + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/engine/engineering) +"cmx" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cmy" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cmz" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8; + name = "Waste to Filter" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cmA" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/emitter/anchored{ + dir = 4; + state = 2 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/engine/engineering) +"cmB" = ( +/obj/structure/closet/radiation, +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"cmC" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cmD" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"cmE" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/preopen{ + id = "gravity"; + name = "Gravity Generator Blast Door" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/engine/gravity_generator) +"cmF" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/aft) +"cmG" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/shieldgen, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"cmH" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/sign/warning/nosmoking{ + pixel_x = -30 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cmI" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"cmJ" = ( +/obj/structure/lattice, +/turf/open/space/basic, +/area/space) +"cmK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cmL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cmM" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/box, +/obj/machinery/power/solar{ + id = "foreport"; + name = "Fore-Port Solar Array" + }, +/turf/open/floor/plasteel/airless/solarpanel, +/area/space/nearstation) +"cmN" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/emitter/anchored{ + dir = 8; + state = 2 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/engine/engineering) +"cmP" = ( +/turf/closed/wall, +/area/crew_quarters/heads/hos) +"cmQ" = ( +/obj/machinery/door/poddoor/preopen{ + id = "gravity"; + name = "Gravity Generator Blast Door" + }, +/obj/machinery/light/small, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/engine/gravity_generator) +"cmR" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/aft) +"cmS" = ( +/obj/machinery/camera{ + c_tag = "Satellite External Fore"; + dir = 1; + name = "exterior camera"; + network = list("minisat"); + start_active = 1 + }, +/turf/open/floor/plating/asteroid/airless, +/area/space/nearstation) +"cmT" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cmU" = ( +/obj/machinery/camera{ + c_tag = "Satellite External Port"; + dir = 8; + name = "exterior camera"; + network = list("minisat"); + start_active = 1 + }, +/turf/open/floor/plating/asteroid/airless, +/area/space/nearstation) +"cmV" = ( +/obj/machinery/camera{ + c_tag = "Satellite External Starboard"; + dir = 4; + name = "exterior camera"; + network = list("minisat"); + start_active = 1 + }, +/turf/open/floor/plating/asteroid/airless, +/area/space/nearstation) +"cmW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/box/lights/mixed, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"cmX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/storage/box/lights/mixed, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"cmY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cmZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"cna" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"cnb" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + name = "output gas connector port" + }, +/obj/machinery/portable_atmospherics/canister, +/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/machinery/camera{ + c_tag = "Incinerator"; + dir = 8; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"cnc" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cnd" = ( +/turf/closed/wall/rust, +/area/maintenance/disposal) +"cne" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"cnf" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cng" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/directions/evac{ + dir = 8; + pixel_y = 24 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"cnh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port) +"cni" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall, +/area/maintenance/port) +"cnj" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cnk" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cnl" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cnm" = ( +/obj/structure/closet/secure_closet/security/sec, +/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, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/item/gun/energy/e_gun/advtaser, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"cnn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cno" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible/layer3{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cnp" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible/layer3{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cnq" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/item/clipboard, +/obj/item/flashlight/seclite, +/obj/item/flashlight/seclite, +/obj/item/flashlight/seclite, +/obj/effect/decal/cleanable/dirt, +/obj/item/toy/figure/secofficer, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"cnr" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall, +/area/maintenance/port) +"cnt" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/box, +/obj/machinery/power/solar{ + id = "aftport"; + name = "Aft-Port Solar Array" + }, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solar/port/aft) +"cnu" = ( +/turf/closed/wall, +/area/maintenance/disposal) +"cnv" = ( +/obj/machinery/computer/shuttle/labor{ + dir = 1 + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = -32 + }, +/obj/machinery/camera{ + c_tag = "Transferring Centre Dock"; + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/security/processing) +"cnw" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/box, +/obj/machinery/power/solar{ + id = "aftport"; + name = "Aft-Port Solar Array" + }, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solar/port/aft) +"cnx" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/processing) +"cny" = ( +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/aft) +"cnz" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/aft) +"cnA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/processing) +"cnB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"cnC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/gulag_item_reclaimer{ + pixel_x = 30 + }, +/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/neutral, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel, +/area/security/processing) +"cnD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random{ + pixel_y = -32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/grille/broken, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard) +"cnE" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ + dir = 4 + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cnF" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Disposal Access"; + req_access_txt = "12" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal) +"cnG" = ( +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cnH" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cnI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"cnJ" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"cnK" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cnL" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"cnM" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/port/aft) +"cnN" = ( +/turf/closed/wall, +/area/maintenance/solars/port/aft) +"cnP" = ( +/turf/closed/wall/r_wall, +/area/maintenance/solars/port/aft) +"cnQ" = ( +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/solar/port/aft) +"cnR" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/port/aft) +"cnS" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/solars/port/aft) +"cnT" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/shieldgen, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"cnU" = ( +/obj/structure/lattice, +/obj/structure/sign/warning/securearea{ + pixel_x = 32 + }, +/turf/open/space/basic, +/area/space/nearstation) +"cnV" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/structure/grille/broken, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/aft) +"cnW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/aft) +"cnX" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall, +/area/maintenance/solars/port/aft) +"cnY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/engine, +/area/engine/engineering) +"cnZ" = ( +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"coa" = ( +/obj/machinery/power/tracker, +/obj/effect/turf_decal/box, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solar/port/aft) +"cob" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 6 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"coc" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cod" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"coe" = ( +/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cof" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"cog" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/port/aft) +"coh" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/machinery/light, +/turf/open/floor/engine, +/area/engine/engineering) +"coi" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/starboard/aft) +"coj" = ( +/obj/machinery/atmospherics/pipe/manifold/green/visible{ + dir = 1 + }, +/obj/machinery/airalarm/engine{ + dir = 1; + pixel_y = -24 + }, +/turf/open/floor/engine, +/area/engine/supermatter) +"cok" = ( +/turf/closed/wall/r_wall, +/area/space/nearstation) +"col" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"com" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8; + name = "Gas to Filter" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"con" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 1 + }, +/obj/machinery/button/door{ + id = "engsm"; + name = "Radiation Shutters Toggle"; + pixel_y = -24; + req_access_txt = "10" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"coo" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/light, +/turf/open/floor/engine, +/area/engine/engineering) +"cop" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/wood, +/area/maintenance/port) +"coq" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 1 + }, +/obj/machinery/meter, +/turf/open/floor/engine, +/area/engine/engineering) +"cor" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"cos" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cot" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cou" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall/rust, +/area/maintenance/port/aft) +"cov" = ( +/obj/structure/lattice, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/space/basic, +/area/space/nearstation) +"cow" = ( +/obj/structure/lattice, +/obj/structure/grille, +/turf/closed/wall/r_wall, +/area/space/nearstation) +"cox" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"coy" = ( +/obj/structure/flora/rock, +/turf/open/floor/plating/asteroid/airless, +/area/space/nearstation) +"coz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"coA" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"coC" = ( +/obj/structure/sign/warning/deathsposal, +/turf/closed/wall, +/area/maintenance/disposal) +"coD" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"coF" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"coG" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/components/trinary/filter/atmos/n2o{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/atmos) +"coH" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"coI" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"coK" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/aft) +"coL" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"coM" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/machinery/computer/atmos_control/tank/nitrous_tank{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/atmos) +"coN" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"coU" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/effect/landmark/start/warden, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"coV" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/engine/atmos) +"coW" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/manifold/dark/visible{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"coX" = ( +/obj/effect/turf_decal/bot, +/obj/structure/ore_box, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"coY" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Pure to Fuel Pipe" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"coZ" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cpa" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 1 + }, +/obj/machinery/meter, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cpb" = ( +/obj/structure/sign/warning/vacuum/external, +/turf/closed/wall, +/area/maintenance/disposal) +"cpc" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Port Mix to East Ports" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cpd" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cpe" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/button/door{ + id = "atmosventco2"; + name = "Emergency CO2 Vent Toggle"; + pixel_x = 6; + pixel_y = -24 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cpf" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Pure to Ports" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cpg" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cph" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "N2O to Pure" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/atmos) +"cpi" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 10 + }, +/obj/machinery/meter, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cpj" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/window/northleft{ + name = "Inner Pipe Access"; + req_access_txt = "24" + }, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cpk" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cpl" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 10 + }, +/obj/machinery/meter, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cpm" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cpn" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cpo" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/button/door{ + id = "atmosventplasma"; + name = "Emergency Plasma Vent Toggle"; + pixel_x = 6; + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cpp" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cpq" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cpr" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/light, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cps" = ( +/obj/machinery/door/airlock/maintenance{ + req_one_access_txt = "12;47" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/structure/sign/directions/evac{ + dir = 4; + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard) +"cpt" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cpu" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/item/beacon, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"cpv" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/aft) +"cpw" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"cpx" = ( +/obj/structure/lattice, +/obj/structure/disposalpipe/segment, +/turf/open/space/basic, +/area/space/nearstation) +"cpy" = ( +/obj/machinery/atmospherics/components/unary/tank/toxins{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/power/apc{ + areastring = "/area/maintenance/disposal/incinerator"; + dir = 1; + name = "Incinerator APC"; + pixel_y = 25 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"cpz" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/power/emitter, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"cpA" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/turf/open/floor/engine, +/area/engine/engineering) +"cpB" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/shieldgen, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera{ + c_tag = "Secure Storage"; + dir = 4; + name = "engineering camera"; + network = list("ss13","engine") + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"cpC" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cpD" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Mix to Gas" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cpE" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible/layer3, +/obj/machinery/modular_computer/console/preset/engineering{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"cpF" = ( +/obj/structure/flora/rock/pile, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/hallway/secondary/entry) +"cpG" = ( +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/processing) +"cpH" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Pure to Fuel Pipe" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cpI" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"cpJ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/beacon, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cpK" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cpL" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/manifold/purple/visible{ + dir = 8 + }, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cpM" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Mix to Distro" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cpN" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/status_display/ai{ + pixel_x = 32 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cpO" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"cpP" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cpQ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/beacon, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cpR" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Brig"; + req_access_txt = "63" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"cpS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security{ + name = "Detective's Office"; + req_access_txt = "4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/security/detectives_office) +"cpT" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"cpU" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cpV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/light, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cpW" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/sign/warning/fire{ + pixel_x = -32; + pixel_y = -32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cpX" = ( +/obj/structure/girder, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"cpY" = ( +/obj/item/pickaxe, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"cpZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"cqa" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"cqb" = ( +/obj/structure/sign/warning/fire, +/turf/closed/wall, +/area/maintenance/port) +"cqc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics Connector"; + req_one_access_txt = "10;24" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"cqd" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/power/emitter, +/obj/machinery/light/small, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"cqe" = ( +/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{ + charge = 100; + maxcharge = 15000 + }, +/obj/item/stack/sheet/mineral/plasma{ + amount = 30 + }, +/obj/item/gps, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"cqf" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port) +"cqg" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/holopad, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"cqh" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"cqi" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Gas to Filter" + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/engine/supermatter) +"cqj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/aft) +"cqk" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Gas to Chamber" + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/engine/supermatter) +"cql" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Mix Bypass" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cqm" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/manifold/yellow/visible, +/obj/machinery/meter, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cqn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"cqo" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"cqp" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cqq" = ( +/obj/structure/sign/warning/fire, +/turf/closed/wall, +/area/maintenance/port/aft) +"cqr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics Connector"; + req_one_access_txt = "10;24" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"cqs" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall/rust, +/area/maintenance/port) +"cqt" = ( +/obj/structure/sign/warning, +/turf/closed/wall, +/area/maintenance/port/aft) +"cqu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"cqv" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/manifold/yellow/visible, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cqw" = ( +/obj/structure/sign/warning/deathsposal{ + layer = 4 + }, +/turf/closed/wall, +/area/science/xenobiology) +"cqx" = ( +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/bin{ + desc = "A pneumatic waste disposal unit. This one leads into space!"; + name = "deathsposal unit" + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/showroomfloor, +/area/science/xenobiology) +"cqy" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/manifold/yellow/visible, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cqz" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cqA" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"cqB" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cqC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"cqD" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cqE" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"cqF" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cqG" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cqH" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cqI" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall/rust, +/area/maintenance/port/aft) +"cqJ" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cqK" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cqL" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cqM" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"cqN" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/external{ + name = "Ferry Shuttle Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"cqO" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cqP" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/external{ + name = "Ferry Shuttle Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"cqQ" = ( +/obj/machinery/door/window/westright{ + name = "Waste Door" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating, +/area/maintenance/disposal) +"cqR" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1; + name = "Air to Distro" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/sign/warning/fire{ + pixel_x = 32 + }, +/obj/machinery/camera{ + c_tag = "Atmospherics Distribution Loop"; + dir = 8; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cqS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/grille/broken, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"cqT" = ( +/obj/structure/sign/warning/pods, +/turf/closed/wall/rust, +/area/maintenance/port) +"cqU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port) +"cqV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/meter, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/maintenance/port) +"cqW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/camera{ + c_tag = "Supermatter Terminal"; + dir = 4; + name = "engineering camera"; + network = list("ss13","engine") + }, +/obj/machinery/light_switch{ + pixel_x = -22; + pixel_y = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cqX" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cqY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/fore) +"cqZ" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/disposal) +"cra" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port) +"crb" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"crc" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 8 + }, +/obj/machinery/meter, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"crd" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Gas to Mix" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cre" = ( +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics Connector"; + req_one_access_txt = "10;24;5" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"crf" = ( +/obj/machinery/door/airlock/external{ + name = "External Airlock"; + req_access_txt = "13" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal) +"crg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"crh" = ( +/obj/structure/sign/poster/contraband/random, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall/rust, +/area/maintenance/starboard/fore) +"cri" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/obj/machinery/computer/station_alert{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"crj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"crk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"crl" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/chair, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"crm" = ( +/obj/structure/rack, +/obj/structure/grille/broken, +/obj/item/clothing/suit/hazardvest{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/mask/gas, +/obj/effect/turf_decal/bot, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"crn" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/vacuum/external{ + pixel_x = -32 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cro" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/chair, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"crp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"crq" = ( +/obj/structure/sign/warning/nosmoking, +/turf/closed/wall/rust, +/area/maintenance/port) +"crr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"crs" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 8; + name = "atmospherics sorting disposal pipe"; + sortType = 6 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"crt" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Unfiltered & Air to Mix" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cru" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/manifold/green/visible, +/turf/open/floor/plasteel, +/area/engine/atmos) +"crv" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"crw" = ( +/obj/machinery/door/airlock/external{ + name = "Cargo Escape Pod" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard) +"crx" = ( +/obj/docking_port/stationary{ + dir = 8; + dwidth = 1; + height = 4; + roundstart_template = /datum/map_template/shuttle/escape_pod/default; + width = 3 + }, +/obj/structure/fans/tiny/invisible, +/turf/open/space/basic, +/area/space) +"cry" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/rack, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"crz" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/purple/visible, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Air to Mix" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"crA" = ( +/obj/machinery/door/airlock/external{ + name = "Abandoned External Airlock" + }, +/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/plasteel/dark, +/area/maintenance/port) +"crB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/coin/twoheaded{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/structure/sign/poster/contraband/rebels_unite{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"crC" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 1 + }, +/obj/machinery/meter, +/turf/open/floor/plasteel, +/area/engine/atmos) +"crD" = ( +/obj/machinery/door/airlock/external{ + name = "Security Escape Pod" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"crE" = ( +/obj/structure/grille, +/obj/structure/barricade/wooden, +/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/plasteel/dark, +/area/maintenance/port) +"crF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"crG" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"crH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/status_display/evac{ + pixel_x = -32 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"crI" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"crJ" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/engine/engineering) +"crL" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/landmark/start/warden, +/obj/structure/chair/office, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"crM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"crN" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port) +"crO" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/obj/machinery/airalarm{ + pixel_z = 24 + }, +/obj/machinery/light/small, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/engine/engineering) +"crP" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port) +"crQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"crR" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/obj/structure/mirror{ + pixel_y = 28 + }, +/obj/structure/sink{ + pixel_y = 24 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"crS" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/effect/decal/cleanable/cobweb, +/obj/item/poster/random_contraband{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/poster/random_contraband, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"crT" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Atmos to Loop" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/engine, +/area/engine/engineering) +"crU" = ( +/obj/machinery/door/airlock/maintenance{ + req_one_access_txt = "12;47" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard) +"crV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port) +"crW" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/storage/toolbox/emergency, +/obj/item/wirerod, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"crX" = ( +/obj/machinery/atmospherics/pipe/manifold/green/visible{ + dir = 4 + }, +/obj/machinery/meter, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"crY" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/item/folder/red, +/obj/item/pen, +/obj/machinery/door/window/brigdoor/northleft{ + name = "Brig Control Desk"; + req_access_txt = "3" + }, +/obj/item/poster/random_official, +/obj/item/poster/random_official, +/obj/item/poster/random_official, +/turf/open/floor/plating, +/area/security/warden) +"crZ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/supermatter) +"csa" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/supermatter) +"csb" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/supermatter) +"csc" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Surgery Maintenance"; + req_access_txt = "45" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"csd" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cse" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 30 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"csf" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_x = 32; + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm{ + pixel_y = 24 + }, +/turf/open/floor/plating, +/area/engine/atmos) +"csg" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/structure/noticeboard{ + dir = 8; + pixel_x = 32 + }, +/obj/item/clothing/gloves/color/fyellow, +/obj/item/clothing/under/color/grey, +/obj/item/clothing/mask/gas{ + pixel_x = 4; + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"csh" = ( +/obj/machinery/door/airlock/medical{ + name = "Medbay Storage" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"csi" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/engine/atmos) +"csj" = ( +/obj/structure/table, +/obj/item/storage/secure/briefcase, +/obj/item/taperecorder, +/obj/structure/sign/warning/electricshock{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"csk" = ( +/obj/effect/turf_decal/bot, +/obj/structure/frame/computer{ + anchored = 1; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"csl" = ( +/obj/structure/table, +/obj/item/clipboard, +/obj/item/stack/cable_coil, +/obj/item/screwdriver{ + pixel_y = 16 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"csm" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 5 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"csn" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cso" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "greylair"; + name = "Lair Privacy Shutter" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/maintenance/port) +"csp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/vacuum/external{ + pixel_x = -32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"csq" = ( +/obj/machinery/door/window/westleft{ + name = "Waste Door" + }, +/obj/machinery/conveyor_switch/oneway{ + dir = 8; + id = "garbage"; + name = "disposal conveyor" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/disposal) +"csr" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/port) +"css" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cst" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"csu" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/disposal) +"csv" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/thermomachine/heater/on{ + dir = 8 + }, +/obj/structure/sign/warning/xeno_mining{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"csw" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"csx" = ( +/obj/machinery/door/airlock/medical{ + name = "Medbay Storage" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"csy" = ( +/obj/machinery/camera{ + c_tag = "Supermatter Waste Line"; + dir = 8; + name = "engineering camera"; + network = list("ss13","engine") + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/button/door{ + id = "engineaccess"; + name = "Engine Access Lockdown"; + pixel_x = 24; + req_one_access_txt = "10" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"csz" = ( +/obj/machinery/shower{ + dir = 4; + name = "emergency shower" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"csA" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Gravity Generator Foyer"; + dir = 4; + name = "engineering camera"; + network = list("ss13","engine") + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/button/door{ + id = "gravity"; + name = "Gravity Generator Lockdown"; + pixel_x = -24; + req_one_access_txt = "19;23" + }, +/turf/open/floor/engine, +/area/engine/gravity_generator) +"csB" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 28 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/engine, +/area/engine/gravity_generator) +"csC" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"csD" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 8; + name = "ce sorting disposal pipe"; + sortType = 5 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"csE" = ( +/obj/structure/sign/departments/engineering{ + pixel_x = 32; + pixel_y = -32 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"csF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light, +/obj/machinery/camera{ + c_tag = "Aft Hallway Engineering Doors"; + dir = 1; + name = "aft camera" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"csG" = ( +/obj/machinery/atmospherics/components/unary/tank/air, +/obj/effect/turf_decal/bot, +/obj/structure/sign/warning/nosmoking{ + pixel_y = 30 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/sign/warning/fire{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"csH" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/turf/open/floor/engine, +/area/engine/gravity_generator) +"csI" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/engine, +/area/engine/gravity_generator) +"csK" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 1 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/engine/atmos) +"csL" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/closet/emcloset/anchored, +/obj/machinery/light/small, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"csM" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"csN" = ( +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/port/aft) +"csO" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/medical/virology) +"csP" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"csQ" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/item/tank/internals/air, +/obj/item/clothing/mask/breath, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"csR" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"csS" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/fernybush, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/port/aft) +"csT" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port) +"csU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port) +"csV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"csW" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"csX" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8; + name = "Gas to Cold Loop" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/engine, +/area/engine/engineering) +"csY" = ( +/obj/machinery/atmospherics/pipe/manifold/green/visible{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"csZ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/camera{ + c_tag = "Supermatter Engine"; + dir = 1; + name = "supermatter camera"; + network = list("engine") + }, +/turf/open/floor/engine, +/area/engine/supermatter) +"cta" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"ctb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/pods{ + pixel_y = 32 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"ctc" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ctd" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/gravity_generator) +"cte" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"ctf" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/gravity_generator) +"ctg" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"cth" = ( +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/maintenance/port"; + dir = 4; + name = "Port Maintenance APC"; + pixel_x = 26 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"cti" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/barricade/wooden/crude, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"ctj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"ctk" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/turf/open/floor/engine, +/area/engine/gravity_generator) +"ctl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating, +/area/maintenance/port) +"ctm" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/box, +/obj/machinery/power/solar{ + id = "foreport"; + name = "Fore-Port Solar Array" + }, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solar/port/fore) +"ctn" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/engine, +/area/engine/gravity_generator) +"cto" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/binary/pump{ + name = "Fuel Pipe to Incinerator" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8; + icon_state = "intact" + }, +/turf/open/floor/plasteel, +/area/maintenance/disposal/incinerator) +"ctp" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/obj/structure/grille/broken, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"ctq" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Cooling Loop Bypass" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"ctr" = ( +/obj/machinery/door/poddoor{ + id = "atmosventn2o"; + name = "Emergency N2O Chamber Vent" + }, +/turf/open/floor/engine/vacuum, +/area/engine/atmos) +"cts" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"ctt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port) +"ctv" = ( +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"ctw" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/box, +/obj/machinery/power/solar{ + id = "foreport"; + name = "Fore-Port Solar Array" + }, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solar/port/fore) +"ctx" = ( +/obj/machinery/shower{ + dir = 4; + name = "emergency shower" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/aft) +"cty" = ( +/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/machinery/light/small{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/disposal) +"ctz" = ( +/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/machinery/gateway{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/gateway) +"ctA" = ( +/turf/closed/wall/rust, +/area/maintenance/solars/port/fore) +"ctB" = ( +/turf/closed/wall, +/area/maintenance/solars/port/fore) +"ctC" = ( +/turf/closed/wall/r_wall, +/area/maintenance/solars/port/fore) +"ctD" = ( +/turf/closed/wall/r_wall/rust, +/area/maintenance/solars/port/fore) +"ctE" = ( +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/solar/port/fore) +"ctF" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"ctG" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/starboard/aft) +"ctH" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/solars/port/fore) +"ctI" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard) +"ctJ" = ( +/obj/structure/sign/departments/xenobio, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall, +/area/maintenance/starboard/fore) +"ctK" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/gateway{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera{ + c_tag = "Gateway"; + name = "command camera" + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/gateway) +"ctL" = ( +/obj/machinery/power/tracker, +/obj/effect/turf_decal/box, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/airless/solarpanel, +/area/space/nearstation) +"ctM" = ( +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/engine, +/area/engine/gravity_generator) +"ctN" = ( +/obj/structure/cable, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/starboard/aft) +"ctO" = ( +/obj/machinery/door/airlock/external{ + name = "External Airlock"; + req_access_txt = "13" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal) +"ctP" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/starboard/aft) +"ctQ" = ( +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/starboard/aft) +"ctR" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/starboard/aft) +"ctS" = ( +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance"; + req_access_txt = "10; 13" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/solars/port/fore) +"ctU" = ( +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/gravity_generator) +"ctV" = ( +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance"; + req_access_txt = "10; 13" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/solars/port/fore) +"ctW" = ( +/obj/machinery/camera{ + c_tag = "Gravity Generator"; + dir = 1; + name = "engineering camera"; + network = list("ss13","engine") + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/gravity_generator) +"ctX" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/gravity_generator) +"ctY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/engine, +/area/engine/gravity_generator) +"ctZ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cua" = ( +/obj/machinery/door/airlock/engineering{ + name = "Port Bow Solar Access"; + req_access_txt = "10" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/solars/port/fore) +"cub" = ( +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/starboard/aft) +"cuc" = ( +/turf/open/floor/plating/airless, +/area/solar/starboard/aft) +"cud" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 8; + name = "engineering sorting disposal pipe"; + sortType = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cue" = ( +/obj/machinery/door/airlock/external{ + name = "External Airlock"; + req_access_txt = "13" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard) +"cuf" = ( +/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/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/maintenance/disposal/incinerator) +"cug" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/maintenance/disposal/incinerator) +"cuh" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port) +"cui" = ( +/mob/living/simple_animal/hostile/asteroid/goliath, +/turf/open/floor/plating/asteroid/airless, +/area/space/nearstation) +"cuk" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/general/visible, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/maintenance/disposal/incinerator) +"cul" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/maintenance/disposal/incinerator) +"cum" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"cun" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall/rust, +/area/maintenance/solars/port/fore) +"cuo" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/starboard/aft) +"cup" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/maintenance/disposal/incinerator) +"cuq" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"cur" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cus" = ( +/obj/machinery/light/small, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"cut" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cuu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port) +"cuv" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cuw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"cux" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"cuy" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/radio/intercom{ + pixel_y = 24 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cuz" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cuA" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cuB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"cuC" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cuD" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cuE" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/maintenance/disposal/incinerator) +"cuF" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/maintenance/disposal/incinerator) +"cuG" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/preopen{ + id = "xeno_blastdoor"; + name = "Xenobiology Containment Blast Door" + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cuH" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/disposal/bin{ + desc = "A pneumatic waste disposal unit. This one leads into space!"; + name = "deathsposal unit" + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"cuI" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cuJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"cuK" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 4; + name = "Cold Loop to Gas" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/engine, +/area/engine/engineering) +"cuL" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/warning/securearea{ + pixel_y = -32 + }, +/turf/open/floor/plating, +/area/maintenance/disposal) +"cuM" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible, +/obj/machinery/meter, +/turf/open/floor/engine, +/area/engine/engineering) +"cuO" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cuP" = ( +/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ + dir = 8; + filter_type = "n2" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cuQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"cuR" = ( +/obj/structure/sign/warning/xeno_mining, +/turf/closed/wall/rust, +/area/maintenance/port) +"cuS" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"cuT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"cuU" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/machinery/light, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cuV" = ( +/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cuW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cuX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port) +"cuY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cuZ" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"cva" = ( +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cvb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/structure/noticeboard{ + dir = 8; + pixel_x = 32 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/clothing/gloves/color/fyellow, +/obj/item/storage/toolbox/electrical, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"cvc" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/aft) +"cvd" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"cve" = ( +/obj/structure/sign/poster/contraband/red_rum, +/turf/closed/wall/rust, +/area/maintenance/port) +"cvf" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/maintenance/disposal/incinerator) +"cvg" = ( +/obj/structure/chair/office/light, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/maintenance/disposal/incinerator) +"cvh" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/maintenance/disposal/incinerator) +"cvi" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 5 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"cvj" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/frame/computer{ + anchored = 1; + dir = 4 + }, +/obj/effect/turf_decal/bot_white, +/obj/machinery/newscaster{ + pixel_x = -30 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"cvk" = ( +/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/general/visible, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light/small, +/turf/open/floor/plasteel, +/area/maintenance/disposal/incinerator) +"cvl" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/barricade/wooden/crude, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"cvm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/maintenance/disposal/incinerator) +"cvn" = ( +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cvo" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"cvp" = ( +/obj/machinery/computer/slot_machine, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot_white, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"cvq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"cvr" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/engine/engineering) +"cvs" = ( +/obj/item/clothing/glasses/sunglasses, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/remains/human, +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/maintenance/port) +"cvt" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/engine/engineering) +"cvu" = ( +/obj/structure/reflector/double/anchored{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"cvv" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/chair/stool/bar, +/mob/living/simple_animal/hostile/russian, +/turf/open/floor/wood, +/area/maintenance/port) +"cvw" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/engine/engineering) +"cvx" = ( +/obj/machinery/computer/slot_machine, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot_white, +/obj/structure/sign/poster/contraband/smoke{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"cvy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/closet/cabinet, +/obj/item/stack/sheet/glass{ + amount = 10 + }, +/obj/item/stack/rods/ten, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"cvz" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table/wood, +/obj/item/book/manual/wiki/detective{ + pixel_y = 4 + }, +/obj/item/camera, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"cvA" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/filingcabinet, +/obj/effect/turf_decal/bot_white, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"cvB" = ( +/obj/structure/sign/departments/security, +/turf/closed/wall/rust, +/area/maintenance/port) +"cvC" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/engine/engineering) +"cvD" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/engine_waste{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"cvE" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/aft) +"cvF" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/briefcase, +/obj/item/taperecorder, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"cvG" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/item/tank/internals/oxygen, +/obj/item/pickaxe, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cvH" = ( +/obj/machinery/power/smes, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/bot, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"cvI" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera{ + c_tag = "Starboard Quarter Solar"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"cvJ" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/stack/cable_coil, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/xeno_mining{ + pixel_x = 32 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/solars/starboard/aft) +"cvK" = ( +/obj/structure/table, +/obj/item/storage/box/lights/mixed{ + pixel_y = 5 + }, +/obj/item/stack/packageWrap, +/obj/item/hand_labeler, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/gateway) +"cvL" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"cvM" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/greenglow, +/obj/machinery/gateway{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/gateway) +"cvN" = ( +/obj/machinery/gateway/centerstation, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/gateway) +"cvO" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/greenglow, +/obj/machinery/gateway{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/gateway) +"cvP" = ( +/obj/machinery/door/poddoor{ + id = "trash"; + name = "disposal bay door" + }, +/obj/structure/fans/tiny, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal) +"cvQ" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/cardboard, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/noticeboard{ + dir = 8; + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/gateway) +"cvR" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"cvS" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/solars/starboard/aft) +"cvT" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/greenglow, +/obj/machinery/gateway, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable, +/turf/open/floor/plasteel/dark, +/area/gateway) +"cvU" = ( +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/gateway{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/gateway) +"cvV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/light/small, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"cvW" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall, +/area/gateway) +"cvX" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/dresser, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"cvY" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/structure/table/wood, +/obj/effect/decal/cleanable/cobweb, +/obj/item/clothing/under/geisha{ + pixel_y = 5 + }, +/obj/item/toy/katana, +/obj/item/clothing/shoes/sandal, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"cvZ" = ( +/obj/machinery/light/small, +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/structure/noticeboard{ + dir = 8; + pixel_x = 32 + }, +/obj/item/wallframe/apc, +/obj/item/stack/cable_coil, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"cwa" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/disposal) +"cwb" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/starboard/aft) +"cwc" = ( +/obj/machinery/atmospherics/components/binary/pump/on, +/obj/machinery/airlock_sensor/incinerator_atmos{ + pixel_x = 8; + pixel_y = 24 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/sign/warning/fire{ + pixel_x = -32 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/engine, +/area/maintenance/disposal/incinerator) +"cwd" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/sign/warning/fire{ + pixel_x = 32 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/engine, +/area/maintenance/disposal/incinerator) +"cwe" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/aft) +"cwf" = ( +/obj/structure/sign/poster/contraband/missing_gloves, +/turf/closed/wall/rust, +/area/maintenance/port/fore) +"cwg" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/barricade/wooden/crude, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"cwh" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/barricade/wooden/crude, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"cwi" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cwk" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/airless, +/area/space/nearstation) +"cwl" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"cwm" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cwn" = ( +/obj/structure/sign/poster/official/twelve_gauge, +/turf/closed/wall, +/area/gateway) +"cwo" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"cwp" = ( +/turf/closed/wall, +/area/maintenance/port/fore) +"cwq" = ( +/turf/closed/wall/rust, +/area/maintenance/port/fore) +"cwr" = ( +/obj/machinery/door/poddoor/shutters{ + id = "gatewayshutters"; + name = "Gateway Chamber Shutters" + }, +/obj/machinery/button/door{ + id = "gatewayshutters"; + name = "Gateway Shutters"; + pixel_x = -26; + req_access_txt = "19" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/gateway) +"cws" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/solars/starboard/aft"; + name = "Starboard Quarter Solar APC"; + pixel_y = -26 + }, +/obj/structure/cable, +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/solars/starboard/aft) +"cwt" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/fore) +"cwu" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/landmark/xeno_spawn, +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/solars/starboard/aft) +"cwv" = ( +/obj/machinery/power/solar_control{ + dir = 8; + id = "aftstarboard"; + name = "Starboard Quarter Solar Control" + }, +/obj/effect/turf_decal/bot, +/obj/structure/cable, +/obj/structure/sign/warning/vacuum{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/solars/starboard/aft) +"cwx" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/security/main) +"cwy" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall, +/area/maintenance/port/fore) +"cwz" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 1 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/maintenance/disposal/incinerator) +"cwA" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/incinerator_input{ + dir = 1 + }, +/turf/open/floor/engine/vacuum, +/area/maintenance/disposal/incinerator) +"cwB" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/mob/living/simple_animal/hostile/russian, +/turf/open/floor/wood{ + icon_state = "wood-broken5" + }, +/area/maintenance/port) +"cwC" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/structure/sign/warning/securearea{ + desc = "A warning sign which reads 'BOMB RANGE"; + name = "BOMB RANGE"; + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"cwD" = ( +/obj/machinery/door/airlock/external{ + name = "External Airlock"; + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard) +"cwE" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel, +/area/bridge) +"cwF" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/blood/gibs/limb, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/maintenance/port/fore) +"cwG" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"cwH" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/engine/vacuum, +/area/maintenance/disposal/incinerator) +"cwI" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/disposaloutlet, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/sign/warning/vacuum{ + pixel_x = -32 + }, +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal) +"cwJ" = ( +/obj/structure/mineral_door/wood{ + name = "The Gobbetting Barmaid" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/maintenance/port/fore) +"cwK" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/main) +"cwL" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/security/main) +"cwM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"cwN" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/power/apc{ + areastring = "/area/maintenance/disposal"; + dir = 1; + name = "Disposals APC"; + pixel_y = 26 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/disposal) +"cwO" = ( +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"cwP" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating, +/area/maintenance/disposal) +"cwQ" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/barricade/wooden/crude, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"cwR" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/closet, +/obj/item/stack/packageWrap, +/obj/item/storage/bag/trash, +/turf/open/floor/plating, +/area/maintenance/disposal) +"cwS" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/closet/emcloset/anchored, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal) +"cwT" = ( +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/maintenance/port/fore) +"cwU" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cwV" = ( +/obj/structure/chair/stool/bar, +/turf/open/floor/wood, +/area/maintenance/port) +"cwW" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/frame/computer{ + anchored = 1; + dir = 4 + }, +/obj/effect/turf_decal/bot_white, +/obj/structure/noticeboard{ + dir = 4; + pixel_x = -27 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"cwX" = ( +/obj/machinery/conveyor{ + id = "garbage" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal) +"cwY" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/structure/mirror{ + pixel_y = 26 + }, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/glasses/eyepatch{ + pixel_y = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"cwZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/disposal) +"cxa" = ( +/obj/effect/decal/remains/human, +/obj/effect/decal/cleanable/blood/old, +/obj/item/clothing/head/that{ + pixel_x = 1; + pixel_y = 6 + }, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"cxb" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/blood/gibs/limb, +/turf/open/floor/wood{ + icon_state = "wood-broken" + }, +/area/maintenance/port/fore) +"cxc" = ( +/turf/open/floor/wood, +/area/maintenance/port/fore) +"cxd" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/vending/autodrobe/all_access, +/obj/structure/noticeboard{ + dir = 4; + pixel_x = -27 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"cxe" = ( +/obj/structure/chair/stool/bar, +/turf/open/floor/wood{ + icon_state = "wood-broken5" + }, +/area/maintenance/port/fore) +"cxf" = ( +/obj/structure/barricade/wooden, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"cxg" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating, +/area/maintenance/disposal) +"cxh" = ( +/obj/machinery/conveyor{ + id = "garbage" + }, +/obj/structure/sign/poster/contraband/random{ + pixel_x = -32 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal) +"cxi" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/disposal) +"cxj" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/disposal) +"cxk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"cxl" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 9 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"cxm" = ( +/obj/machinery/mass_driver{ + id = "trash" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal) +"cxn" = ( +/obj/effect/decal/cleanable/blood/gibs/old, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/maintenance/port/fore) +"cxo" = ( +/obj/structure/closet/cardboard, +/turf/open/floor/wood{ + icon_state = "wood-broken4" + }, +/area/maintenance/port/fore) +"cxp" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"cxq" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"cxr" = ( +/obj/structure/sign/poster/contraband/clown, +/turf/closed/wall/rust, +/area/maintenance/port/fore) +"cxs" = ( +/obj/machinery/door/airlock/external{ + name = "Labor Camp Shuttle Airlock"; + req_access_txt = "2"; + shuttledocked = 1 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"cxt" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall/rust, +/area/maintenance/port/fore) +"cxu" = ( +/obj/structure/grille, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"cxv" = ( +/obj/machinery/cryopod{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/locker) +"cxw" = ( +/obj/machinery/computer/cryopod{ + dir = 1; + pixel_y = -26 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/locker) +"cxy" = ( +/obj/structure/girder, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"cxz" = ( +/obj/machinery/door/airlock/external{ + name = "Labor Camp Shuttle Airlock"; + shuttledocked = 1 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"cxB" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/aft) +"cxD" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"cxE" = ( +/obj/machinery/camera/motion{ + c_tag = "Armoury External" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/space/nearstation) +"cxH" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/warning/electricshock{ + pixel_y = 32 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"cxI" = ( +/obj/structure/sign/warning/vacuum/external, +/turf/closed/wall/rust, +/area/maintenance/port/fore) +"cxK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"cxL" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet{ + name = "engineering locker" + }, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/under/rank/engineer, +/obj/item/clothing/shoes/workboots, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/aft) +"cxN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"cxP" = ( +/obj/machinery/door/airlock/maintenance{ + req_one_access_txt = "12;47" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"cxQ" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Toxins Lab Maintenance"; + req_access_txt = "8" + }, +/obj/structure/sign/directions/evac{ + dir = 4; + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard) +"cxS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"cxT" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall, +/area/engine/atmos) +"cxU" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/aft) +"cxV" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/seed_extractor, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"cxY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/fore) +"cyb" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "Engineering"; + name = "Engineering Blast Doors" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/engine/break_room) +"cyc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/aft) +"cyd" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"cye" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc{ + areastring = "/area/maintenance/port/fore"; + dir = 1; + name = "Port Bow Maintenance APC"; + pixel_y = 26 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"cyf" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/chief) +"cyg" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/chief) +"cyh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/security/brig) +"cyj" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/chief) +"cyl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/girder/displaced, +/obj/structure/grille/broken, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/fore) +"cym" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/public/glass{ + name = "Engineering Foyer" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"cyn" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Engineering Foyer" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"cyp" = ( +/obj/machinery/computer/station_alert, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"cys" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 4 + }, +/obj/item/storage/belt/utility, +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/obj/machinery/camera{ + c_tag = "Engineering Desk"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"cyu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"cyv" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/plating, +/area/maintenance/port) +"cyx" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"cyy" = ( +/obj/structure/sign/warning/nosmoking, +/turf/closed/wall, +/area/maintenance/port/aft) +"cyz" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/item/crowbar/red, +/obj/item/restraints/handcuffs, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/revolver{ + pixel_y = 32 + }, +/obj/structure/grille/broken, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cyA" = ( +/obj/machinery/door/poddoor{ + id = "chapelgun"; + name = "Chapel Launcher Door" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"cyB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small, +/obj/structure/grille/broken, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/aft) +"cyC" = ( +/obj/machinery/computer/slot_machine, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot_white, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"cyD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/meter, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cyE" = ( +/obj/machinery/computer/slot_machine, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot_white, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"cyF" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/table/wood, +/obj/item/storage/box/evidence{ + pixel_y = 4 + }, +/obj/item/taperecorder{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/grenade/flashbang, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"cyG" = ( +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"cyI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sink/kitchen{ + desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; + name = "old sink"; + pixel_y = 28 + }, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"cyK" = ( +/obj/structure/table/reinforced, +/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, +/obj/item/storage/secure/briefcase{ + pixel_y = 6 + }, +/obj/item/radio{ + pixel_y = 6 + }, +/turf/open/floor/plasteel, +/area/security/main) +"cyL" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/directional{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"cyM" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/directional{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"cyO" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/directional{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"cyP" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/directional{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"cyV" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/directional{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"cyW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/grille/broken, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"cyX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/vending/assist, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/sign/poster/contraband/punch_shit{ + pixel_x = 30 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"cyY" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"cyZ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/gibs/old, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"cza" = ( +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/sign/poster/official/space_cops{ + pixel_x = 32; + pixel_y = -32 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/security/main) +"czc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"czd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/aft) +"cze" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/engine/engineering) +"czf" = ( +/obj/machinery/power/emitter/anchored{ + dir = 4; + state = 2 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"czg" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/maintenance/port/fore) +"czl" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"czn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"czo" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/directional, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"czp" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/directional{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"czq" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/remains/human, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"czr" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/directional{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"czs" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/directional{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"czt" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/grille/broken, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"czu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/item/book/manual/wiki/engineering_hacking{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/stack/cable_coil, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"czv" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/aft) +"czw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/grille/broken, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"czz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/bodybag{ + pixel_y = 5 + }, +/obj/item/shovel, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"czB" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical, +/obj/item/extinguisher/mini, +/obj/item/tank/internals/oxygen/yellow, +/obj/item/clothing/mask/gas, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/chief) +"czC" = ( +/obj/item/trash/candy, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"czD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"czG" = ( +/obj/structure/closet/crate/coffin, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"czK" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/barricade/wooden/crude, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"czL" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/barricade/wooden/crude, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"czP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/maintenance/fore) +"czR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"czS" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security{ + id_tag = "innerbrig"; + name = "Brig"; + req_access_txt = "63" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"czU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/aft) +"czV" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security{ + id_tag = "outerbrig"; + name = "Brig"; + req_access_txt = "63" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"czW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/grille/broken, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"czY" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/smes/engineering, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8; + icon_state = "intact" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"czZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cAd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"cAf" = ( +/obj/structure/sign/departments/holy, +/turf/closed/wall, +/area/medical/morgue) +"cAg" = ( +/obj/structure/sign/poster/contraband/missing_gloves, +/turf/closed/wall/rust, +/area/maintenance/port) +"cAi" = ( +/obj/structure/closet/crate/coffin, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"cAj" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/wood, +/area/chapel/office) +"cAk" = ( +/obj/structure/closet/crate/coffin, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/noticeboard{ + dir = 8; + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/office) +"cAo" = ( +/obj/effect/turf_decal/bot, +/obj/structure/frame/computer{ + anchored = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cAp" = ( +/obj/structure/sign/departments/holy, +/turf/closed/wall/rust, +/area/chapel/office) +"cAq" = ( +/obj/effect/turf_decal/bot, +/obj/structure/frame/computer{ + anchored = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cAr" = ( +/obj/structure/table, +/obj/machinery/recharger, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/the_griffin{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cAs" = ( +/obj/structure/table, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/stack/medical/gauze, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cAu" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/airlock/security/glass{ + id_tag = "Abandoned Cell"; + name = "Abandoned Cell" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cAy" = ( +/obj/structure/table, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/suit/armor/vest, +/obj/item/clothing/neck/stethoscope, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cAB" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/item/clothing/suit/jacket{ + desc = "All the class of a trenchcoat without the security fibers."; + icon_state = "greydet"; + name = "trenchcoat" + }, +/obj/item/clothing/suit/jacket{ + desc = "All the class of a trenchcoat without the security fibers."; + icon_state = "detective"; + name = "trenchcoat" + }, +/obj/item/clothing/head/fedora, +/obj/item/clothing/head/fedora{ + icon_state = "detective" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"cAC" = ( +/obj/effect/turf_decal/bot, +/obj/structure/punching_bag, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/noticeboard{ + dir = 8; + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cAD" = ( +/obj/machinery/door/airlock/maintenance{ + name = "chapel maintenance"; + req_one_access_txt = "22" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cAF" = ( +/obj/structure/girder, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"cAG" = ( +/obj/structure/grille, +/obj/structure/barricade/wooden, +/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/plasteel/dark, +/area/maintenance/fore) +"cAH" = ( +/obj/structure/sign/departments/security, +/turf/closed/wall, +/area/maintenance/fore) +"cAI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/maintenance/external{ + name = "mass driver intersection"; + req_access_txt = "12" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cAN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"cAO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/fore) +"cAP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"cAU" = ( +/obj/structure/sign/warning/vacuum/external, +/turf/closed/wall, +/area/maintenance/fore) +"cAX" = ( +/obj/machinery/door/poddoor/preopen{ + id = "Biohazard"; + name = "Emergency Research Blast Door" + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/science/research) +"cAY" = ( +/obj/docking_port/stationary{ + dheight = 1; + dir = 8; + dwidth = 12; + height = 17; + id = "syndicate_nw"; + name = "northwest of station"; + width = 23 + }, +/turf/open/space/basic, +/area/space) +"cBb" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/aft) +"cBc" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall, +/area/maintenance/fore) +"cBe" = ( +/obj/machinery/door/airlock/maintenance{ + name = "chapel maintenance"; + req_one_access_txt = "22" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cBf" = ( +/obj/structure/grille, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/fore) +"cBg" = ( +/obj/structure/closet/crate, +/obj/item/clothing/suit/hooded/chaplain_hoodie, +/obj/item/reagent_containers/food/drinks/bottle/holywater, +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/fore) +"cBh" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + name = "Apiary"; + req_access_txt = "22" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"cBi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"cBl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"cBm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/grille, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/aft) +"cBn" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/computer/security/telescreen/prison{ + dir = 4; + pixel_x = -24 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/computer/security{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/warden) +"cBo" = ( +/obj/structure/closet/secure_closet/security/sec, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 8 + }, +/obj/item/gun/energy/e_gun/advtaser, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"cBp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/maintenance/aft) +"cBq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall, +/area/engine/atmos) +"cBr" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/crate{ + icon_state = "crateopen" + }, +/obj/structure/grille/broken, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/aft) +"cBs" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cBu" = ( +/obj/structure/table/reinforced, +/obj/item/clipboard, +/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, +/obj/item/clothing/mask/gas/sechailer/swat, +/obj/item/screwdriver, +/turf/open/floor/plasteel, +/area/security/main) +"cBv" = ( +/obj/structure/flora/grass/jungle, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/port/aft) +"cBw" = ( +/obj/structure/flora/rock/pile, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/port/aft) +"cBx" = ( +/obj/structure/flora/ausbushes/palebush, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/port/aft) +"cBy" = ( +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/palebush, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/port/aft) +"cBz" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/structure/grille, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"cBA" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/atmos) +"cBB" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/structure/grille, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"cBC" = ( +/obj/machinery/atmospherics/pipe/simple/purple/visible, +/obj/structure/grille, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"cBF" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light/small, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"cBH" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/closed/wall, +/area/engine/atmos) +"cBI" = ( +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/port/aft) +"cBJ" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/starboard/aft) +"cBQ" = ( +/obj/machinery/door/airlock/external{ + name = "External Airlock"; + req_access_txt = "13" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/central) +"cBR" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/departments/security{ + pixel_y = -32 + }, +/obj/structure/flora/ausbushes/palebush, +/obj/machinery/light, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/port/aft) +"cBT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/warning/electricshock{ + pixel_y = -32 + }, +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/fernybush, +/obj/machinery/light/small, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/port/aft) +"cBU" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cBV" = ( +/obj/machinery/door/airlock/external{ + name = "External Airlock"; + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/central) +"cBW" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "Cabin_3Privacy"; + name = "Cabin 3 Privacy Shutter" + }, +/turf/open/floor/plating, +/area/crew_quarters/locker) +"cBX" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "Unit_3Privacy"; + name = "Unit 3 Privacy Shutter" + }, +/turf/open/floor/plating, +/area/crew_quarters/toilet/restrooms) +"cBY" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "Unit_2Privacy"; + name = "Unit 2 Privacy Shutter" + }, +/turf/open/floor/plating, +/area/crew_quarters/toilet/restrooms) +"cBZ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "Unit_1Privacy"; + name = "Unit 1 Privacy Shutter" + }, +/turf/open/floor/plating, +/area/crew_quarters/toilet/restrooms) +"cCa" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/departments/security{ + pixel_y = -32 + }, +/obj/structure/flora/grass/jungle/b, +/obj/machinery/light, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/port/aft) +"cCb" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/warning/electricshock{ + pixel_y = -32 + }, +/obj/structure/flora/ausbushes/palebush, +/obj/machinery/light/small, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/port/aft) +"cCe" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cCg" = ( +/obj/structure/transit_tube/curved/flipped{ + dir = 1 + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"cCh" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cCi" = ( +/obj/structure/window/reinforced, +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"cCj" = ( +/obj/structure/window/reinforced, +/obj/structure/flora/grass/jungle, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"cCk" = ( +/obj/structure/window/reinforced, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"cCl" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/starboard/aft) +"cCo" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cCp" = ( +/obj/structure/sign/poster/official/random, +/turf/closed/wall/rust, +/area/security/prison) +"cCq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/engine/engineering) +"cCr" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/closet/secure_closet/personal, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cCt" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/fore) +"cCy" = ( +/obj/machinery/door/airlock/maintenance{ + name = "chapel maintenance"; + req_one_access_txt = "22" + }, +/turf/open/floor/plasteel/dark, +/area/chapel/main) +"cCz" = ( +/obj/structure/closet{ + name = "maid locker" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/item/clothing/gloves/color/white, +/obj/item/clothing/under/maid{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/under/janimaid, +/obj/item/clothing/accessory/maidapron{ + pixel_x = -4; + pixel_y = -4 + }, +/obj/item/clothing/shoes/laceup, +/obj/structure/mirror{ + pixel_y = 28 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cCA" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/fore) +"cCB" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/fernybush, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/fore) +"cCC" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/item/clipboard, +/obj/item/reagent_containers/food/snacks/grown/wheat, +/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/machinery/door/window/eastright{ + dir = 8; + name = "Hydroponics Desk"; + req_access_txt = "35" + }, +/turf/open/floor/plating, +/area/hydroponics) +"cCE" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/box/mousetraps{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/flashlight, +/obj/structure/noticeboard{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cCF" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/delivery, +/obj/item/reagent_containers/glass/bucket, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cCH" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/door/window/southleft{ + dir = 1; + name = "Security Desk"; + req_one_access_txt = "63" + }, +/obj/item/storage/fancy/donut_box, +/turf/open/floor/plating, +/area/hallway/secondary/exit/departure_lounge) +"cCI" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/barricade/wooden/crude, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cCM" = ( +/obj/structure/janitorialcart, +/obj/effect/turf_decal/delivery, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/lusty_xenomorph{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cCN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"cCP" = ( +/obj/structure/bookcase/random/reference, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"cCR" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/grille/broken, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cCS" = ( +/obj/machinery/door/poddoor/shutters{ + id = "maidbay"; + name = "Maid Bay" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/button/door{ + id = "maidbay"; + name = "Maid Bay Toggle"; + pixel_x = -24 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cCT" = ( +/obj/machinery/door/poddoor/shutters{ + id = "maidbay"; + name = "Maid Bay" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cCU" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"cCX" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/space, +/area/engine/atmos) +"cCY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32; + pixel_y = -32 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"cDb" = ( +/obj/structure/sign/warning/nosmoking, +/turf/closed/wall, +/area/maintenance/fore) +"cDc" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/fore"; + dir = 1; + name = "Fore Maintenance APC"; + pixel_y = 23 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/fore) +"cDd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"cDe" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"cDh" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/fore) +"cDj" = ( +/obj/structure/lattice/catwalk, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating/airless, +/area/solar/port/fore) +"cDk" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/fore) +"cDm" = ( +/obj/structure/lattice/catwalk, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating/airless, +/area/solar/starboard/fore) +"cDn" = ( +/obj/structure/lattice/catwalk, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating/airless, +/area/solar/port/aft) +"cDo" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cDp" = ( +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/hallway/secondary/entry) +"cDq" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cDr" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-02"; + pixel_y = 3 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/security/main) +"cDs" = ( +/obj/structure/lattice/catwalk, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating/airless, +/area/solar/starboard/aft) +"cDt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/fore) +"cDv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"cDx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating, +/area/maintenance/fore) +"cDy" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"cDz" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/obj/machinery/button/door{ + id = "medbay_front_door"; + name = "Medbay Doors Toggle"; + pixel_x = 24; + pixel_y = 24 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/medbay/central) +"cDA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"cDB" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/security/main) +"cDD" = ( +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/security/main) +"cDE" = ( +/obj/structure/girder, +/obj/effect/decal/cleanable/dirt, +/obj/structure/grille/broken, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"cDF" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cDG" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"cDH" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/airlock/security{ + name = "Armoury"; + req_access_txt = "3" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"cDI" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"cDJ" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"cDK" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"cDM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/vacuum{ + pixel_x = 32 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/fore) +"cDO" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall, +/area/maintenance/fore) +"cDP" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall/rust, +/area/maintenance/fore) +"cDR" = ( +/obj/structure/bookcase/random/reference, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"cDS" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Armoury"; + req_access_txt = "58" + }, +/obj/machinery/door/poddoor/shutters{ + id = "frontarmory"; + name = "Front Armoury Shutter" + }, +/obj/machinery/button/door{ + id = "frontarmory"; + name = "Armoury Shutter Toggle"; + pixel_y = 24; + req_access_txt = "3" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"cDT" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-05" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"cDU" = ( +/obj/structure/sign/warning/fire, +/obj/structure/grille, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"cDW" = ( +/obj/structure/chair/sofa/right{ + color = "#c45c57" + }, +/turf/open/floor/wood{ + icon_state = "wood-broken" + }, +/area/maintenance/starboard/fore) +"cDX" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/chair/sofa{ + color = "#c45c57" + }, +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/turf/open/floor/wood, +/area/maintenance/starboard/fore) +"cDY" = ( +/obj/structure/chair/sofa/corner{ + color = "#c45c57" + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/wood{ + icon_state = "wood-broken5" + }, +/area/maintenance/starboard/fore) +"cDZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/fore) +"cEa" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/photocopier, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot_white, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/sign/poster/contraband/random{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"cEb" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"cEe" = ( +/obj/structure/table/wood, +/obj/item/folder{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/storage/pill_bottle/dice{ + pixel_x = -4 + }, +/obj/item/pen/red{ + pixel_x = 4; + pixel_y = 4 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/maintenance/starboard/fore) +"cEg" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall, +/area/maintenance/starboard/fore) +"cEh" = ( +/obj/machinery/light/small, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"cEi" = ( +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/fore) +"cEj" = ( +/obj/structure/bookcase/random/nonfiction, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"cEk" = ( +/obj/structure/bookcase/random/nonfiction, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"cEl" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/remains/human, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"cEm" = ( +/obj/machinery/atmospherics/components/trinary/filter/flipped, +/obj/machinery/button/ignition{ + id = "Incinerator"; + pixel_x = -6; + pixel_y = -24 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"cEn" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/item/clothing/gloves/color/fyellow, +/obj/item/storage/toolbox/electrical, +/turf/open/floor/plating, +/area/maintenance/aft) +"cEp" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/barricade/wooden/crude, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"cEq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/fore) +"cEr" = ( +/obj/structure/table/wood, +/obj/machinery/computer/libraryconsole/bookmanagement{ + pixel_y = 5 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/noticeboard{ + dir = 4; + pixel_x = -27 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"cEs" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"cEu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/wood, +/area/maintenance/starboard/fore) +"cEv" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/dresser, +/turf/open/floor/wood, +/area/maintenance/starboard/fore) +"cEw" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/aft) +"cEx" = ( +/obj/structure/bookcase/random/fiction, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"cEz" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/storage/belt/utility, +/obj/item/clothing/head/welding, +/obj/item/clothing/glasses/welding, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = 30 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"cEA" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/computer/med_data/laptop, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cEB" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/bed/roller, +/obj/machinery/iv_drip, +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cEC" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"cED" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/structure/mirror{ + pixel_x = -26; + pixel_y = 28 + }, +/obj/item/shard, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"cEE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"cEF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/status_display/evac{ + pixel_x = 32; + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"cEG" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"cEH" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/noticeboard{ + dir = 4; + pixel_x = -27 + }, +/obj/item/clothing/gloves/color/latex, +/obj/item/hemostat, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cEL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/rack, +/obj/item/reagent_containers/blood/random{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/blood/random{ + pixel_x = -4; + pixel_y = -4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cEM" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/item/restraints/handcuffs/cable/red, +/obj/item/clothing/suit/apron/surgical, +/obj/item/weldingtool/mini, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cEQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/delivery, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32 + }, +/obj/structure/closet/crate/freezer{ + name = "organ storage" + }, +/obj/item/organ/tail/cat, +/obj/item/organ/tail/cat, +/obj/item/organ/ears/cat, +/obj/item/organ/ears/cat, +/obj/item/organ/heart, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cEW" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/barricade/wooden/crude, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cEX" = ( +/obj/structure/sign/departments/medbay/alt, +/turf/closed/wall/rust, +/area/maintenance/fore) +"cEY" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/barricade/wooden/crude, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/biohazard{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) +"cEZ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/computer/arcade, +/obj/machinery/newscaster{ + pixel_x = -30 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) +"cFf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/fore) +"cFg" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"cFh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"cFi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/fore) +"cFj" = ( +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"cFk" = ( +/obj/structure/bookcase/random/fiction, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"cFo" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/fore) +"cFp" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/barricade/wooden/crude, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"cFr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"cFs" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/fore) +"cFt" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "atmosventn2o"; + name = "Emergency N2O Vent Toggle"; + pixel_x = 6; + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cFv" = ( +/obj/machinery/door/airlock/maintenance{ + req_one_access_txt = "12;47" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard) +"cFy" = ( +/obj/structure/girder, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/fore) +"cFz" = ( +/obj/structure/sign/warning/vacuum, +/obj/structure/grille, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"cFA" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/poster/official/enlist{ + pixel_y = -32 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cFB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"cFC" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"cFE" = ( +/obj/structure/plasticflaps/opaque, +/obj/machinery/door/window/northleft{ + dir = 2; + name = "Cargo Delivery Access"; + req_access_txt = "50" + }, +/turf/open/floor/plating, +/area/hallway/secondary/exit/departure_lounge) +"cFF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/grille, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"cFH" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"cFJ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Medbay" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"cFK" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/hallway/primary/port) +"cFN" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"cFS" = ( +/obj/structure/lattice/catwalk, +/obj/effect/landmark/carpspawn, +/turf/open/space/basic, +/area/solar/port/fore) +"cFT" = ( +/obj/structure/girder, +/obj/effect/decal/cleanable/dirt, +/obj/structure/grille/broken, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/fore) +"cFU" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/fore) +"cFW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/directions/evac{ + dir = 1; + pixel_y = 24 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) +"cFY" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"cFZ" = ( +/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/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/hallway/primary/fore) +"cGd" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/maintenance/starboard/fore) +"cGf" = ( +/obj/structure/lattice/catwalk, +/obj/structure/transit_tube/crossing, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/fore) +"cGh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/fore) +"cGi" = ( +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/fore) +"cGk" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/spawner/structure/window/hollow/reinforced/middle{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"cGl" = ( +/obj/structure/flora/rock, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/fore) +"cGo" = ( +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/palebush, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/fore) +"cGp" = ( +/obj/structure/flora/ausbushes/palebush, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/fore) +"cGq" = ( +/obj/structure/flora/ausbushes/palebush, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"cGs" = ( +/obj/structure/lattice/catwalk, +/obj/structure/sign/warning/securearea{ + pixel_x = -32; + pixel_y = -32 + }, +/obj/structure/transit_tube/horizontal{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/fore) +"cGu" = ( +/obj/structure/transit_tube/curved/flipped{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/fore) +"cGy" = ( +/obj/item/target/clown, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/engine/vacuum, +/area/science/test_area) +"cGz" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/genericbush, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/sunnybush, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/grass, +/area/hallway/secondary/exit/departure_lounge) +"cGA" = ( +/obj/docking_port/stationary/random{ + dir = 2; + id = "pod_lavaland1"; + name = "lavaland" + }, +/turf/open/space, +/area/space/nearstation) +"cGB" = ( +/obj/machinery/door/airlock/external{ + name = "Medical Escape Pod" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"cGC" = ( +/obj/structure/transit_tube/crossing, +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"cGD" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/grass, +/area/security/prison) +"cGL" = ( +/obj/machinery/door/airlock/maintenance{ + req_one_access_txt = "12;5" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"cGM" = ( +/obj/machinery/door/airlock/maintenance{ + req_one_access_txt = "12;5" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"cGN" = ( +/obj/machinery/door/airlock/maintenance{ + req_one_access_txt = "12;5" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"cGS" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"cGT" = ( +/obj/machinery/door/airlock/maintenance{ + name = "mining dock maintenance"; + req_access_txt = "48" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard) +"cGU" = ( +/obj/machinery/door/airlock/maintenance{ + name = "cargo maintenance"; + req_one_access_txt = "31;48" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard) +"cGV" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/box, +/obj/machinery/power/solar{ + id = "forestarboard"; + name = "Fore-Starboard Solar Array" + }, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solar/starboard/fore) +"cGW" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/starboard/fore) +"cGX" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/box, +/obj/machinery/power/solar{ + id = "forestarboard"; + name = "Fore-Starboard Solar Array" + }, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solar/starboard/fore) +"cGZ" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/starboard/fore) +"cHa" = ( +/turf/closed/wall/r_wall, +/area/maintenance/solars/starboard/fore) +"cHb" = ( +/turf/closed/wall, +/area/maintenance/solars/starboard/fore) +"cHc" = ( +/turf/closed/wall/rust, +/area/maintenance/solars/starboard/fore) +"cHf" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/central/secondary) +"cHh" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cHi" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cHj" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/poster/official/random{ + pixel_y = -32 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cHk" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cHm" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/aft) +"cHo" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/aft) +"cHu" = ( +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"cHv" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/machinery/door/airlock/command{ + name = "Chief Engineer's Office"; + req_access_txt = "56" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/chief) +"cHw" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/security/main) +"cHx" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cHA" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/security/main) +"cHB" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/door/airlock/security/glass{ + name = "Brig"; + req_access_txt = "63" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"cHC" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cHD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/aft) +"cHE" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/disposal/bin, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/structure/window/reinforced, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"cHF" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/gloves/color/latex, +/obj/item/storage/box/monkeycubes{ + pixel_x = 2; + pixel_y = 5 + }, +/obj/item/storage/box/monkeycubes{ + pixel_y = 3 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cHH" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cHI" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cHJ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table, +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/machinery/light, +/obj/machinery/reagentgrinder{ + pixel_y = 5 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/machinery/newscaster{ + pixel_x = 32; + pixel_y = -30 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cHK" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/chief) +"cHS" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"cHT" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/aft) +"cHV" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cHW" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cHY" = ( +/obj/machinery/photocopier, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/security/main) +"cIa" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Security Office"; + req_access_txt = "63" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/main) +"cIc" = ( +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/aft) +"cIe" = ( +/obj/machinery/door/airlock/maintenance{ + name = "xenobiology maintenance"; + req_access_txt = "55" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"cIf" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/security/execution/education) +"cIi" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/structure/sign/plaques/kiddie/library{ + pixel_x = 32; + pixel_y = -32 + }, +/obj/effect/landmark/blobstart, +/turf/open/floor/wood, +/area/maintenance/starboard/fore) +"cIj" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security{ + aiControlDisabled = 1; + id_tag = "justicedoor_2"; + name = "Justice Chamber"; + req_access_txt = "3" + }, +/obj/machinery/button/door{ + id = "justicedoor_2"; + name = "Justice Door Lock"; + normaldoorcontrol = 1; + pixel_x = 8; + pixel_y = 24; + specialfunctions = 4 + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/dark, +/area/security/execution/education) +"cIm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/obj/structure/table/glass, +/obj/item/shovel/spade, +/obj/item/cultivator{ + pixel_x = 6 + }, +/obj/item/plant_analyzer, +/obj/item/reagent_containers/spray/plantbgone{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/seeds/watermelon, +/obj/item/seeds/apple, +/obj/item/seeds/wheat, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"cIn" = ( +/obj/structure/table, +/obj/item/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/crystal, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/status_display/ai{ + pixel_y = 32 + }, +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/turf/open/floor/plasteel/dark, +/area/storage/tcom) +"cIq" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/stack/sheet/plasteel{ + amount = 10; + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/stack/cable_coil{ + pixel_y = 4 + }, +/obj/item/stack/cable_coil, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"cIr" = ( +/obj/effect/turf_decal/box, +/obj/machinery/shower{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/item/bikehorn/rubberducky, +/obj/machinery/newscaster{ + pixel_x = -30 + }, +/obj/effect/landmark/start/assistant, +/obj/machinery/button/door{ + id = "Shower_1"; + name = "Shower 1 Privacy Lock"; + normaldoorcontrol = 1; + pixel_x = 24; + pixel_y = -8; + specialfunctions = 4 + }, +/obj/machinery/button/door{ + id = "Shower_1Privacy"; + name = "Shower 1 Privacy Toggle"; + pixel_x = 24; + pixel_y = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"cIt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/machinery/door/airlock/engineering{ + name = "Telecomms Storage"; + req_access_txt = "61" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/storage/tcom) +"cIw" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"cIA" = ( +/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/maintenance/port/aft) +"cIB" = ( +/obj/structure/sign/departments/cargo, +/turf/closed/wall, +/area/maintenance/starboard/fore) +"cIG" = ( +/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/disposalpipe/sorting/mail/flip{ + dir = 8; + name = "hos sorting disposal pipe"; + sortType = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cIH" = ( +/turf/closed/wall, +/area/storage/tcom) +"cIJ" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/stock_parts/micro_laser{ + desc = "A tiny laser used in certain devices. A lil left."; + pixel_x = -6 + }, +/obj/item/stock_parts/micro_laser{ + desc = "A tiny laser used in certain devices. A lil left."; + pixel_x = -6 + }, +/obj/item/stock_parts/micro_laser{ + desc = "A tiny laser used in certain devices. A lil left."; + pixel_x = -6 + }, +/obj/item/stock_parts/micro_laser{ + desc = "A tiny laser used in certain devices. A lil left."; + pixel_x = -6 + }, +/obj/item/stock_parts/micro_laser{ + desc = "A tiny laser used in certain devices. A lil left."; + pixel_x = -6 + }, +/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{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/status_display/ai{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/storage/tcom) +"cIK" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/remains/human, +/obj/item/paper/crumpled{ + info = "This isn't funny, I'm trapped on the least fun room on the station."; + name = "poorly written complaint" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"cIM" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall, +/area/storage/tcom) +"cIN" = ( +/obj/structure/table/glass, +/obj/item/shovel/spade, +/obj/item/plant_analyzer, +/obj/item/cultivator{ + pixel_x = 6 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"cIO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/sign/warning/securearea, +/turf/closed/wall, +/area/storage/tcom) +"cIP" = ( +/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/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cIQ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/machinery/light, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/obj/structure/sign/warning/electricshock{ + pixel_y = -32 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"cIS" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Prison Yard" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PCell 3Lock"; + name = "Long-Term Cell 3 Shutter" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"cIV" = ( +/turf/closed/wall, +/area/construction/mining/aux_base) +"cIX" = ( +/turf/open/floor/plating, +/area/construction/mining/aux_base) +"cIY" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/construction/mining/aux_base) +"cIZ" = ( +/obj/structure/cable{ + icon_state = "1-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/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cJb" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/pipe_dispenser, +/obj/structure/extinguisher_cabinet{ + pixel_y = 28 + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"cJc" = ( +/turf/closed/wall/rust, +/area/library) +"cJe" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Long-Term Cell 3"; + req_access_txt = "2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"cJi" = ( +/obj/machinery/door/airlock/mining{ + name = "Auxiliary Base"; + req_one_access_txt = "32;47;48" + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"cJk" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/computer/camera_advanced/base_construction{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"cJm" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall/rust, +/area/maintenance/starboard/fore) +"cJo" = ( +/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) +"cJp" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"cJq" = ( +/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/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cJs" = ( +/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/components/unary/vent_scrubber/on/layer1, +/obj/structure/disposalpipe/junction{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cJu" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/computer/shuttle/mining{ + dir = 4; + req_access = null + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"cJw" = ( +/obj/machinery/door/poddoor/shutters{ + id = "aux_base_shutters"; + name = "Auxillary Base Shutters" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"cJx" = ( +/obj/structure/girder, +/obj/structure/grille/broken, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"cJz" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall, +/area/construction/mining/aux_base) +"cJC" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/reagent_dispensers/watertank/high, +/obj/item/reagent_containers/glass/bucket, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"cJD" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"cJE" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/packageWrap, +/obj/item/wallframe/camera, +/obj/item/wallframe/camera, +/obj/item/wallframe/camera, +/obj/item/wallframe/camera, +/obj/machinery/button/door{ + id = "aux_base_shutters"; + name = "Auxiliary Base Shutters Toggle"; + pixel_x = 24; + pixel_y = 6; + req_one_access_txt = "32;47;48" + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"cJF" = ( +/obj/machinery/door/airlock/mining{ + name = "Auxiliary Base"; + req_one_access_txt = "32;47;48" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"cJG" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/reagent_dispensers/watertank/high, +/obj/item/reagent_containers/glass/bucket, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera{ + c_tag = "Prison Yard Garden"; + dir = 1; + name = "prison camera"; + network = list("ss13","prison") + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"cJJ" = ( +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/machinery/door/airlock/medical/glass{ + id_tag = "medbay_front_door"; + name = "Medbay"; + req_access_txt = "5" + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"cJK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"cJL" = ( +/obj/structure/sign/departments/cargo, +/turf/closed/wall, +/area/construction/mining/aux_base) +"cJM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/aft) +"cJN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cJO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/grille, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"cJP" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/power/apc{ + areastring = "/area/construction/mining/aux_base"; + name = "Auxillary Base Construction APC"; + pixel_y = -23 + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"cJQ" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/fore) +"cJR" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = -32 + }, +/turf/open/floor/plating, +/area/construction/mining/aux_base) +"cJW" = ( +/obj/machinery/light/small, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/fore) +"cJY" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics Desk"; + req_access_txt = "24" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"cKa" = ( +/obj/effect/turf_decal/tile/neutral{ + 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/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cKb" = ( +/obj/effect/turf_decal/tile/neutral{ + 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/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cKd" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/sign/poster/official/random{ + pixel_y = -32 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1, +/turf/open/floor/plasteel/dark/corner, +/area/hallway/primary/fore) +"cKf" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/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/neutral, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cKg" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cKi" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/lattice/catwalk, +/obj/effect/landmark/carpspawn, +/turf/open/floor/plating/airless, +/area/solar/port/aft) +"cKj" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/lattice/catwalk, +/obj/effect/landmark/carpspawn, +/turf/open/floor/plating/airless, +/area/solar/starboard/aft) +"cKk" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/directions/supply{ + dir = 1; + pixel_y = 24 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/fore) +"cKm" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/security/main"; + name = "Security Office APC"; + pixel_y = -24 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/security/main) +"cKn" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/security/main) +"cKo" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/security/main) +"cKp" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/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/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/showroomfloor, +/area/security/brig) +"cKr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock/maintenance{ + name = "atmospherics maintenance"; + req_access_txt = "24" + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/maintenance/aft) +"cKu" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/engineering{ + name = "Engineering Desk"; + req_one_access_txt = "10;24" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/break_room) +"cKz" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cKC" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock/command{ + name = "Head of Security's Office"; + req_access_txt = "58" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hos) +"cKF" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cKG" = ( +/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/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hos) +"cKI" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cKM" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 5 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/machinery/camera{ + c_tag = "Atmospherics Port Tanks"; + dir = 4; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cKN" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/machinery/door/window/northleft{ + dir = 4; + name = "Inner Pipe Access"; + req_access_txt = "24" + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "O2 to Pure" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cKP" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cKR" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cKT" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Air to Mix" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/engine/atmos) +"cKW" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/disposal/bin, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 5 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engine/atmos) +"cKX" = ( +/obj/structure/closet/firecloset, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cKY" = ( +/obj/structure/plasticflaps/opaque, +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"cKZ" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/disposal/bin, +/obj/machinery/light_switch{ + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"cLa" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6; + icon_state = "intact" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"cLd" = ( +/obj/docking_port/stationary{ + dwidth = 1; + height = 4; + roundstart_template = /datum/map_template/shuttle/escape_pod/default; + width = 3 + }, +/obj/structure/fans/tiny/invisible, +/turf/open/space/basic, +/area/space) +"cLe" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"cLg" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"cLm" = ( +/obj/machinery/status_display/evac{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/item/storage/box/lights/mixed{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/storage/box/lights/mixed, +/turf/open/floor/plating, +/area/maintenance/disposal) +"cLr" = ( +/turf/closed/wall/rust, +/area/maintenance/department/electrical) +"cLs" = ( +/turf/closed/wall, +/area/maintenance/department/electrical) +"cLt" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall/rust, +/area/maintenance/starboard) +"cLy" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/rust, +/area/maintenance/department/electrical) +"cLz" = ( +/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/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"cLA" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"cLC" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"cLE" = ( +/obj/machinery/door/airlock/engineering{ + name = "Electrical Maintenance"; + req_access_txt = "11" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/department/electrical) +"cLG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/starboard) +"cLH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/sink/kitchen{ + desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; + name = "old sink"; + pixel_y = 28 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"cLI" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"cLK" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"cLM" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/fore) +"cLN" = ( +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/solar/starboard/fore) +"cLO" = ( +/obj/structure/cable, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/starboard/fore) +"cLQ" = ( +/obj/machinery/door/airlock/engineering{ + name = "Starboard Bow Solar Access"; + req_access_txt = "10" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/solars/starboard/fore) +"cLR" = ( +/obj/docking_port/stationary{ + dir = 4; + dwidth = 1; + height = 4; + roundstart_template = /datum/map_template/shuttle/escape_pod/default; + width = 3 + }, +/obj/structure/fans/tiny/invisible, +/turf/open/space/basic, +/area/space) +"cLU" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/solars/starboard/fore) +"cLV" = ( +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance"; + req_access_txt = "10; 13" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/fore) +"cLY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"cMb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard) +"cMf" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"cMg" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/belt/utility, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/remains/human, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"cMj" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall, +/area/maintenance/department/electrical) +"cMk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"cMl" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"cMm" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/engineering{ + name = "Electrical Maintenance"; + req_access_txt = "11" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/plasteel/dark, +/area/maintenance/department/electrical) +"cMn" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"cMq" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/blood/gibs/old, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"cMr" = ( +/obj/machinery/status_display/ai, +/turf/closed/wall/rust, +/area/maintenance/department/electrical) +"cMt" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/blood/gibs/limb, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"cMu" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"cMw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard) +"cMx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"cMz" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"cMC" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard) +"cMD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard) +"cME" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"cMG" = ( +/obj/structure/girder, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"cMH" = ( +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance"; + req_access_txt = "10; 13" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/fore) +"cMI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"cMK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"cML" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"cMP" = ( +/obj/effect/decal/cleanable/oil, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard) +"cMQ" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"cMR" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"cMT" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/starboard/fore) +"cMU" = ( +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/starboard/fore) +"cMV" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/starboard/fore) +"cMW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/maintenance/starboard) +"cNa" = ( +/obj/structure/girder, +/obj/effect/decal/cleanable/dirt, +/obj/structure/grille/broken, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"cNd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/grille/broken, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"cNe" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/meter, +/turf/open/floor/plating, +/area/maintenance/starboard) +"cNg" = ( +/obj/structure/sign/warning/fire, +/turf/closed/wall, +/area/maintenance/starboard) +"cNh" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/rack, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard) +"cNi" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard) +"cNj" = ( +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/starboard/fore) +"cNl" = ( +/obj/machinery/power/tracker, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solar/starboard/fore) +"cNn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"cNp" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall/rust, +/area/maintenance/solars/starboard/fore) +"cNq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/sign/warning/nosmoking{ + pixel_x = -30 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"cNs" = ( +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics Connector"; + req_one_access_txt = "10;24;5" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard) +"cNy" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/starboard/fore) +"cNz" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/starboard/fore) +"cNB" = ( +/turf/closed/wall/r_wall/rust, +/area/maintenance/solars/starboard/fore) +"cNC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/girder/displaced, +/obj/structure/grille/broken, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard) +"cNF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"cNG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"cNI" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless, +/area/solar/starboard/fore) +"cNL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"cNM" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"cNN" = ( +/obj/structure/sign/poster/contraband/missing_gloves, +/turf/closed/wall/rust, +/area/maintenance/starboard) +"cNO" = ( +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics Connector"; + req_one_access_txt = "10;24;5" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard) +"cNU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"cNV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/sink/kitchen{ + desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; + name = "old sink"; + pixel_y = 28 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"cNW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"cNY" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "rdprivacy"; + name = "Director's Privacy Blast Door" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"cOb" = ( +/obj/structure/sign/warning/biohazard, +/turf/closed/wall, +/area/maintenance/starboard) +"cOd" = ( +/obj/docking_port/stationary/random{ + dir = 4; + id = "pod_lavaland4"; + name = "lavaland" + }, +/turf/open/space, +/area/space/nearstation) +"cOf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"cOg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard) +"cOm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/maintenance/starboard) +"cOo" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/maintenance/starboard) +"cOx" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Toxins Burn Chamber"; + dir = 8; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/machinery/airalarm/mixingchamber{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing/chamber) +"cOW" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/bridge) +"cPa" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Prison Yard" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PCell 2Lock"; + name = "Long-Term Cell 2 Shutter" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"cPb" = ( +/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, +/area/bridge) +"cPj" = ( +/obj/structure/flora/ausbushes/brflowers, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/window/northleft{ + name = "Animal Pen"; + req_access_txt = "35" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/grass, +/area/hydroponics) +"cQP" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Long-Term Cell 2"; + req_access_txt = "2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"cRk" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"cRB" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"cSS" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/box/bodybags{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/storage/box/bodybags{ + pixel_y = 2 + }, +/obj/item/wirecutters, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"cST" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/security/prison) +"cSU" = ( +/obj/structure/sign/departments/security, +/turf/closed/wall, +/area/security/prison) +"cSV" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, +/obj/machinery/door/airlock/security{ + aiControlDisabled = 1; + id_tag = "justicedoor"; + name = "Justice Chamber"; + req_access_txt = "3" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/button/door{ + id = "justicedoor"; + name = "Justice Door Lock"; + normaldoorcontrol = 1; + pixel_x = -24; + specialfunctions = 4 + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/dark, +/area/security/execution/education) +"cSW" = ( +/turf/closed/wall/r_wall, +/area/security/execution/education) +"cSZ" = ( +/obj/structure/sink/puddle, +/obj/structure/flora/ausbushes/reedbush{ + pixel_y = 5 + }, +/turf/open/floor/grass, +/area/security/prison) +"cTp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/aft) +"cTr" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/external{ + name = "Arrival Shuttle Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"cTF" = ( +/obj/machinery/door/airlock/external{ + name = "Prison External Airlock"; + req_access_txt = "2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"cTG" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor{ + id = "justiceblast"; + name = "Justice Blast door" + }, +/turf/open/floor/plasteel/dark, +/area/security/execution/education) +"cTI" = ( +/obj/structure/lattice, +/obj/structure/sign/warning/securearea{ + pixel_x = -32 + }, +/turf/open/space/basic, +/area/space/nearstation) +"cUD" = ( +/obj/machinery/door/airlock/external{ + name = "Prison External Airlock"; + req_access_txt = "2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"cZm" = ( +/turf/closed/wall/rust, +/area/security/prison) +"dis" = ( +/turf/closed/wall/r_wall/rust, +/area/bridge) +"dww" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/engine/engineering) +"dxq" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/computer/mecha{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hor) +"dMc" = ( +/obj/structure/table/reinforced, +/obj/item/integrated_circuit_printer, +/obj/item/integrated_electronics/wirer, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/science/research) +"dQe" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"dYu" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/fore) +"elZ" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall/rust, +/area/crew_quarters/bar) +"emD" = ( +/turf/closed/wall/rust, +/area/quartermaster/miningoffice) +"erN" = ( +/turf/closed/wall/rust, +/area/hallway/primary/starboard) +"esR" = ( +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/maintenance/port/fore) +"evx" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) +"ewj" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"ezp" = ( +/turf/closed/wall/rust, +/area/hydroponics) +"eBN" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/biogenerator, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"eKa" = ( +/obj/structure/sign/poster/official/pda_ad, +/turf/closed/wall, +/area/medical/virology) +"eMp" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 5 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"eOu" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken5" + }, +/area/maintenance/port/fore) +"eQS" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall/rust, +/area/security/prison) +"eVT" = ( +/turf/closed/wall/rust, +/area/science/explab) +"fcv" = ( +/obj/structure/sign/warning/fire{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"fyr" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating, +/area/engine/engineering) +"fAH" = ( +/obj/machinery/door/airlock/engineering/glass{ + name = "Laser Room"; + req_access_txt = "10" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/plating, +/area/engine/engineering) +"fXq" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/fore) +"gnA" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera{ + c_tag = "Laser Room Starboard"; + dir = 1; + name = "laser room camera"; + network = list("ss13","engine") + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"grW" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"gvR" = ( +/obj/structure/sign/warning, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"gwD" = ( +/obj/effect/turf_decal/tile/neutral, +/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/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Port to Filter" + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"gxY" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/vr_sleeper, +/obj/effect/turf_decal/box/white, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"gIE" = ( +/turf/open/floor/plating, +/area/engine/engineering) +"gJq" = ( +/obj/structure/sign/departments/evac, +/turf/closed/wall/rust, +/area/hallway/secondary/exit/departure_lounge) +"gMU" = ( +/turf/closed/wall/r_wall/rust, +/area/ai_monitored/turret_protected/ai_upload) +"hgW" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/chair/stool, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"hqv" = ( +/turf/closed/wall/rust, +/area/crew_quarters/kitchen) +"hvb" = ( +/turf/closed/wall/r_wall/rust, +/area/tcommsat/computer) +"hxn" = ( +/turf/open/space/basic, +/area/hallway/secondary/entry) +"hzY" = ( +/turf/closed/wall/rust, +/area/gateway) +"hAb" = ( +/turf/closed/wall/r_wall/rust, +/area/security/courtroom) +"hNk" = ( +/turf/closed/wall/r_wall/rust, +/area/security/prison) +"ice" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=SW CPH"; + dir = 8; + location = "S CPH"; + name = "Patrol navbeacon S" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"ieA" = ( +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/cat_butcherer, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/fore) +"iiA" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) +"ikw" = ( +/obj/machinery/camera{ + c_tag = "Xenobiology Cell 4"; + dir = 8; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"ivg" = ( +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space) +"iwR" = ( +/turf/closed/wall/r_wall/rust, +/area/science/server) +"iBL" = ( +/obj/machinery/camera{ + c_tag = "Laser Room Starboard"; + dir = 1; + name = "laser room camera"; + network = list("ss13","engine") + }, +/turf/open/floor/engine, +/area/engine/engineering) +"iLn" = ( +/obj/machinery/vending/boozeomat/all_access, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"iMb" = ( +/obj/structure/sink/kitchen{ + desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; + name = "old sink"; + pixel_y = 28 + }, +/obj/effect/spawner/lootdrop/keg, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/maintenance/port/fore) +"iMq" = ( +/obj/machinery/camera{ + c_tag = "Xenobiology Cell 5"; + dir = 4; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"iRL" = ( +/turf/closed/wall/rust, +/area/hallway/primary/aft) +"iSg" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/retaliate/ghost, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"iYW" = ( +/turf/closed/wall/r_wall/rust, +/area/crew_quarters/heads/captain) +"iZo" = ( +/turf/closed/wall/r_wall/rust, +/area/medical/virology) +"jaZ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/chair/stool, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"jhM" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/bottle/grenadine, +/obj/item/reagent_containers/food/drinks/beer{ + desc = "A station exclusive. Consumpt may result in seizures, blindness, drunkenness, or even death."; + list_reagents = list(/datum/reagent/consumable/ethanol/thirteenloko = 10); + name = "Kilo-Kocktail"; + pixel_x = 5; + pixel_y = 5 + }, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"jiS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"juX" = ( +/obj/machinery/camera{ + c_tag = "Xenobiology Cell 2"; + dir = 4; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"jxc" = ( +/turf/closed/wall/rust, +/area/hallway/primary/fore) +"jAT" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/light, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/hallway/secondary/entry) +"jCp" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) +"jDv" = ( +/turf/closed/wall/rust, +/area/quartermaster/storage) +"jHJ" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/turf/closed/wall, +/area/maintenance/disposal/incinerator) +"jOz" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall/rust, +/area/ai_monitored/turret_protected/ai_upload) +"jPE" = ( +/obj/structure/cable, +/turf/open/floor/plating, +/area/engine/engineering) +"jRw" = ( +/obj/structure/sign/poster/official/high_class_martini, +/turf/closed/wall/r_wall, +/area/medical/virology) +"jUj" = ( +/obj/structure/closet/cabinet, +/obj/item/reagent_containers/food/drinks/bottle/absinthe/premium, +/obj/item/reagent_containers/food/drinks/bottle/applejack, +/obj/item/reagent_containers/food/drinks/bottle/champagne, +/obj/item/reagent_containers/food/drinks/bottle/cognac, +/obj/item/reagent_containers/food/drinks/bottle/gin, +/obj/item/reagent_containers/food/drinks/bottle/goldschlager, +/obj/item/reagent_containers/food/drinks/bottle/grappa, +/obj/item/reagent_containers/food/drinks/bottle/hcider, +/obj/item/reagent_containers/food/drinks/bottle/kahlua, +/obj/item/reagent_containers/food/drinks/bottle/patron, +/obj/item/reagent_containers/food/drinks/bottle/rum, +/obj/item/reagent_containers/food/drinks/bottle/sake, +/obj/item/reagent_containers/food/drinks/bottle/tequila, +/obj/item/reagent_containers/food/drinks/bottle/trappist, +/obj/item/reagent_containers/food/drinks/bottle/vermouth, +/obj/item/reagent_containers/food/drinks/bottle/vodka, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/reagent_containers/food/drinks/bottle/wine, +/obj/item/reagent_containers/food/drinks/beer{ + desc = "A station exclusive. Consumpt may result in seizures, blindness, drunkenness, or even death."; + list_reagents = list(/datum/reagent/consumable/ethanol/thirteenloko = 10); + name = "Kilo-Kocktail"; + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/reagent_containers/food/drinks/beer{ + desc = "A station exclusive. Consumpt may result in seizures, blindness, drunkenness, or even death."; + list_reagents = list(/datum/reagent/consumable/ethanol/thirteenloko = 10); + name = "Kilo-Kocktail"; + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/reagent_containers/food/drinks/beer{ + desc = "A station exclusive. Consumpt may result in seizures, blindness, drunkenness, or even death."; + list_reagents = list(/datum/reagent/consumable/ethanol/thirteenloko = 10); + name = "Kilo-Kocktail"; + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/reagent_containers/food/drinks/beer{ + desc = "A station exclusive. Consumpt may result in seizures, blindness, drunkenness, or even death."; + list_reagents = list(/datum/reagent/consumable/ethanol/thirteenloko = 10); + name = "Kilo-Kocktail"; + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/reagent_containers/food/drinks/beer{ + desc = "A station exclusive. Consumpt may result in seizures, blindness, drunkenness, or even death."; + list_reagents = list(/datum/reagent/consumable/ethanol/thirteenloko = 10); + name = "Kilo-Kocktail"; + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/reagent_containers/food/drinks/beer{ + desc = "A station exclusive. Consumpt may result in seizures, blindness, drunkenness, or even death."; + list_reagents = list(/datum/reagent/consumable/ethanol/thirteenloko = 10); + name = "Kilo-Kocktail"; + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/reagent_containers/food/drinks/beer{ + desc = "A station exclusive. Consumpt may result in seizures, blindness, drunkenness, or even death."; + list_reagents = list(/datum/reagent/consumable/ethanol/thirteenloko = 10); + name = "Kilo-Kocktail"; + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/reagent_containers/food/drinks/beer{ + desc = "A station exclusive. Consumpt may result in seizures, blindness, drunkenness, or even death."; + list_reagents = list(/datum/reagent/consumable/ethanol/thirteenloko = 10); + name = "Kilo-Kocktail"; + pixel_x = 5; + pixel_y = 5 + }, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"jUZ" = ( +/obj/item/poster/random_contraband, +/obj/item/poster/random_contraband, +/obj/item/poster/random_contraband, +/obj/item/poster/random_contraband, +/obj/item/poster/random_contraband, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_x = -3; + pixel_y = 2 + }, +/obj/item/reagent_containers/food/drinks/ale, +/obj/structure/table/wood, +/obj/item/instrument/eguitar, +/turf/open/floor/wood{ + icon_state = "wood-broken5" + }, +/area/maintenance/port/fore) +"khA" = ( +/turf/closed/wall/rust, +/area/construction/mining/aux_base) +"krJ" = ( +/turf/closed/wall/rust, +/area/hallway/secondary/exit/departure_lounge) +"ktv" = ( +/obj/machinery/air_sensor{ + pixel_x = -32; + pixel_y = -32 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 + }, +/turf/open/floor/engine/vacuum, +/area/maintenance/disposal/incinerator) +"kul" = ( +/obj/machinery/vending/snack/random, +/obj/effect/turf_decal/bot, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"kIJ" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/maintenance/port/fore) +"kSc" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall, +/area/maintenance/port/fore) +"leX" = ( +/obj/structure/chair/stool, +/turf/open/floor/wood{ + icon_state = "wood-broken4" + }, +/area/maintenance/port/fore) +"llm" = ( +/obj/structure/sign/poster/ripped, +/turf/closed/wall/rust, +/area/crew_quarters/fitness/recreation) +"lKu" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/soda_cans/thirteenloko, +/obj/item/flashlight/lamp, +/turf/open/floor/wood{ + icon_state = "wood-broken4" + }, +/area/maintenance/port/fore) +"lSJ" = ( +/turf/open/floor/engine/vacuum, +/area/maintenance/disposal/incinerator) +"lVk" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall/rust, +/area/security/warden) +"mbs" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/obj/item/pickaxe, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"mej" = ( +/turf/closed/wall/r_wall/rust, +/area/science/robotics/lab) +"mmZ" = ( +/obj/machinery/cryopod, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"mIt" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=SE CPH"; + dir = 8; + location = "E CPH"; + name = "Patrol navbeacon E" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"mIG" = ( +/obj/structure/chair/office/light{ + dir = 1 + }, +/obj/effect/turf_decal/box/red, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/magnetic_controller{ + autolink = 1; + pixel_x = -28; + pixel_y = 3 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"mLN" = ( +/obj/machinery/camera{ + c_tag = "Laser Room Starboard"; + dir = 1; + name = "laser room camera"; + network = list("ss13","engine") + }, +/turf/open/floor/plating, +/area/engine/engineering) +"mPm" = ( +/turf/closed/wall/rust, +/area/security/checkpoint/supply) +"nDw" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall/rust, +/area/crew_quarters/heads/hor) +"nJw" = ( +/obj/machinery/smartfridge, +/turf/closed/wall/rust, +/area/crew_quarters/kitchen) +"nNA" = ( +/turf/closed/wall/rust, +/area/bridge) +"nNV" = ( +/turf/closed/wall/rust, +/area/science/lab) +"nSz" = ( +/turf/closed/wall/rust, +/area/medical/cryo) +"nVt" = ( +/turf/closed/wall/rust, +/area/storage/tech) +"nXu" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/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/plasteel/showroomfloor, +/area/security/prison) +"oPf" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark/corner{ + dir = 8 + }, +/area/hallway/primary/fore) +"oTy" = ( +/obj/docking_port/stationary{ + dir = 4; + dwidth = 3; + height = 14; + id = "arrivals_stationary"; + name = "kilo arrivals"; + roundstart_template = /datum/map_template/shuttle/arrival/kilo; + width = 7 + }, +/turf/open/space/basic, +/area/hallway/secondary/entry) +"pCe" = ( +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating, +/area/engine/engineering) +"pFw" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/crew_quarters/locker) +"pNP" = ( +/obj/structure/table/wood, +/turf/open/floor/wood{ + icon_state = "wood-broken4" + }, +/area/maintenance/port/fore) +"pQf" = ( +/turf/closed/wall/r_wall/rust, +/area/science/xenobiology) +"qfZ" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/vr_sleeper{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"qtv" = ( +/turf/closed/wall/r_wall/rust, +/area/tcommsat/server) +"qtS" = ( +/turf/closed/wall/rust, +/area/medical/genetics/cloning) +"qvS" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=W CPH"; + dir = 8; + location = "SW CPH"; + name = "Patrol navbeacon SW" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"qyG" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/shaker, +/obj/item/reagent_containers/glass/beaker/cryoxadone, +/obj/item/reagent_containers/glass/beaker{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/item/reagent_containers/dropper, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"qIR" = ( +/obj/machinery/camera{ + c_tag = "Xenobiology Cell 6"; + dir = 8; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"qLx" = ( +/obj/structure/table, +/obj/item/storage/toolbox/emergency{ + pixel_y = 4 + }, +/obj/item/crowbar, +/obj/item/flashlight{ + pixel_y = 2 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"qPY" = ( +/obj/machinery/vr_sleeper{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"qWU" = ( +/turf/closed/wall/rust, +/area/chapel/main) +"rbM" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/lavendergrass, +/mob/living/carbon/monkey, +/turf/open/floor/grass, +/area/medical/virology) +"ruL" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/security/prison) +"rNm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/hallway/secondary/entry) +"swG" = ( +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = 4; + pixel_y = 5 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = 6; + pixel_y = -1 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = -5; + pixel_y = 2 + }, +/obj/structure/table/wood, +/obj/structure/light_construct/small{ + dir = 1 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"sDw" = ( +/obj/structure/sign/warning, +/turf/closed/wall/rust, +/area/space/nearstation) +"sPG" = ( +/turf/closed/wall/rust, +/area/crew_quarters/heads/hor) +"tgw" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall/rust, +/area/security/prison) +"tqw" = ( +/turf/closed/wall/rust, +/area/lawoffice) +"tyb" = ( +/turf/closed/wall/rust, +/area/hallway/primary/central) +"tCi" = ( +/obj/effect/decal/cleanable/glass, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/maintenance/port/fore) +"tEC" = ( +/turf/closed/wall/rust, +/area/crew_quarters/bar) +"tGU" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/rust, +/area/gateway) +"tYn" = ( +/turf/closed/wall/rust, +/area/janitor) +"uda" = ( +/turf/closed/wall/rust, +/area/security/warden) +"udQ" = ( +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/bot, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"umD" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21"; + pixel_x = -3; + pixel_y = 3 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"unX" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=E CPH"; + dir = 8; + location = "NE CPH"; + name = "Patrol navbeacon NE" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"uxQ" = ( +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plating, +/area/engine/engineering) +"uzR" = ( +/turf/closed/wall/rust, +/area/storage/primary) +"uWo" = ( +/turf/closed/wall/rust, +/area/security/checkpoint/medical) +"vmu" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/instrument/guitar, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) +"whw" = ( +/turf/closed/wall/rust, +/area/medical/surgery) +"wmX" = ( +/turf/closed/wall/rust, +/area/quartermaster/qm) +"wvq" = ( +/turf/closed/wall/rust, +/area/security/courtroom) +"wCy" = ( +/turf/closed/wall/rust, +/area/hallway/primary/port) +"wDP" = ( +/turf/closed/wall/rust, +/area/crew_quarters/fitness/recreation) +"wQL" = ( +/turf/closed/wall/rust, +/area/security/execution/education) +"xei" = ( +/turf/closed/wall/r_wall/rust, +/area/teleporter) +"xqv" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"xqL" = ( +/turf/closed/wall/rust, +/area/quartermaster/office) +"xse" = ( +/obj/machinery/cryopod, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/prison) +"xBI" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall/rust, +/area/chapel/office) +"xJY" = ( +/obj/structure/rack, +/obj/item/storage/backpack, +/obj/item/extinguisher{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/extinguisher, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 30 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"xON" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"xTw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/stool/bar, +/turf/open/floor/wood, +/area/maintenance/port/fore) +"xTT" = ( +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/wood{ + icon_state = "wood-broken4" + }, +/area/maintenance/port/fore) +"ydo" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/security/prison) + +(1,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(2,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(3,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(4,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(5,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(6,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(7,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(8,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(9,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(10,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(11,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(12,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bUG +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(13,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +bVu +aeu +aaa +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(14,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aUz +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(15,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(16,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aaa +aeu +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(17,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aUz +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(18,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bhA +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(19,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(20,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(21,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aap +aeu +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(22,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aeU +aeu +aeU +aeu +aeu +aeU +aeU +aeU +aeu +aaa +aaa +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(23,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cAY +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(24,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aaa +aaa +aaa +aeU +aeU +aeU +aeU +aUz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(25,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aUz +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aUz +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(26,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(27,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(28,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aap +aeU +aeU +aeU +aeU +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaB +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaB +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(29,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(30,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aUz +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaB +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(31,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(32,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aaa +aaa +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(33,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aUz +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aaa +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aUz +aeU +aeU +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(34,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeu +aeu +aeU +aap +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aap +aeU +aeu +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeU +aeU +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +bUG +aaa +aaa +aaa +aaa +aaa +bUG +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +acm +aeo +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(35,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aeU +aeu +aeu +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeU +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +acm +aaa +aaa +aaa +aaa +aaa +acm +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(36,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aUz +cui +aeU +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaB +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeU +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeU +aeU +aeu +aeu +aeu +alm +aaQ +aeo +aeo +aeo +acm +acK +aaa +aaa +aaa +aaa +aaa +acK +acm +aeo +aeo +acm +alm +aeu +aeu +aeu +aeu +aap +aUz +aeU +aeu +aeu +acm +aeo +aeo +acm +aaa +acm +aeo +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(37,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aap +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aap +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeU +aaa +aaa +aeU +aeu +aeu +aeu +aeu +bou +cko +aeu +aeu +aeu +aeu +aaa +aaa +acm +aaa +aaa +acK +aaa +aaa +aaa +aaa +aaa +acK +aaa +aaa +acm +aaa +aaa +aeu +aeu +aeu +aeu +aeU +aeU +aeu +aeu +aeu +aaa +aaa +acm +aaa +aaa +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(38,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aeo +aaQ +aeo +aeo +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aeU +aeu +aeu +aeu +aeu +cpY +aeu +aeu +aeu +aeu +alm +aaQ +aeo +aeo +acm +acK +aaa +aaa +aaa +aaa +aaa +acK +acm +aaQ +aeo +aeo +acm +alm +aeu +aeu +aeu +aeu +aap +aeu +aeu +acm +acm +aeo +aeo +aeo +aeo +acm +aeo +acm +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(39,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bUG +bVu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +aaa +aaa +acm +aaa +aaa +aaa +aeu +alm +acm +aaQ +aeo +aeo +acm +acm +aeo +aeo +aeo +acm +aeo +acm +alm +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaQ +aaa +aaa +acm +aaa +aaa +aaa +aaa +aaa +acm +aaa +aaa +aaQ +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aeo +aaa +acm +aaa +acm +aaa +aaa +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(40,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aUz +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aeo +acm +aeo +aeo +aeo +aeo +aaQ +alm +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +acm +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +alm +aeo +aeo +aeu +aeu +aeu +adk +adk +amz +amz +adk +aeu +aeu +aeu +aaa +acm +aaa +aaa +bUG +aaa +aaa +aaa +aaa +aaa +bUG +bhA +bhA +acm +acm +aeo +aeo +alm +aeu +aeu +aeu +aeu +aeu +aUz +aeU +coy +acm +acm +aaa +coa +aaa +aeo +aeo +aeo +aeo +acm +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(41,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +aaa +acm +aaa +aaa +acm +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +acm +aaa +aaa +aaa +aaa +aUz +aeU +aeu +aeu +aeu +aeu +aaQ +aaa +aaa +aaa +alm +aeu +adk +amU +ckR +bAc +adk +aeu +aeu +aeu +aeu +alm +aeU +aaa +acm +aaa +aaa +bpm +aaa +aaa +acm +acK +bmU +ruL +ruL +ruL +hNk +aeu +aeu +aap +aeu +aeu +aeU +aeU +aeU +aeU +aeU +acm +acm +ckO +aaa +acm +aaa +acm +aaa +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(42,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aap +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aeo +aaQ +aeo +aeo +aeo +acm +aaQ +ctL +acm +acm +coy +aUz +aeU +aeU +aeu +aeu +aeu +aeu +alm +acm +aaQ +aeo +aeo +acm +acm +acm +aeU +aeU +alm +aeu +aeu +aeu +aeu +acm +aaa +aaa +aaa +acm +aeu +amz +box +bpJ +bre +amz +aeu +aeu +aeu +aeu +aeu +aeu +acK +acm +acm +cqG +cqN +cqG +cov +cpx +bLM +hNk +mmZ +ewj +qfZ +hNk +aeu +aeu +aeU +aap +aeu +coy +aeU +cnt +cnt +cnt +cnt +cnt +ckP +cnt +cnt +cnt +cnt +cnt +acm +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(43,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aaa +acm +aaa +acm +aaa +can +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aaa +aaa +aaa +acm +aaa +aaa +aeU +aeU +aeu +aeu +aeu +bKl +aeu +aeu +bUG +acK +acm +acK +bUG +aeu +adk +adk +bzE +bCb +amz +aeu +aeu +aeu +aeu +aeu +aeu +aeu +cqt +cqz +cqH +bGR +cIA +coD +cqt +aeu +hNk +xse +nXu +qPY +hNk +aeu +aeu +aUz +aeu +aeu +aeU +aeU +ckL +ckM +ckM +ckM +ckM +ckX +cnM +cnM +cnM +cnM +cog +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(44,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aaQ +acm +ctm +ctm +ctm +cmM +ctm +cao +ctm +ctm +ctm +ctm +ctm +aeU +aeU +aeu +aeu +aeu +aeU +aeU +aaa +aaa +acm +aaa +aaa +aeU +aeu +aeu +aeu +bQN +bRy +aeu +aeu +cko +cko +ccg +cko +cko +aeu +amA +boF +bpK +brf +amA +amA +amA +ajd +aeu +aeu +aeu +aeu +ajd +bRu +cqI +cqP +afm +bVx +hNk +hNk +hNk +cxV +ydo +eBN +tgw +hNk +aeu +aeu +aeu +aeu +aeU +aeU +cnw +cnw +cnw +cnw +cnw +ckY +cnw +cnw +cnw +cnw +cnw +acm +acm +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(45,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aeo +aeo +aaa +aFT +aJb +aJb +aJb +aJb +cap +ckq +ckq +ckq +ckq +ckK +aeU +aeU +aof +aeu +agt +aeU +aeU +aeU +aaa +acm +aaa +aUz +aeU +aeu +aeu +bKl +aDQ +aeu +aeu +aeu +cko +aaa +aaa +aaa +cko +aeu +amR +anD +bzK +ctg +btc +ctF +bxy +ajd +ajd +ajd +aer +ajd +aer +bEz +bGl +bGV +bIi +cpv +hNk +awn +bTz +czR +cFN +cIm +cJC +aav +hNk +aeu +aeu +aeU +aeU +aeU +ccG +ckk +aaa +aaa +ckk +ckY +ckk +aaa +aaa +ckk +ccG +aaa +aaa +aeo +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(46,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aaQ +acm +ctw +ctw +ctw +ctw +ctw +cjl +ctw +ctw +ctw +ctw +ctw +aeU +aeU +aeU +aeU +aai +aeU +aUz +aeU +aeU +acm +aaa +aeU +aeu +aeu +aeu +aeu +bRy +aeu +aeu +aeu +aUG +aaa +aaa +aaa +aUG +aeu +amA +boL +bpP +bru +bte +cni +bxz +ajd +bAd +aer +bzO +bDi +adh +bEU +cuT +cod +crp +cvn +aav +bmQ +bTQ +bLH +bNi +bPa +caX +cJG +hNk +aeu +aeU +aUz +aeU +cnt +cnt +cnt +cnt +cnt +cnQ +ckY +cnQ +cnt +cnt +cnt +cnt +cnt +acm +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(47,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aaQ +acm +acm +aaa +akE +ckk +aaa +aaa +ckk +cjl +ckk +aaa +aaa +ckk +akE +aeU +aeU +aeU +aeU +aai +aeU +aeu +aeu +aeU +aeU +aaa +aaa +aeu +aeu +aeu +bQc +aDQ +aeu +aeu +aeu +cqs +aaa +aaa +aaa +bFQ +aeu +amR +amA +bzV +bEX +amA +cnr +bxA +cte +bAg +cpZ +cvq +bDj +ajd +ajd +bGm +bHa +bIl +bVB +aav +bJz +bVT +bPh +cGD +cSZ +cdi +cIN +aau +aeU +aeU +aeU +aeU +ckL +ckM +ckM +ckM +ckM +ckN +cDn +cnR +cnM +cnM +cKi +cnM +cog +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(48,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +acm +aeo +aaa +aeU +ctm +ctm +ctm +ctm +ctm +cFS +cjl +ctE +ctm +ctm +ctm +ctm +ctm +aeU +aeU +aeU +aai +aeu +aeu +aeu +aeu +aeU +aeU +aeu +aeu +aeu +aDQ +aDQ +aeu +aeu +aeu +aeu +amA +agy +crx +agy +amR +aeu +amA +boM +bpR +brx +amA +csT +csV +aer +bAh +cqa +cqj +cxk +cqu +aer +ajd +cof +ajd +ajd +hNk +btd +bVV +bMe +bNH +bTu +ciF +cIQ +hNk +aeu +aUz +aeU +aeU +cnw +cnw +cnw +cnw +cnw +cnQ +ckY +cnQ +cnw +cnw +cnw +cnw +cnw +acm +acm +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaB +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(49,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaB +aaa +aaa +aaa +aaa +aaQ +aaa +aeo +aaa +aeU +aFT +aJb +aJb +aJb +aJb +bJD +cDj +ckB +ckq +ckq +ckq +ckq +ckK +aeU +aeU +aeU +alm +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aDQ +aDQ +aeu +aeu +aeu +amR +beT +cnL +bfb +amA +amR +amA +boN +bpS +bry +amR +cnL +cuB +ajd +akh +cqc +aer +ajd +bOt +bzO +ajd +bHc +bIo +ajd +hNk +bLN +bMQ +bPk +bRa +bSR +bTF +bVm +hNk +aeu +aeu +coy +aeU +aeU +ccG +ckk +aaa +aaa +ckk +ckY +ckk +aaa +aaa +ckk +ccG +aeU +aaa +aeo +aeo +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(50,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aaQ +aeU +aeU +ctw +ctw +ctw +ctw +ctw +ctE +cjl +ctE +ctw +ctw +ctw +ctw +ctw +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aDQ +bKl +bQq +bQb +aDQ +aeu +aeu +amA +csr +cGB +csr +amR +bkX +amA +aEw +cum +amA +amA +ctb +csU +aer +cry +bBm +bCh +cqq +bDL +bEW +cnI +bHd +bIp +aav +aav +bti +cZm +cCp +cPa +abp +cCp +cIS +aav +aeu +aeu +aeU +aeU +aeU +cnt +cnt +cnt +cnt +cnt +ckP +cnt +cnt +cnt +cnt +cnt +aeU +aaa +aeo +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(51,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +acm +alm +aeU +aeU +aeU +akE +ckk +aaa +aaa +ckk +cjl +ckk +aaa +aaa +ckk +akE +aeU +aeU +aUz +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +bKl +aDQ +aDQ +aDQ +aDQ +aDQ +aeu +aeu +amR +beX +crP +bhS +csp +bla +cte +crg +bpY +brC +bot +ctt +cqn +ajd +cpO +bBs +bCi +cqr +bDM +czW +aer +bHh +bIr +aav +bKu +bLQ +cZm +bPl +bRb +cZm +bTH +bVp +aav +aeu +aeu +aeU +aUz +aeU +ckL +ckM +ckM +ckM +ckM +ckX +cnM +cnM +cnM +cnM +cog +aeU +aaa +acm +aaa +acm +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(52,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aUz +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +aaa +aeu +aeU +aeU +aeU +ctm +ctm +ctm +ctm +ctm +cao +ctm +ctm +ctm +ctm +ctm +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aDQ +aDQ +aTd +bKl +aDQ +aDQ +aeu +aeu +amA +bos +crP +cuB +bjq +cpX +amR +amA +amA +bzY +amR +cpX +cqo +ajd +aer +ajd +ajd +aer +bPr +ajd +ajd +ajd +ajd +hNk +bKv +bLX +eQS +bPm +bRe +eQS +bTI +bVr +aav +aeu +aeu +aeu +aeU +aeU +cnw +cnw +cnw +cnw +cnw +ckY +cnw +cnw +cnw +cnw +cnw +aeU +aUz +acm +acm +aeo +acm +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(53,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +alm +aeu +aeu +aof +aUz +aeU +aFT +aJb +aJb +aJb +aJb +cap +ckq +ckq +ckq +ckq +ckK +aeU +aeU +kSc +cwp +cwp +cwp +cwp +cwp +aeu +aeu +aeu +aeu +aeu +aDQ +bQb +aDQ +aDQ +amA +amR +amA +amA +amA +cqT +cGL +amA +amA +cpX +amA +bpZ +brK +amA +amA +cqo +bAq +bAk +aer +bCj +bDk +bDQ +bEY +ajd +aeu +aeu +aav +hNk +bJB +abp +abp +cQP +abp +abp +cJe +aav +abp +abp +aeu +aeU +aeU +aeU +aeU +aeU +aeU +aeU +ckY +aeU +aeU +aeU +aeU +aeU +aeU +aeU +acm +aaa +aeo +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(54,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeU +ctw +ctw +ctw +ctw +ctw +cjl +ctw +ctw +ctw +ctw +ctw +aeU +cwq +cxt +iLn +pNP +qyG +jUj +cwp +aeu +aeu +aeu +aeu +aeu +aeu +aDQ +aDQ +aVO +amA +baf +cuR +bdZ +amA +bgA +cux +bjr +bpc +crQ +amA +bwg +ctj +ctl +amA +cqC +cra +bAr +adh +bCm +coK +bRB +cjd +coA +bHi +aeu +aeu +aav +bMb +bMS +bPu +bRl +bSS +bTK +bVs +hNk +bXG +cZm +bZG +aeU +aeU +aeU +aeU +aeU +aeU +aeU +ckY +aeU +aeU +coy +aeU +aeU +aeU +aeU +aeU +aaa +aeo +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(55,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aap +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aeU +cjl +aeU +aeU +aeU +aeU +aeU +cwq +cwq +esR +kIJ +cxc +tCi +grW +cwq +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aDQ +aWa +cif +bar +crA +beb +cst +cth +cuh +crV +cuu +cuw +amA +awD +awD +awD +awD +awD +awD +awD +awD +bCt +cou +bzO +clC +coA +bHj +adf +aeu +hNk +bJF +bJN +cuS +cRk +bST +bTM +bVw +cTF +bXH +cUD +bZP +aeU +coy +aeU +aeU +aeU +aeU +aeU +ckP +aeU +aeU +aeU +aeU +aeu +aeu +aeU +aeU +aeU +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(56,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aUz +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +coy +aeU +aeU +cjl +aeU +aeU +aeU +aeU +aeu +cwq +udQ +xTT +swG +xqv +jUZ +jhM +cwq +amA +amA +amR +amA +amA +aeu +aeu +aeu +aWd +amR +amA +amA +cnL +cpX +amA +bhU +aEw +bxq +cux +cnL +awD +agp +bHg +bHg +cEZ +bHg +bMq +awD +bCu +bJW +bJX +cnn +coA +bHo +aeE +agK +hNk +bLj +bYc +cDG +aaG +aez +cIj +aeB +wQL +aez +aez +cko +cko +cko +aeU +aeU +aeU +aeU +aeU +chU +aeU +aUz +aeU +aeu +aeu +aeu +aeu +ckn +aeu +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(57,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +bVv +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aUz +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +coy +aeU +cao +aeU +aeU +aeu +aeu +aeu +cwq +kul +eOu +cxe +xTw +aAJ +xTw +cwp +cAB +cvj +cwW +cyF +amR +aeu +aeu +aeu +aeu +aeu +aeu +amA +crN +bfb +cyv +cnL +bjw +bld +bmL +crP +cnJ +brL +bth +bvm +bvm +bvm +bAx +atk +bCy +bDl +bDT +bFe +aer +aeu +aeF +bJm +aau +bMz +bYl +cDI +cRB +aez +bTT +bVy +bWB +cTG +cTI +acm +acK +cko +aeU +aUz +aeU +aeU +cnS +clx +cnS +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aUz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(58,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeu +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aqp +aeU +aeu +aeu +aeu +aeu +cwq +cwp +iMb +cxc +cxc +cwG +cdx +cwq +cgm +amZ +cvs +cvz +amA +amR +amA +amA +amR +amA +amA +amA +aPS +aEw +amA +cnL +amA +cGM +awD +awD +awD +aQU +btm +aQU +aQU +btm +aQU +awD +awD +awD +bYR +aer +ajd +aeu +aeu +bJm +aau +bNj +bYr +cDJ +cSS +aez +bTW +cIf +bWC +cTG +cnU +aaQ +acK +cko +aeU +aeU +aeu +aeu +cnS +chY +cnS +aeu +aeu +aeu +aeu +aeu +aeu +ckn +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(59,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aUz +aeU +ctH +ctS +ctH +aeu +aeu +aeu +aeu +aeu +cwq +hgW +lKu +leX +aFG +aHR +cwp +aKM +aMv +aOr +cvA +amA +aRK +aHt +aUq +aWf +crv +cAg +crS +cnL +csj +amA +cfL +amR +crj +awD +bJv +bJv +bJv +bJv +bJv +bJv +bJv +bJv +bJv +bJv +awD +caB +bFf +ajd +aeu +add +afI +aav +abp +bYT +cDK +abp +aez +ahb +bVz +bXh +aez +aez +cJx +ajd +bNe +bNe +bNe +ajd +cnN +cnN +clH +cnN +cnN +aeu +aeu +aeu +aeu +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(60,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aUz +aap +aeu +aeu +aeu +aeu +aeu +aeU +ctH +aqr +ctH +aeu +aeu +aeu +aeu +aeu +cwp +cwp +cwq +cwq +cwy +cwJ +cwp +cve +cvl +amA +cvB +amA +aRL +bxp +aUr +aWi +cpI +amA +bcB +bec +csk +cso +aaO +csr +csU +aQU +bJv +bJv +bJv +bJv +bJv +bJv +bJv +bJv +bJv +bJv +aQU +caB +bSv +coA +bHi +aDQ +amb +asO +bRD +coH +bPA +abp +afd +bTX +bVC +bWo +bXM +cSW +ajd +ajd +cbF +bMX +cdO +bNk +cnN +cgL +cia +cjk +cnN +aeu +aeU +aeU +aeU +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(61,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aUz +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +bVv +aeU +aeU +cui +aeU +aeU +aeU +aap +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +ctA +ctB +ctV +ctB +ctB +aeu +aeu +aeu +aeu +aeu +aeu +aeu +cwp +aFX +aHW +amR +aKO +aMx +aOs +aPL +amA +aRR +amR +amA +cre +cqb +amR +bcC +bed +csk +cso +abJ +csr +csV +aQU +bJv +bJv +bJv +bJv +bJv +bJv +bJv +bJv +bJv +bJv +aQU +caB +azs +coA +bHp +afh +bJu +aau +bRI +coI +bPD +cSV +bSU +bTY +bVD +bWD +bXI +cSW +bZS +ccL +cbO +ccI +cdP +bNl +cnN +cgM +clK +cjn +cnP +aeU +aaa +aaa +aaa +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(62,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aUz +aap +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aUz +aeU +aeu +aeu +aeu +aeu +aeu +aeu +ctB +aps +aqs +arQ +ctA +aeu +aeu +cwp +cwq +cwp +cwq +cwp +cwp +aFZ +aKb +amA +aKR +cop +cwB +aPM +cuZ +cnh +cnr +aUs +aWn +aYz +crE +bcE +bee +csk +cso +bKl +csr +crj +aQU +bJv +bJv +bJv +bJv +bJv +bJv +bJv +bJv +bJv +bJv +aQU +caV +bSB +coA +bHq +afI +aeu +aav +bRK +cig +bPE +cST +afg +bUb +bVM +bWE +bXK +cSW +bZT +ajd +ajd +col +cdQ +ajd +cnN +cgO +cib +cjp +cnP +aUz +acm +acm +acm +acm +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(63,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aap +aeU +aeU +aeu +aeu +aeu +aeu +aeu +ctA +apu +avZ +arS +ctB +aeu +aeu +cwp +aOg +aZA +aBk +azi +cwf +aGd +aqJ +adL +aKS +cvv +cwV +aPN +amA +aRT +cqU +cuX +cqV +aYA +amA +crW +csg +csl +amR +cfL +amA +csV +awD +bJv +bJv +bJv +bJv +bJv +bJv +bJv +bJv +bJv +bJv +awD +caB +bFi +ajd +aeu +afO +aeu +aav +bMh +bMT +bPM +cSU +afK +ahd +bNI +cSW +cSW +cSW +bMR +bWK +ajd +bNB +ajT +ajd +cnP +cnX +clO +cnP +cnP +aeU +coy +aaa +aaa +aaa +aaQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(64,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aUz +aeu +aeu +cwp +cwq +cwp +ctC +apz +aqF +arT +ctD +cwp +cwp +cwp +aPJ +bbR +aBl +aCH +cwh +aGg +cwy +amR +aKV +cvp +cvx +cvF +amR +crr +bxq +crq +aVz +cnr +amR +amR +amA +amR +amA +bhZ +amA +cGN +awD +awD +aQU +aQU +btn +aQU +aQU +btn +aQU +aQU +awD +awD +ccc +ajd +ajd +aeu +agJ +amv +aav +aav +adl +aec +aav +cSW +cSW +cSW +cSW +bTL +bBG +czZ +bBG +cbQ +ccJ +cdR +bNp +cgl +cgP +cic +ajd +aeu +aeu +aeU +aaa +aaa +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(65,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeu +aeu +aaa +aaa +aeU +aeU +aeU +aeu +aeU +aUz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aUz +aeu +aeu +aeu +aeu +aeu +aeu +aeu +cwp +cvY +cxd +ctD +ctC +cua +cun +ctC +apU +asR +cwq +aQz +beo +aBn +cvZ +aSf +aGi +aHX +amA +amA +amR +amA +amA +amA +cnh +aRP +aTk +crr +crN +crP +cnL +csh +crN +crH +bia +csx +ble +cnL +awD +bLd +brS +btq +bvw +bxC +btq +bAz +bLU +awD +bDn +caB +bFk +aer +aeu +aeu +amb +add +aav +auW +beV +aav +bBG +cTp +bVN +bSO +bUd +cyc +cyD +caZ +cbS +ccK +bBG +bNm +cgn +clq +bzO +ajd +ajd +ajd +anZ +cmt +cko +cko +bUG +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(66,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +cwq +cwY +cxe +cyd +cxt +aqI +arU +cyu +cxS +aKb +cwq +cwy +cwp +cti +cwq +cxy +cwt +aHZ +aNB +aKX +aMz +aOt +aPO +cuJ +cqf +cuJ +aUv +aWo +aYD +crg +bcF +bxp +bfc +bgH +bib +bxp +csU +llm +awD +aVb +aYX +bxo +bxU +bzQ +bzR +bER +bFN +awD +ajd +cdG +cus +ajd +ajd +aer +cCe +ajd +ajd +bMU +bPP +bSO +bSW +bUd +bVO +agS +agS +agS +aey +agS +byu +agS +agS +agS +agS +clr +cid +akj +ckC +agy +aaa +aaa +aaa +cko +acK +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(67,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +cwp +cvX +bGQ +cwF +cwQ +aqJ +cxK +cwp +cye +aNk +anP +aut +auO +aBo +aCI +aET +aHY +aIc +aPc +aPc +aPc +aSo +aPc +aPc +aPc +aOZ +aOZ +bMV +aOZ +aOZ +crj +amR +amA +amA +amR +amA +cFW +wDP +bKD +bLg +bLm +btr +bvx +bvx +byL +bLR +bBu +bMd +bDo +cej +bJw +bSV +bKK +bzO +cpT +bKx +bSO +cyc +bPQ +ajd +aWI +bsD +aWI +agS +ahe +bYJ +ahY +cbb +cbT +ccM +cDr +ajR +agS +cgQ +bBG +crD +ckD +agG +aaa +aaa +aaa +cGA +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(68,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aap +aeU +aeU +aUz +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +cwp +cwq +cwp +cwg +cwp +cwp +aqK +ahE +cwp +cxt +cxy +aot +awe +cyl +aPA +aPA +aPA +aPA +aPA +aPc +aON +aMC +aOu +aPP +aQn +aRU +aPC +aUw +aWq +aYE +aOZ +crk +crg +bot +crF +cnr +crQ +cuB +awD +bKH +bLb +bLm +btu +bLW +bLC +byO +bGB +bBw +bHG +bDs +bDU +bFm +ajT +bKM +bMf +bOn +bFm +agX +aUQ +bZi +agX +bSX +bUe +bVP +agS +aMK +bYK +ahZ +aiL +aiL +aiL +cDB +ajS +bOO +bBG +cie +akj +bBG +agy +aaa +aaa +aaa +cko +acK +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(69,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +cui +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aUz +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +cwp +aol +ade +cwo +cxr +apC +cxD +aha +aiE +auO +axy +ayF +awQ +aPA +aPA +aBs +aEb +aPB +aId +aOZ +aKY +aOO +aQv +aUU +aRD +aRV +bwI +aUE +aSQ +aPW +aOZ +crP +cpX +amR +crM +bot +aYD +bln +cnJ +bLa +bLh +bLO +btv +bLV +bMa +byR +bGI +bBx +awD +afm +adW +akh +agX +agX +agX +agX +agX +agX +adV +bZo +agX +agX +agX +agX +agS +aog +bYL +aia +cBu +aiG +cyK +cDB +cfb +agS +ajd +ajx +ajx +ajx +ajx +anZ +cmt +cko +cko +bUG +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(70,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bUG +bVu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +cwp +avl +cxa +cxc +cxf +apE +aar +ahl +aNG +aNG +ajY +aNG +aNG +aPA +aLc +aaN +aEc +aGm +aIi +aND +aLa +aOQ +aSU +aVy +aYb +aRW +aPC +aUF +aTa +aOZ +aOZ +csc +aQN +aQN +amA +amA +cnJ +cni +awD +bKN +bLg +bLm +bty +bvz +bxE +byS +bGI +bMg +wDP +bDt +bDV +bFn +aah +bHr +aeI +aaT +bWp +bMk +bMY +bPR +bRn +agc +anL +bVQ +agP +ahf +bYN +aix +ajc +aiH +amS +cDB +ajV +avM +cgS +ccv +cjq +amd +aif +aUz +aaa +aaa +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(71,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +cwq +aUb +cxb +cxn +cxf +apE +cxN +aht +aNG +auR +axA +ayH +azF +afD +aWj +adK +aOX +aPp +aIk +ahc +aLb +aQq +aQT +aRg +aYo +aQH +aPC +aPI +aSA +aOZ +bas +bcG +bef +aQN +csG +bid +bjx +csQ +wDP +bKn +bLc +bMi +bLP +bHx +bLT +bEK +bGT +bMx +wDP +afz +adZ +ajd +aef +bHs +aaA +agq +bWs +abO +adn +aej +aeY +afn +aeY +aeY +ahg +bXO +bYO +aic +aiY +aiI +amS +cDD +cHw +cgo +cgT +bIv +cjr +amd +aif +aaa +aaa +aaa +aaa +aeo +aaa +aaa +aaa +aaB +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(72,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aap +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aUz +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +cwp +cvX +cwT +cxo +cwp +apF +aqP +asb +aNG +aOa +akd +aOC +aOm +abl +abm +agj +aPb +aPq +aPV +aOZ +aPF +aPR +aOv +aSO +aUt +aQI +aQI +aQI +aQI +aQI +bat +bcK +beg +aQN +aqu +bif +bjz +csR +wDP +wDP +bLo +bLp +btz +bvC +bxN +byU +bAA +bMj +awD +csN +bDW +bFo +uda +aef +lVk +aef +aef +bXm +ado +afC +afE +ahn +ahu +afE +aFl +bXP +cwx +aib +ajc +aiJ +amS +cKm +agS +cmP +aUe +cmP +cmP +cmP +cmP +acm +acm +acm +acm +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(73,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +cwp +cwq +cwp +cwp +cwq +cwq +cwp +cwp +cwq +cwy +ahR +aNG +aOb +akg +aOE +aOq +abl +abo +agk +agI +agL +abl +ahc +aPx +aPx +aOZ +aPU +aQG +aQJ +aCs +aLd +baT +aQI +bau +bcN +aUu +aQN +amA +csr +csM +amA +amA +awD +awD +awD +awD +bIH +bLJ +bEP +awD +awD +awD +csS +cBI +bFp +aah +bHt +aeI +aaT +bWu +abY +adp +ael +aaT +aef +aef +aef +agS +bXQ +cwK +aib +aiy +aiK +ajf +cKn +agS +cgp +cgX +cij +alJ +ame +cmP +cmP +aaa +aaa +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(74,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +cwp +cwq +cyL +aiV +cyY +adv +alw +czo +cwq +cwp +aqT +asc +aNG +avf +axC +ayI +azG +afD +aQA +agl +aRd +aOR +abl +aSW +aLi +aLi +aOW +aWp +aNr +aQI +aKy +aTs +aVL +aQI +bay +bcO +bei +aVB +aSG +add +acR +aeF +aaO +aDQ +bvW +bJt +ais +bvD +bxO +byW +alZ +bKT +cBX +cBv +cBy +bFp +aah +bHu +aff +ags +bWs +abO +bMZ +aef +bRo +aet +agd +bVR +anw +ahj +cwK +aib +aiz +ajo +cHY +cKo +agU +cgr +akR +alp +alp +amC +bkU +cmP +aeU +aaa +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(75,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +cwp +abu +cyM +aiW +cyZ +czl +alA +czp +bgN +cwp +aeb +ail +aDB +aWm +aNx +bxb +aNx +aPA +abl +agH +abl +afD +afD +aSa +aLj +aMD +aOw +aQa +aQK +aQJ +aQQ +aTI +aVV +aQI +baA +bcP +bej +bjs +aSG +aaO +acR +aDQ +bKl +add +brD +brD +brD +bvG +bKF +byX +brD +bLn +brD +cBw +csN +cBR +uda +aef +bJC +aef +aef +bXp +bNa +aCv +bRw +cnB +cnB +bVS +aFu +ahk +cwL +cza +cHA +cbV +ccN +cdT +agS +cgs +akS +ckx +alK +amf +amD +anA +aeU +aeU +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(76,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aUz +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +cwq +cwp +ahJ +air +ajg +bES +czq +alC +amt +bgS +cwq +aqU +aDB +aDB +aOl +aPe +ayJ +azJ +aNx +aNR +aOj +aOp +aPE +aNQ +aJu +aQF +aRt +aSz +aIf +aRS +aQJ +aTc +aUL +aWr +uWo +whw +bxr +aQN +aQN +aTx +aUJ +csO +afe +acZ +adf +bBO +cIr +aiB +bvN +bKX +byY +aon +bKU +cBY +cBx +cBv +bFp +aah +bHw +aeI +aaT +bWv +abY +adp +aaT +bRC +akT +anM +bVU +agP +bXR +bYP +bZU +agS +agS +cIa +btJ +agS +cmP +alo +anl +alL +awm +amE +anA +aeU +aUz +aeU +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(77,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aap +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +cwq +cyE +ahL +cyO +ajh +ajs +akI +alH +czr +ans +czK +aqW +aDB +atm +avg +axG +ayM +aNS +aNG +aOe +aCK +aEl +aGn +aen +aHG +aHG +aHG +aHG +aIh +aQM +aQI +aQJ +aQf +aQJ +uWo +baB +bcS +bek +aVs +aTx +bqA +bjA +afe +aUJ +aUJ +afe +brD +bLn +bvO +bKF +bza +brD +brD +brD +cBy +cBI +bFp +aah +bHu +aaC +aaW +bWs +abO +bNb +aef +aef +aef +aef +aef +agS +agP +bCv +agP +agS +cbW +ccO +cdU +cfj +akx +akS +cmm +alM +amf +amF +anA +aeU +aeU +aeu +cke +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(78,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +cwp +crB +ahM +cyP +cyV +cyV +cyV +cyV +czs +ant +cwy +aqY +aDB +aNJ +aqo +aMd +aqA +azK +aNG +aOd +aCL +aPh +aGp +aNW +aJv +aQk +aSE +aQy +aWt +aQR +beB +aTg +aUN +aTg +aky +baI +aUK +aUR +aUA +aTx +avP +bjB +aoV +bmY +aVE +afe +bLk +bEO +bKG +bzs +bzf +aoG +bKV +cBZ +csN +cBw +cBT +aef +aef +lVk +uda +aef +ani +anm +aef +bRG +aEz +cBn +ahr +agV +bXS +bYQ +bXU +aKZ +cbZ +cIG +cKp +cfl +cKC +cha +cKG +alt +amo +amG +agO +aeU +aeU +aeU +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(79,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +cwq +cyC +ahN +aiu +aji +ajy +akJ +ajy +amu +anu +czL +aqZ +aDB +ato +avi +axK +ayN +azL +acG +aBp +aCM +aPi +aGr +aeP +aJw +aQl +aQB +aQB +aWA +aQS +beF +aTj +bdj +aWu +akF +baN +bfD +bic +aUB +aTx +aoV +bxK +aoV +bnd +aVh +afe +brY +btD +bvP +bxQ +bzg +bLu +bLu +bIV +bIV +csS +bFp +aah +bHz +aaS +aaT +bKy +abY +bNd +aDd +bRJ +cnZ +cpw +crL +crY +akm +ahP +bYm +ama +cca +cIP +bzw +cfm +akz +chb +cik +cjz +ckF +amH +cmP +aeu +aeU +aeU +aeU +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(80,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +cwp +cwq +cvy +aUW +czD +czg +czc +czc +czC +any +cwp +arb +aDB +aDB +aOx +aPu +ayP +azO +aNx +aBq +aCP +aEo +aGt +nSz +aJB +aQo +aTO +aOz +aQc +aQX +aQb +aTo +aUO +aWE +akP +baO +bcT +bel +bfg +aTx +arZ +aUX +aoV +bxV +aoV +afe +bLu +bFb +akv +bzZ +bKL +bLu +bJQ +bKc +bKk +cBv +bFp +aah +bHA +aaA +abc +bWs +abO +aeQ +aei +bRM +coF +cqg +ajw +agV +bXT +bYS +bYm +ama +aiQ +cIP +alG +aka +aka +aka +aka +cDS +aka +aka +aka +aeu +aeu +aeU +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(81,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +cwp +cwq +czz +cyX +acQ +cvb +czn +czu +cwp +cwq +afp +aiM +asi +asi +asi +aVj +asi +aNH +aVH +aNO +aso +qtS +qtS +aQd +aQC +aNn +aQb +aNm +aQb +aNn +aQV +bdq +aRn +aQW +aQW +bAN +bip +aPf +afe +aUC +bjC +blo +bne +aVR +afe +bsa +btR +bvV +bxR +bzh +aoL +bJU +bUa +bKk +csS +cCa +uda +uda +bJC +aef +aef +bXq +afj +afs +bWr +coN +cqh +bVW +uda +ayi +aJr +ayi +aaj +anN +cIZ +amI +aka +akV +azo +alv +alP +aEX +aCF +anG +aeu +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(82,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aUz +aeU +aeU +aeU +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +cwp +cwp +cwq +cwq +cwp +cwp +cxt +cwp +cyI +afv +ase +cAf +aVY +aWe +ayR +azP +aNL +aNv +aCQ +aEs +aJU +aNO +aJC +aQo +aQb +aOA +aQe +aQZ +aSX +aTp +aUS +aWF +aWT +baR +bAN +bem +bfh +aUP +aTl +bjD +aVg +bnf +agm +atK +bIX +bFA +bJs +bAi +bzi +bIV +bIV +bIV +bLu +cBI +bFp +aah +bHC +aaS +aaT +bWG +aft +afk +aei +anv +coU +cqA +bVX +aFv +bXU +ahP +bYm +ama +aiS +cIP +cdX +aka +akC +chc +cil +cil +ckG +amJ +aka +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(83,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aaa +aaa +aeU +aeU +aeU +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +alm +aeu +aeu +aeu +aeu +aeu +cwp +alI +amx +anz +cCN +afx +asj +aja +avk +ayd +ayT +aWv +aNL +aBt +aCW +aEt +aGC +aNL +cJJ +cJJ +aNn +cDz +aRH +aSd +aNn +aSi +aTV +aWy +bae +baZ +aQu +beq +bfi +aLh +bih +bjE +blp +bng +aUy +afe +bIY +bGp +bJn +bAy +bzn +bIV +bJS +bKd +cBW +cBv +bFp +aah +bHA +aff +aiZ +bWs +abO +afl +uda +avt +bSZ +bUk +bVY +agV +bXW +aii +bYm +ama +aiT +cIP +cea +bPI +cgt +chd +alx +aCz +ckT +bdK +aka +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(84,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +aUz +aeU +aeu +aeu +aeu +cwp +cwp +bqZ +cxI +cwp +afY +asp +aNu +aVZ +aWg +ayX +aWw +aNL +aVK +aCX +aFt +aGF +aNL +aYB +aYB +aNn +acT +avH +aWl +aNn +aQW +aUV +aTw +aTF +bbe +bAN +aTD +aVD +bAN +agR +cuH +aUD +aVA +aVW +iZo +gxY +bGp +bJo +bAL +bzh +apV +bJZ +bKe +cBW +cBy +cCb +uda +aef +lVk +uda +uda +bXr +bNq +aef +aeX +aeX +chJ +aeX +aef +bXY +ahP +bZV +aaj +ccb +cJs +ceb +cDH +cgv +che +aly +alS +ckT +amM +aka +aeu +aeu +aeu +cke +cxE +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(85,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bUG +bVu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aUz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaQ +aaa +aaa +aaa +aeU +aeu +aeu +abP +amB +anC +aWG +aWG +aWG +aNu +aWb +aWh +ayZ +aWz +aNL +aNL +aDa +aFx +aGH +aME +aJD +aSY +aMH +aSY +aSY +aYC +aSb +aNZ +aUY +aWH +aYI +bbf +bAN +bAN +aoQ +bAN +ajm +blX +afe +afe +afe +jRw +bIV +bGA +bJp +bAQ +bIV +bLu +bIV +bKf +bIV +csN +bFq +aah +bHD +aaS +aaT +bWI +acf +bNr +avx +bRN +bRN +bUp +bRN +aFD +bXZ +ahQ +bXU +aKZ +ccd +cIP +cee +aka +aye +chg +cim +cjA +ckV +anV +aka +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(86,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaB +aaa +aaa +acm +aaa +aaa +aaa +aaa +aaa +acK +cyA +cuQ +cxY +cyA +are +asr +aNu +avu +ayh +azj +auV +aAq +ayc +aDb +aPn +aGI +aPX +aJN +aQr +aQD +cgN +aQk +aYF +aSc +aRn +aRG +aRN +aYJ +aTW +bgE +bAN +bfj +bgL +bii +bjG +bpp +bnk +boO +byZ +bsd +bGE +bJq +bBb +bzh +arf +bKb +bKg +bLu +cBw +bFq +aah +bHu +aff +abr +bWN +bMl +bNE +avJ +bRO +afE +bUr +bWa +cpR +bYa +cyh +bZX +cHB +ccf +ccQ +ceg +amN +akG +bIS +cio +cio +aFh +anF +aka +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(87,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aaa +aaa +aaa +aaa +acK +brp +amT +anE +brp +arg +asz +aNu +aWc +aWk +azl +avs +aAr +aNu +aDf +aNI +aVT +aVU +aaE +aQs +aRf +aTA +aVx +aRe +aSl +aza +aSw +aRO +aYL +aTX +bhT +aoQ +aTh +aTi +bmC +bpa +bpO +bnn +boP +boP +boP +bJi +bJr +bBh +bzp +bIV +bJY +bKh +bIV +afz +ayy +agX +agX +agX +agX +aef +acH +aBH +aef +aef +acH +aEW +aef +aef +bYb +bYU +bZY +aaj +ama +amc +aFj +aka +aka +amN +aWK +cih +aka +aka +aka +aeu +aeu +aeu +cke +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(88,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaQ +aeU +aUz +aeU +aeu +aeu +aeu +adQ +cAI +cAU +aWG +btg +aTb +aNu +aNu +aNu +azn +azQ +aAs +aNu +aNL +aNL +aNL +aNL +aSx +aQt +aQr +aVu +aRC +aRZ +aSR +aWx +aVv +aYu +bdr +aUx +biK +bAN +aTi +bgO +bij +rbM +eKa +bnp +bvc +bvc +bvc +jiS +bKC +bAy +bzu +bIV +bLu +bIV +bIV +bEa +bFr +bBI +bHH +bVq +agX +ash +bMn +bNG +bPT +aef +bTa +bUy +bWb +aef +aGE +ahU +czS +aaj +alz +ccS +ceh +cnm +cgy +cBo +ccS +cjD +bFK +aaf +aeu +aeu +aUz +aeU +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(89,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +alm +aeu +aWG +aWG +aWG +bsm +aWG +aWG +cAN +anI +aWG +ari +asC +atz +btp +aWG +btA +aVn +btA +btA +aVr +bxh +btA +btA +aSy +aLm +aQt +aOB +aQg +aSN +aNn +aQW +aWx +aQW +aSg +aAc +aSg +bAN +aPf +aPf +bAN +bAN +bAN +bnr +boR +aMF +bIZ +btS +bwa +bxS +arj +bzy +bKj +cxw +bIV +ajd +aer +afm +bNo +bVt +agX +alR +acO +bLz +aeH +aef +anj +ano +agY +aef +bpX +byA +bzF +afc +apH +ccV +cek +cfn +cgA +chl +cit +cKf +amw +aae +aeU +aeU +aeU +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(90,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +bsm +acE +cgY +cAi +akU +aWG +cAP +cCU +aWG +arm +btf +btk +avD +aWG +azp +azR +aAt +atw +bxB +bwY +byc +btA +aEB +aEB +aIQ +cFJ +aEB +cFK +boC +acC +biG +boC +aYP +bbg +bcU +bmB +bpt +bjK +bpM +umD +bAN +pFw +bJk +bJk +bIV +ccW +bJk +cec +bIV +cbr +cxv +cxv +bIV +afB +cou +bEI +bTB +cyy +agX +abH +aAN +bLB +afH +aef +afR +agr +aju +aef +bYj +bYV +caa +aiD +asv +ccZ +cDF +cHx +cHx +cJq +cHx +cKg +bFL +aaf +akK +anh +bwu +acm +bUG +aaa +aaa +aaa +aaa +aaa +bUG +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(91,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aWG +aNs +bAD +cAj +akY +cAD +amW +alW +cBe +aro +btj +aje +avE +akH +azq +awl +asM +bwZ +bxP +bwZ +aGJ +byd +aJQ +aLn +aMN +aOD +aiU +aYx +aSe +aYx +bev +bil +bjY +blP +bnt +bjY +bpI +bjL +bxG +bxG +blv +bnu +boU +bfS +bss +btV +bZH +bxW +bzx +bKq +bKq +bKq +bIV +bEb +bSG +bBG +col +bzO +agX +abI +adi +bLz +aeJ +aef +afS +ain +apr +agX +aHp +ahX +czV +aaf +awk +cda +ajQ +auD +akQ +cLz +alE +cnq +amO +amO +bgc +bFH +anh +anh +bVn +aaa +aaa +aaa +aaa +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(92,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +bsm +aWG +czG +cAk +akZ +cAp +cAN +anJ +aWG +arp +bts +atJ +avG +aWG +azr +awA +axi +ayf +aCp +ayf +aGL +aMX +aJR +aOP +aAO +anY +aHq +aYM +aST +aYM +bie +aYM +aYM +aYM +aYM +aYM +bqN +bjN +bmJ +bmJ +bqp +bri +bmJ +bfX +bst +bvQ +bwF +bBS +bKa +cll +bZH +chi +boC +anR +ajd +bTc +cwM +cyB +agX +bKz +bMo +bNJ +agX +agX +agX +agX +agX +agX +bBr +bYZ +cab +aaf +aaf +aaf +aaf +aaf +aaf +bIn +aaf +aaf +amO +bGD +bIa +bTJ +bGL +cpG +cxs +aaa +aaa +aaa +aaa +aaa +acm +aaa +aaQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(93,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +bsm +bsm +aWG +aWG +aWG +cAN +acL +aWG +bsZ +aWG +aWG +avY +bsm +beG +bwC +bxe +bwY +bxY +bwY +aGM +bxJ +ahF +aOS +aBN +aOF +bdU +byf +aTN +aTr +aUZ +aWN +byf +bmX +bcV +bes +bfk +bgT +byf +bBg +blw +bnw +boX +bgh +bsu +btW +bxd +bBW +aYM +aYM +aYM +cbx +bDu +bEc +ajd +ajd +cwO +cyW +agX +agX +acc +agX +agX +bmz +bBq +arq +bEo +bEF +bGX +bBf +aKC +all +alX +aHO +aJa +cfo +awS +chn +aKt +anh +aFy +amQ +bIk +bUq +anh +anh +anh +aaa +aaa +aaa +aaa +aaa +acm +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(94,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +adH +aea +cAs +adH +abN +czP +cDE +aWG +bta +btC +atL +avK +xBI +aob +azS +aAu +bwZ +bwN +bwZ +bxF +bxJ +ahF +aOS +aJi +aOG +btE +btK +btF +btE +aPK +aLU +btE +cJc +buC +aRF +aSP +buC +buE +buC +buE +bvy +buE +buC +brg +boC +bwf +byg +cbs +cbs +cbt +aYM +aYM +cbG +aov +ajd +ajd +cwM +czt +ajT +bBG +bNL +ajd +bRP +bBr +cdj +bBf +bEG +bBf +bBf +bVa +cHC +cHS +cHC +aKN +cfp +baF +cho +bFw +aZR +clc +clX +cmc +cnv +akK +acm +bUG +aaa +aaa +aaa +aaa +aaa +bUG +acm +aeo +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(95,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +adH +ajj +ajz +adQ +cAF +cAd +adH +aWG +aWG +aWG +bvT +avL +bsm +btA +cBh +btA +bxa +bxg +bxu +bwP +btA +bsx +aOS +aaJ +tEC +tEC +bvi +bub +buu +bvf +aTe +buP +buC +buW +bvn +bfv +bvU +bvu +cJc +blx +bnx +boY +buC +bsy +aoh +tqw +bCn +aoh +aoA +cbv +cbs +cbC +cbH +cbM +cbP +aer +aer +czw +bWQ +czU +bNO +cqM +bRR +cBU +cCh +cCh +cCo +bGY +bHv +bVc +cbc +cch +cdb +bIh +cfq +aDG +akK +akK +akK +cld +bGS +bIP +cnx +anh +anh +anh +aaa +aaa +aaa +aaa +aaa +acm +aaa +aeo +acm +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(96,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aUz +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +adQ +cxH +cAu +adH +adH +abX +cBc +cAF +cBg +aWG +bto +avT +aWG +azu +azV +btA +btA +bxf +bxt +bxX +btA +ahF +aOT +cfa +tEC +aTB +btT +buc +bug +bvf +bue +buv +buC +bvg +bvn +afQ +bvl +bvb +buC +blA +bAR +bJH +cJc +buK +aoh +bxk +bCq +aoR +aoA +aoA +aoA +cbD +aYM +aYM +cbM +cbw +aer +ajd +ajd +czW +cBm +aaY +aaY +bBk +bBk +aaY +aaY +bGZ +bBf +bVd +bHU +aMA +bIj +bFa +bFa +bFa +bCw +cdr +bzv +clh +bHS +bNn +cnA +bUP +cpG +cxz +bOu +aaa +aaa +aaa +aaa +acm +aaa +acm +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(97,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aUz +aeu +aeu +aeu +aeu +adH +cyz +ajA +ala +adQ +cAN +adH +cBf +adH +aWG +aWG +aTf +aWG +bwq +azW +bwR +bye +bxi +aEu +bxH +bxJ +ahF +aOS +cfa +btF +aqg +btU +buy +buJ +bvq +bvM +aTe +bbh +btM +bvL +bvX +bvZ +bvd +bjH +blB +bAS +buC +cJc +bps +aoh +aok +aoI +aoB +bsq +aoy +aoA +cbE +cbI +cbN +aYM +cbR +cbJ +ajd +bKA +bBG +aaY +aaY +ald +abU +aci +bWc +aaY +bHk +bBf +bVd +bXV +ccj +cdd +aMM +bRT +cIc +bRT +ciu +aDG +clj +bHY +bPN +cnC +anh +anh +bVn +aaa +aaa +aaa +aaa +aaa +acm +aaQ +aeo +aaa +aaQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(98,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +adQ +cAo +ajD +alb +cAG +ana +cBi +cDt +afZ +cDe +atM +anJ +btA +aij +azY +aAv +aBy +aDh +aEv +bxI +bxJ +ahF +aOU +aMQ +aOH +aPY +aYQ +buG +ann +bum +bup +aWB +buE +but +bvp +aUH +bag +bir +buC +buC +buC +buC +btw +btO +aoh +aor +aul +apm +bkp +abf +aoh +bFl +bHK +bFu +bGn +qvS +bIs +ajd +aaY +bNF +aaY +bPU +acs +bBz +acx +bWd +cpS +bYk +cpP +bVh +bHW +bNy +cdf +bFa +bFa +bFa +bFa +bFa +akK +akK +akK +akK +akK +akK +acm +bUG +aaa +aaa +aaa +aaa +aaa +bUG +aaa +aeo +acm +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaB +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(99,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aUz +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaB +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +adH +cAq +cDh +alc +cAH +cDh +anS +anJ +adH +asD +atN +awf +btA +bwr +bwJ +bwT +bxD +aAx +byb +btA +btA +acD +aOY +aMS +aOH +aYQ +aYV +buG +aoU +bun +buq +aWC +buE +buL +bvp +aUT +baw +bsM +buC +bpy +brT +buC +btL +aYO +aoh +aoq +aoP +aoS +aoX +adc +aoh +wCy +wCy +wCy +bvJ +bwc +bBj +bOU +bKB +bMp +aBJ +bPW +act +bBC +ack +bWe +bBk +bHk +bBf +cFA +axF +axF +axF +bFa +aFM +aFM +aFM +aFM +aFM +aFM +aFM +aFM +aFM +aFM +aFM +aFM +aFM +aaa +aaa +aaa +aaa +acm +aaa +aeo +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(100,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +adQ +cAr +cAy +cAC +adQ +bsf +cCI +cBc +adH +cDb +cDo +cBc +btA +bwK +btB +bwU +bxD +aAD +aEx +bxJ +aIl +ahF +aOS +cfa +btF +aRM +aYW +aZW +bbo +bbo +bbo +aWD +bbh +buM +bvr +aVw +aqv +bsQ +buU +bpG +bse +buC +btN +asF +asF +asF +akL +asF +asF +asF +asF +aos +bEd +wvq +bGq +bOP +bIt +bOU +abA +bMr +aaY +bPX +asJ +bji +acl +bCd +bBk +bHk +bBf +cHk +bFa +bGf +bRT +bFa +aFM +aGk +aDz +aDz +aFM +bIU +aDC +aVF +aFM +aDE +aMY +aMY +aFM +bUW +acm +aaQ +aeo +aeo +acm +acm +acm +acm +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(101,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +adQ +adH +adQ +adH +adH +anb +anU +apG +adQ +aoc +atO +awh +btA +bwt +bwL +bky +bxM +aBB +aEA +aAW +aIm +ahF +aPk +cfa +btE +aWL +buh +buZ +btP +buh +btP +beN +buC +buN +buM +buX +bvt +bsY +bvA +bpH +bsh +buC +boW +wvq +adu +bwk +byi +bzz +asl +asN +abG +bKW +bEh +avC +bGs +bOS +bPs +bOU +aaY +ach +aaY +bAJ +byz +bjk +acq +arr +abT +cFB +cbA +cFC +bFa +bFa +cBb +bFa +aFM +aDz +aDA +aML +aFM +aDC +aDD +aMO +aFM +aMY +bUQ +aMY +bFP +cCX +csK +aaa +acm +aaa +acm +aaa +aaa +acm +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(102,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aUz +aeu +aeu +aeU +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +adH +cCz +aoa +cCU +cCS +cDx +cDO +cAP +btA +btA +azZ +btB +aBz +aCN +aEC +bxJ +aIo +ahF +aOS +cfa +btE +aXm +vmu +bva +buj +btX +buz +btE +btE +btE +bey +btE +tEC +cJc +cJc +buC +buC +buC +bpn +wvq +aow +arB +atc +avy +asm +asw +asw +awa +jaZ +auP +bQx +bOP +bPt +bRf +aaY +aaY +aaY +aaY +aaY +aaY +bws +aaY +aaY +bHk +bBf +cac +bFa +cnz +bGG +bFa +aFM +aGU +aGV +aGW +aFM +aGX +aGY +aGZ +aFM +aHa +aHb +aHc +bUK +cjm +awu +aEh +acm +aaa +acm +aaa +aaa +aaa +aeo +acm +aeo +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(103,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +agt +aai +alm +aeu +coy +aUz +aeu +alm +acm +aaQ +aeo +aeo +aeo +acm +alm +acm +aaQ +aeo +aeo +aeo +aeo +acm +alm +aeu +aeu +aeu +aeu +aeu +aeu +adQ +cCE +cDh +cEE +cCT +cCU +cAF +cAO +cDA +qWU +btA +cCy +btA +btA +btA +btA +ago +aaZ +aOS +cfa +btH +aXp +btY +bvk +bvE +bvH +aWS +buA +bbk +bcW +beA +bfw +btE +aLl +bpf +bqr +brs +bsk +btO +wvq +asY +ask +aaV +aWO +aoT +abg +abM +awb +api +auP +bIK +bOT +bOP +bRg +bKE +ayA +bNS +bMG +bRS +bBy +bUz +bWg +axF +bYn +bBf +cae +bVo +cck +cBr +bFa +aFM +aMT +bEJ +aVP +aFM +aMT +bEJ +aVP +aFM +bwx +bEJ +bwx +bUK +csf +csL +aFI +aFI +aFI +aFI +aFI +aFI +aaa +acm +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(104,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +acm +aaa +acm +aaa +acm +aaa +acm +aaa +aaa +aeo +aaa +aaa +acm +aUz +coy +aeu +aeu +aeu +aeu +adH +cCF +cCM +cCR +bsf +ajv +adQ +cDc +cCU +cDh +cCU +cCU +aBA +aAw +aaI +aGN +cDq +aJS +aOS +cfa +btI +aXr +bua +bue +bvF +bvI +bvE +aPT +bbp +bvR +bsU +bvs +btE +aLD +bpn +asF +asF +wvq +asF +asF +asF +asu +auI +atf +auK +avW +ccR +apa +api +auP +auP +bOV +bQv +bRg +bKO +axF +bNX +bMH +bRW +aEL +bUA +bWi +aGe +bYo +bHy +cHi +bFa +aIZ +bGU +bFa +awu +brZ +acm +bGb +acm +brZ +acm +bGb +acm +bUL +acm +bUL +cBq +csi +aDk +aFI +cpy +bOq +cvd +aKs +aFI +aaa +acm +acm +acm +aaQ +aeo +aeo +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(105,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aUz +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +cmU +aeu +aeu +aeu +aeu +ceF +ceF +ceF +ceG +ceF +ceF +ceF +acm +aaa +acm +aaa +aeo +aaa +aaa +acm +aaa +aaa +acm +aaa +aaa +aeU +aUz +aeu +adH +adQ +adH +adH +adQ +adH +cCU +cDy +cDv +ati +auH +cdD +cdD +cdD +cdD +cdD +aGO +ago +aBO +aNq +aRY +elZ +btE +buf +aSh +aTt +aVa +aWW +btE +bbq +bvS +bvY +buF +btE +byy +boW +asF +aeM +bnZ +apw +bsA +asF +bwl +aoY +arh +abd +avX +avr +apc +apj +bFv +auP +bQx +bOP +bRh +tyb +iRL +cag +cbh +bRX +axF +bUB +bWj +axF +bYp +bEA +cHh +bFa +aEy +bEV +awu +bwv +bGo +bGC +bUM +bUS +bGo +bGC +bUM +bUS +cxT +bGC +cxT +cBH +cjs +aks +cKZ +cuf +cuE +cvf +aMB +aFH +aFN +cwz +aaa +acm +aaa +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(106,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +asZ +asZ +aAg +asZ +asZ +aAg +aAg +asZ +asZ +ceG +ceF +akN +aac +adr +adA +ceG +ceF +ceF +ceF +aaa +acm +aaa +aaa +aaQ +aaa +aaa +acm +aaa +aaa +acm +aeU +aeU +adQ +alN +chj +aoc +cCY +afZ +cDM +cGh +cDd +cBf +cdD +cdD +ahC +aYw +aZI +cdD +cdD +ago +aJT +aOS +aMU +aOI +btE +btE +btE +aOy +btE +tEC +tEC +bbr +aTe +aTe +bfy +btE +aLQ +bps +asF +aoo +aao +arL +bsB +ajH +bwm +aph +avz +asn +bKi +asQ +asV +acN +asW +awd +bHJ +bOP +bRi +bKP +axF +axF +axF +axF +axF +axF +axF +axF +bHk +cpd +cHi +bFa +aEZ +aIX +awu +bmV +ayG +aEF +aGo +bov +aEJ +aEF +bqR +cKM +cKP +cKR +bUT +crn +csm +cKY +cLa +cug +bPF +cvg +aMP +aFL +aIL +aFI +aFW +aFI +aFI +cko +cko +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(107,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aUz +aeu +aeu +aeu +aAg +asZ +asZ +asZ +aAg +asZ +asZ +asZ +asZ +aAg +ceF +axB +acn +acF +adt +adD +adO +ceA +aed +cgj +aes +aes +aeR +aeR +aes +aeR +aeR +aes +aeR +aeR +aes +aes +aes +adM +alO +amL +aod +cBl +adH +adH +cDk +cDk +adH +cdD +ceK +aAz +aBD +aDn +aED +cdS +aIq +aid +aPv +cgi +aOJ +aNo +aud +aPQ +aTu +bpq +aXa +tEC +btE +aTL +aOy +btE +btE +aLT +bpn +asF +bnA +avU +aaz +aqV +avc +bwo +apk +avn +ast +abn +bCz +bDw +bEi +bFB +asF +bHL +bQw +bRj +bKQ +aBM +caD +bCe +bsG +bBD +bCe +bVg +bCe +bHl +bBf +cHj +bFa +bFS +aIZ +awu +bEm +aLY +aSk +aSr +bpj +bdk +bdu +beU +cKN +bNu +bND +cKT +cKW +csn +aFP +cto +cuk +bPG +cvh +cvk +aFO +cwc +aFO +cwA +lSJ +aFI +aFI +aFI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(108,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +asZ +asZ +aAg +aAg +asZ +asZ +cef +asZ +asZ +aAg +asZ +ceF +acJ +aco +acI +adw +adE +chP +chO +aee +ceF +aaa +acm +aaa +aaa +acm +aaa +aaa +acm +aaa +aaa +acm +aaa +aaa +adH +adH +adQ +aoe +apI +adH +ciZ +bSp +bSp +cGo +cdD +ceL +aAB +cfk +aDo +aEG +aYG +aIr +aie +aPz +bwV +ahx +aox +aRa +aih +aTv +bjg +aud +aud +bgb +aud +aPQ +chh +bgV +biw +bjM +bqE +bnB +auQ +auQ +aqV +asF +asF +asF +arn +arn +hAb +arn +aur +arn +arn +asF +bPp +bQx +bOP +bJy +aCq +cbA +bBf +byv +bBE +bBf +bBf +bBf +bBf +bBf +cHk +bFa +bFa +cdh +awu +cfr +cgB +chp +ciw +cjJ +clm +clm +cmd +cnE +coV +clm +cqm +aGx +cpp +amY +aIv +cul +cuF +cuF +cvm +aFK +aFQ +aFV +aFY +ktv +aNi +aGb +aGc +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(109,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +asZ +asZ +ajE +cez +ceY +abj +abv +abB +abK +abQ +asZ +adg +azv +cfu +azv +adg +acu +chD +chD +chD +chI +aaa +acm +acm +acm +acm +aaQ +aeo +alm +aaQ +aeo +aeo +acm +aeo +alm +acm +adQ +aoi +adH +adH +cCA +cGi +cCB +cGp +cdD +ceM +aAB +aBF +aDs +aEH +ceZ +aIs +aiA +aOS +cgq +aXu +aox +aMi +aMc +aTz +apX +arA +akM +aox +bkj +bmK +boy +aox +cBQ +bAm +asF +bnF +bsp +btQ +bvj +aaK +aUf +asq +arn +aom +avS +bCB +bDx +bEj +atC +bIL +atu +bIu +bOE +bKR +bSP +bXJ +bPY +bRY +bTb +cjP +cpN +cpU +cpU +bZc +caf +bFa +bGG +cdm +cKr +cfs +cgC +chq +ciy +cjK +clo +clY +cme +btx +aIW +aGK +cqp +aMI +cpm +anB +czY +cup +cnb +bSs +cEm +aFU +cwd +jHJ +cwH +cwH +aFI +aFI +aFI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(110,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +asZ +aAg +asZ +aam +aaF +cdV +cdV +abw +ceD +cel +abR +atB +adT +aHw +ace +acM +adg +adF +ajb +ciG +ayS +cis +ccP +ccY +bzS +cdt +acm +aaa +aaa +acm +aaa +aaa +acm +aaa +aaa +acm +aaa +cDk +aou +cDk +bSp +cCB +bSp +cGl +bSp +cdD +cdD +aqX +aBP +bkt +cdD +cdD +adP +aTK +aPH +aRh +aaX +aox +aox +aPZ +aSq +aox +aox +aox +aox +apX +apX +aox +aox +biy +bjP +asF +arK +avv +apP +bvv +btZ +bwA +byk +arn +apM +bpT +avN +ape +asU +atv +ark +bsN +bQx +bOF +bKS +bCM +bCM +bCM +aDH +bJl +bCM +bCM +bEL +bHm +bFa +cHm +bFa +bGG +cdp +aFA +bFx +bFy +chr +ciz +aIp +aIM +aIP +eMp +buV +coW +cpH +cqv +aGy +cpn +aHK +aNg +cFF +cFF +cFF +cFF +cFF +aJl +aFI +aFI +aFI +aFI +cko +cko +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(111,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +ciQ +aeu +aAg +asZ +aak +aan +aaH +cdY +cdZ +cdW +cdY +cei +abS +acb +adg +ace +acp +acW +alV +adG +adR +adU +adR +adR +aev +bAf +acm +aaa +cev +aaa +aaa +acm +aaa +aaa +acm +aaa +aaa +acm +aaa +adH +aoE +adH +ciZ +cGp +atR +bSp +ciZ +cGi +cdD +ceZ +aQY +cdD +cdD +ago +aIz +ajW +ajJ +aOS +fXq +aIV +aox +aOk +aox +aox +aXd +axf +bVK +aHz +bzD +aLW +aox +cBV +aox +atT +atT +dis +dis +dis +dis +ajK +atT +dis +atj +apN +awj +apf +atg +auG +ark +bsO +bQx +bOJ +bPo +bCM +bCZ +bPZ +bSa +bTd +bDO +bmb +bmb +bmb +bFs +cai +bFa +aRQ +cJM +awu +awu +awu +cht +ciA +aMR +aDk +aDk +cmf +aIU +coY +aIt +cqy +aGT +cpe +aHx +ckE +cBz +aHd +aMZ +aFc +cFF +acm +aaa +aaQ +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(112,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aai +cmS +asZ +asZ +aLJ +aas +aaP +cdY +ced +aby +ceq +cem +abV +acd +age +acg +aiX +acX +chW +asf +cdv +chf +chF +aeh +aex +bSo +cds +cds +cds +cir +civ +cix +civ +civ +civ +civ +civ +cix +civ +ciH +ciU +ciH +cdk +cGf +cdk +cdk +cdk +cGs +cGu +aAE +aBU +aDu +aYk +byC +aIA +atQ +cjj +aRj +anX +oPf +aLV +axf +aHz +bsl +aXx +bAe +bTh +cah +chs +bfA +cGS +cHf +aaM +atx +arN +bik +bqa +aTm +bud +bwB +bym +bnP +atj +avV +asA +apf +atr +auG +arD +bsP +bQx +bOF +bYW +bCM +aIe +bQj +bDD +bTf +bDP +bCC +bWF +bDX +bFs +cHo +cHD +cHT +cJN +cEn +awu +aGw +chu +ciC +azc +aDk +aGu +gwD +azT +coZ +aIx +cqB +aHs +cpp +bDa +acm +cBA +aHe +aFm +aFc +caK +acK +acm +cow +aaa +cow +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(113,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +anH +aeu +asZ +aAg +aal +aaw +aaU +cdZ +cdY +cfK +cdY +ces +abW +abs +adg +ace +acr +acY +chX +adI +adS +adY +adR +aek +aeA +bAf +acm +aaa +chM +aaa +aaa +acm +aaa +aaa +acm +aaa +aaa +acm +aaa +adH +aoF +adH +ars +bSp +ciY +ciZ +ayo +cGi +aAb +aAH +aBX +aDv +ago +aGP +aIB +aba +cgw +aRk +apY +oPf +aLV +aHz +aTE +arl +arl +byV +bzc +gMU +gMU +bfJ +abk +aqb +atT +atT +aqz +aoW +bqe +aqQ +aqQ +avQ +byn +bzI +atj +auY +asE +apg +bui +aqR +ceI +atE +bIy +bOY +bYX +bHn +aIw +bQn +bDE +bTi +bUC +aFi +bWH +bDY +bFs +bFU +bGg +bFZ +bRT +cEw +awu +cgD +chv +ciC +aGz +bxm +brl +cmg +aGs +aHH +brm +cqD +aHu +cpq +aIO +clu +cBB +aHf +bDR +aFc +cFF +acm +aaa +cow +aaa +cow +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(114,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +asZ +asZ +asZ +aaD +abe +adq +cdH +abz +cdH +ceB +abZ +atB +adT +aZh +acz +ada +adg +adI +apx +cip +asK +chL +ccX +cdl +bzS +cdu +acm +aaa +aaa +acm +aaa +aaa +acm +aaa +aaa +acm +aaa +cDk +aoJ +cDk +ciY +ciZ +ahh +ahh +ahh +qtv +qtv +qtv +qtv +qtv +cfM +cfM +hvb +hvb +cfM +aRl +bVL +aKg +aLV +aHQ +arl +arl +boi +bsI +byP +bzj +bzc +bfL +agW +aqj +aqe +aqi +aqS +aqB +bqe +arW +asd +avR +byn +ara +atj +bBF +bCK +bDz +atI +ath +ata +atG +bQx +bOF +bYW +nVt +bDp +bQn +bSf +bTm +aMJ +bDI +bWJ +bDZ +bFs +cxL +bGj +aRQ +cny +bEV +awu +aCZ +chw +ciA +aGA +aMk +brl +cmi +aKQ +cpa +brm +cqB +aGy +cpr +aJp +acm +aFM +cDU +aFM +cFz +aFM +alm +acm +aaQ +acm +aaQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(115,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +asZ +aAg +apn +ceE +cfJ +abs +abv +abC +abL +aca +asZ +alV +azv +chB +chV +adg +ciN +ciM +chI +chI +chI +aaa +acm +acm +acm +aaQ +aeo +aeo +alm +aeo +aeo +aaQ +aeo +aeo +alm +acm +adQ +aoM +adH +adH +ahh +qtv +awo +cdn +cdJ +aAf +cfc +aCd +cfA +axk +cjc +aoN +amh +cfM +aRm +cci +aKP +gMU +arl +arl +byN +aXy +aYY +bbG +bzk +bzd +cGk +auy +adb +asX +blM +bnG +bpd +bqg +bsC +buk +bHB +aGG +auc +atj +atj +bHI +atj +nNA +atT +atT +atT +bIz +bOF +bYW +bIq +bDq +bDv +bSf +bDN +bDS +bmb +bmb +bmb +bFs +bFa +czv +bFa +cnz +bFS +awu +cgF +chx +ciA +aGB +aDk +brl +cmg +aKW +coZ +brm +cqB +cjQ +cpo +aHx +ckE +cBz +aHg +aNa +aFd +cFF +acm +aaa +cow +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(116,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aAg +asZ +asZ +asZ +aAg +asZ +ceo +asZ +aAg +asZ +asZ +cfY +acP +acA +adj +ady +adJ +cii +cfY +aaa +acm +aaa +aaQ +aaa +aaa +aeo +aaa +aaa +acm +aaa +aaa +acm +aUz +aeu +aeu +aeu +adH +aoO +apR +agx +ahh +ajP +aws +cdo +cdK +evx +cfd +evx +cfB +cfO +adB +aIH +aJV +aCV +aNd +cdg +aQh +bwp +ciX +cdc +byq +aXz +aYZ +bbU +bzm +bzc +bfN +ahm +aqw +atl +blN +aqx +aqD +aqL +bsE +bul +ayq +byp +bzJ +atp +arC +bCL +bDA +bfR +bFD +aww +aLC +bIA +bPw +bYY +bCM +bDr +bCM +aDK +bCM +bCM +bCM +amP +aEU +bEH +bFc +cbd +bGJ +cdr +bGG +awu +aMV +chz +ciA +aGl +aIK +aIy +cmk +aMr +cpc +cpJ +cqB +clv +cpp +bDa +acm +cBA +aHh +aFn +aFd +ccT +acK +aaa +cow +aaQ +cow +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(117,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +asZ +aAg +aAg +asZ +asZ +aAg +asZ +asZ +aAg +asZ +cfY +acj +acB +adm +adz +adN +ciB +cga +acm +aeo +aaa +aeo +aaa +aaa +aeo +aaa +aaa +acm +aaa +aeU +adQ +adQ +adH +adH +adQ +adH +cFU +cFf +agA +ahh +atS +awB +awJ +awJ +aAh +cfe +evx +cfC +cfP +aoD +aII +aJW +bdl +aNe +chk +aQi +bgZ +aSm +biE +aVc +aXD +aZb +byT +bzo +aHz +cGq +apy +aqC +avB +cce +aqc +biv +aqM +bsE +buo +aGG +byr +bzL +asg +abF +bCN +bwh +bwj +bFF +abF +bdC +bID +bPB +bZa +ahS +bJE +bCP +bSg +bCE +bML +alF +bWL +bYq +bZd +bFT +cbe +cBp +bFa +bFY +awu +aDk +chA +ciE +aDk +aDk +aDk +cml +aMs +aHH +aIE +cqF +clI +cmq +aIO +clu +cBB +aHi +bFG +aFd +cFF +acm +aaa +acm +aaa +cow +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(118,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +asZ +aAg +aAg +asZ +asZ +aAg +asZ +aAg +asZ +cga +cfY +cde +chG +ciD +ciq +cfY +cfY +aaa +aeo +aaa +acm +aaa +aaa +aaQ +aaa +aaa +acm +aUz +adH +adH +cEC +cEH +cEM +alQ +adH +adQ +abX +cBc +qtv +cew +awI +cdq +cdL +aAi +awJ +aCe +aXM +aEI +aZM +aIJ +aJX +cfM +aNj +avo +aQj +byj +cje +cdc +byB +aXG +aZc +bbV +bzq +bzc +bfL +agW +aqO +aoj +blR +aqy +aqE +aqN +bsE +buo +aGG +bys +bzM +asa +asy +bCO +bDC +bIC +bFI +bKI +bpU +bIE +bPL +bZb +bmc +bCJ +bmc +aDW +bmc +bmc +bmc +aqd +bYs +aHV +bFa +cbe +bGK +bFa +cen +awt +aJg +chC +ciI +cjL +clp +clZ +cmn +byl +cpf +cpg +cqJ +cpj +cpt +aJG +acm +aFM +cDU +aFM +cFz +aFM +alm +acm +cow +acm +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(119,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +coy +aUz +aeU +aeu +alm +aeu +aUz +cmV +aeu +aeu +aeu +aeu +cfY +cga +cfY +cfY +cfY +cga +cfY +acm +acm +alm +aaQ +aeo +aeo +aeo +acm +acm +aaQ +alm +aeu +adQ +cCr +cED +ieA +ale +alT +cEW +aoZ +cFg +agC +qtv +atU +jCp +awJ +awJ +aAj +cff +iiA +cfE +cfR +cge +bav +cgu +cfM +aRu +chm +aLg +arl +arl +gMU +bAw +aXH +aZl +bbY +bzb +jOz +cGk +auy +aeS +awg +blT +bnI +bpe +bqm +bsF +bur +atj +aHU +auc +atj +atj +aug +nNA +nNA +nNA +atT +atT +bIz +ice +bKY +bCE +bNY +bCR +bSh +bDd +bUD +bmc +avq +bFd +bFa +bGa +bGu +bFC +aHV +cep +awt +aJh +chE +ciJ +cjM +cls +cmb +cmo +aMu +aMG +aIu +cqB +coG +cFt +aJI +ckE +cBz +aHj +aNb +aVG +cFF +acm +aaa +cow +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(120,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aai +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +ccz +aeu +aeu +aaa +aaa +aaa +acm +aaa +aaa +aaa +aaa +aaa +aUz +aeU +aeu +aeu +adH +cEA +cEE +ajG +alg +alU +cEX +apb +cFf +cEh +ahh +ccU +awK +cdB +cdM +aAk +cfg +evx +cfF +cfS +cgf +aIR +amj +cfM +aRv +atF +aLk +aLV +aLW +gMU +arl +byM +aZn +bbZ +bzr +bzc +bfT +apT +arO +aqh +aqk +att +aqG +bqs +arY +auM +arX +byt +afT +atj +aaq +aum +apK +aun +arw +avF +aus +bIJ +bOY +bKZ +bmP +bNZ +bQr +bSi +bTn +bUF +bmc +bWP +bYt +bZe +bGd +awN +awN +awN +aJj +aJk +agN +aCw +aAV +aDr +aCw +aDk +cmu +aJc +bBt +bFj +cqK +coM +ctZ +bDb +acm +cBA +aHk +aFo +aFe +ctr +acK +acm +cow +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(121,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +anH +aeu +aeu +aeU +amq +aeu +aeu +aeu +aeu +aeu +aeu +aeu +alm +acm +aaQ +aeo +acm +alm +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +adH +cEB +cEF +ajM +alh +alW +cEY +apd +cFh +cFj +ahh +ahh +awM +cdC +ceJ +aAl +cfh +aCk +cfG +cfN +afP +aIS +cfM +cfM +aRw +anY +aKe +aLV +aHQ +aTG +arl +arl +aZo +bcm +arl +arl +bfW +apZ +ass +atT +atT +atD +aqG +bqt +cOW +cOW +cPb +byw +ard +nNA +apv +bCS +bDF +bEk +bFM +bGt +bkW +bIu +bOF +bKY +bCE +bOe +bCT +bDy +bDe +bUH +bEZ +bWR +bFE +bEV +bFg +awN +ccl +aCx +aCA +cft +aIg +aSj +ciK +cjO +aMm +aDk +cmv +cnG +cpi +cpK +cqL +cph +bwy +aKm +clu +cBB +aHl +bId +aFe +cFF +acm +aaa +aaQ +aaa +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(122,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aUz +aeu +aeu +aeU +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +acm +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +adH +adQ +cEG +cEL +cEQ +alY +adH +cDP +abX +adH +cAF +ahh +ahh +ahh +qtv +ahh +qtv +qtv +ahh +cfM +hvb +cfM +cfM +cgz +aRy +auo +aKe +aLV +aLX +aHz +bsl +aXJ +aZs +bco +bJO +cgK +cGC +cgK +cCg +bjS +atx +auU +biO +bqu +bsH +auX +cwE +byx +bnQ +atj +aUj +bCU +apD +apL +apQ +bGv +aus +bIM +bPS +bLf +aBm +bOh +bQs +bSj +bQs +bUI +bmc +bWS +awN +awN +awN +awN +ccn +auS +aBQ +cfv +aIg +aHT +ciL +cjR +aDe +aDk +awv +bNQ +aDp +aJo +aDp +aJt +aJx +aMt +acm +aFM +cDU +aFM +aFM +aFM +cke +acm +aUz +aeU +cke +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(123,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeU +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aaa +aeu +aeu +aeu +cIV +cIV +cIV +cIV +cIV +khA +cIV +cIV +cIV +cIV +cIV +cFi +cDZ +cEi +cEq +anK +cFo +aay +cFT +aUa +ctz +cvM +awE +aEN +aGQ +hzY +jxc +avw +aRB +aJi +aLE +apX +aOk +aox +aox +aXT +bAo +bcq +bTh +chs +bga +aHz +biA +bjT +atT +atT +atT +beM +asx +bxx +asx +byD +asx +asx +aui +bCW +bDG +bEl +bFO +bGw +axm +bIu +bOF +bKY +bCE +bOi +bCV +bSk +aJK +bUR +bmc +bWV +awN +aBL +aBT +cHE +ccp +aBV +aBW +cfw +aCU +aGf +ciO +cjS +clt +aBK +cmx +cnH +cpk +aDt +aJq +crt +aJy +bIb +ckE +cBz +aHm +aNc +aFf +aFM +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(124,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aeU +aeu +aeu +aeu +khA +cIX +cIX +cIX +cIX +cIX +cIX +cIX +cIX +cIX +cIV +baH +baH +baH +baH +baH +baH +cFr +avm +aUa +amk +cvN +cvT +aEO +aGR +cwr +cFZ +avI +aRE +cfa +aox +aox +aiF +akw +aox +aox +aox +apX +apX +aox +aox +aox +cCi +bjU +blU +auw +akb +bqw +asx +bus +bwD +bzB +aop +atd +aui +apO +apJ +cjv +bqf +cjy +aus +bIJ +bOY +bLi +bmc +bmc +bmc +bDB +bDg +bmc +bmc +bEp +awN +axe +caj +cbg +ccq +aCo +aCo +cfx +aIg +aCT +ciP +cjU +aDg +aMk +cmy +bBi +aHS +aMb +aJP +cru +aJz +bDf +acm +cBA +aHn +bIw +aFf +aFM +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(125,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaQ +aaa +aUz +aeu +aeu +aeu +khA +cIX +cIX +cIX +cIX +cIX +cIX +cIX +cIX +cIX +khA +cCP +cEa +cEj +cEr +cEx +baH +cFs +avp +aUa +ctK +cvO +cvU +aEQ +aGS +tGU +aJY +awr +aRX +aOK +aXv +aRb +anO +anO +aDJ +aZV +anO +bcv +bcY +beC +bge +aOk +cCj +bjZ +blV +agZ +ahv +bqx +bsK +bsj +bzT +bCI +arR +bEe +aui +aui +avb +aui +xei +xei +aui +bCH +bQd +bKQ +bQk +caD +bBe +bBe +bBe +bCg +bWk +bWW +ane +aBR +cam +cbi +cct +cdw +cer +cfy +azk +chN +ciR +cjV +aMn +aMo +cmz +cnK +cpl +cpL +aJs +crz +aJA +bIe +clw +cBC +aHo +aFf +aFf +aFM +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(126,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaB +aaa +aaa +aaa +aaa +aaa +aeo +aeU +aeu +aeu +aeu +aeu +cIV +cIX +cIX +cIX +cIX +cIX +cIX +cIX +cIX +cIX +khA +cDR +cEb +cEk +cEs +cFk +baH +agD +baH +aUa +aAI +aCl +aDx +aER +aHr +aCC +aKi +cIw +cKd +aox +aox +aRc +bzN +akM +ajt +ajt +aZq +aZq +ajt +ajt +aQO +apX +cCk +bka +blW +atj +alj +bqB +asx +aoz +avh +bCX +bGe +bHb +bBH +bEM +bDH +bEn +bJJ +aox +bOU +bRd +bOF +bJy +aCq +cbA +bBf +bBf +bBf +bBE +bBf +bEN +ane +aBS +aBZ +aCf +aCn +cdy +aKo +aCi +aIg +ayY +aCY +aNh +aDi +aCw +cmC +aDm +aJO +cpM +cqO +crC +css +aJH +cok +aFM +aFM +aFM +aFM +aFM +aeu +agt +aEg +cko +cko +cke +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaB +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(127,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +aeU +aeu +aeu +aeu +aeu +cIV +cIX +cIX +cIX +cIX +cIX +cIX +cIX +cIX +cIX +khA +cDT +iSg +cEl +cJD +atV +cEg +ayp +avO +aUa +cvK +cvQ +aDy +aES +aHv +aUa +aKl +aPz +aNl +aGh +aGh +aZf +aGh +aGh +ajt +aBc +bmH +boJ +bcZ +ajt +bgf +aox +apX +aox +aox +apX +aox +ahy +asx +aqt +avj +bDc +ave +abq +asx +asx +bDJ +bAj +bpn +aox +bHM +bPn +bQh +bLl +bSY +bXJ +bZZ +bZZ +cgE +cjY +cpP +cpV +awN +awN +aCg +aSs +bqD +cJY +aCj +bII +aIj +aDj +azh +bJP +aKB +aKD +aKF +aMj +aJM +aMy +cqR +crI +csv +aJH +aeu +cko +csP +cvi +csP +cuq +cuq +cuq +cuq +cuq +cuq +cvi +aeu +sDw +aeu +aUz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(128,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +alm +aeu +aeu +aeu +aeu +aeu +cIV +cIX +cIX +cIX +cIX +cJo +cIX +cIX +cIX +cIX +khA +cDW +anT +cGd +cEu +atW +cFp +ayt +aoC +aUa +aUa +aUa +cvW +cFH +cwn +aUa +aHq +aNq +aZO +aGh +aQm +aRi +aSn +bqU +ajt +aXV +aZu +boT +bdg +aBC +bgl +bpq +biD +bkb +blZ +bpq +bpg +aYO +iYW +bwb +arz +bDc +avd +asB +aru +asx +bpq +bEr +bFR +bKJ +bHN +bMm +bQi +bLq +axF +axF +bQy +bBn +axF +bCr +bBf +cpW +bYu +aCc +cas +bEx +ccw +cdz +cet +azM +awH +awF +ciS +cjZ +cly +aKE +aKG +aKG +aKH +aKG +aIC +bww +aJE +aJL +aeu +cko +aDY +aEd +aEi +aEm +aEk +aEf +aEr +aEf +aEr +cxl +aeU +aai +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(129,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +khA +cIX +cIX +cIX +cIX +cIX +cIX +cIX +cIX +cIX +khA +cDX +cEe +cIi +cEv +atX +baH +cDZ +azw +aAm +axL +aCm +aAm +aAo +aAo +cFY +aKn +aLo +aNp +aGh +aKT +aZm +brd +bqV +ajt +aTC +aZB +bqc +bdo +bqz +bgo +apX +bqb +cba +aIN +aox +bzN +arA +asx +bwd +bzA +bLe +auT +auT +arF +iYW +bAb +bQR +aYO +aox +bHO +bOP +bYG +auE +auE +auE +auE +auE +auE +bCs +cpd +crs +bYv +cym +cat +cHH +cHV +cKa +ceu +azN +aKw +chQ +bUv +aCS +aMh +awH +aIF +cpB +azy +aMw +aID +crJ +cgH +cHu +aEg +cko +aDZ +aEe +aEj +aEn +aEp +aEf +aEj +aEf +aEj +cvi +aeU +aai +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(130,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aap +aeu +aeu +aeu +cIV +cIX +cIX +cIX +cIX +cIX +cIX +cIX +cIX +cIX +cIV +cDY +apS +art +baH +aXW +baH +aXW +agn +baH +ban +ban +akB +ban +ban +ban +aKp +aiR +cfa +aGh +aKU +aZx +bac +bqW +ajt +aUM +aZD +bqd +bqv +ajt +bgp +bhb +biF +bkk +bmd +aYO +aYO +bqF +asx +bjO +bwE +byE +bzP +arV +brU +iYW +bAp +bQS +aox +aox +bZl +bQv +bJx +awq +aKd +bBd +bBR +bCl +bCA +bCr +bBf +csC +bYw +aIb +cau +aCy +ayk +aKk +cex +axH +bFt +chR +ciV +cka +clz +awH +cmG +cnT +cpz +cqd +axa +crO +axa +csP +ctp +cuq +aEa +aEf +aEj +aEm +aEq +aEf +aEj +aEf +aEj +cxl +aeU +aai +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(131,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aUz +aeu +aeu +aeU +aeu +aeu +aeu +khA +cIX +cIX +cIX +cIX +cIX +cIX +cIX +cIX +cIX +cIV +aXW +cEg +cEp +aXW +apo +cCt +cEg +azz +aAn +ban +aCr +aDL +aEV +aHy +ban +aKq +aiR +abb +aGh +bdn +aRo +aSp +aTH +ajt +aVq +aZD +bcw +bdy +ajt +ajt +blc +hqv +ezp +ezp +aZd +auj +aZd +asx +asx +asx +asx +iYW +iYW +asx +iYW +bMu +bRr +aox +bOQ +bPn +bOP +bJy +axn +bMs +bOj +bQz +bSl +aEM +bUV +bEB +csD +bYx +cyn +caw +cHI +cHW +cKb +cey +aDc +awH +aDj +azh +bJP +aDj +awH +cmI +bfe +bxL +cqe +axa +cfz +axa +aDN +axa +axa +aDN +axa +aEk +aEn +aEi +aEf +aEr +aEf +aEr +cvi +aeU +alm +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(132,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeU +cui +aeU +aeu +aeu +cIV +cIX +cIX +cIX +cIX +cIX +cIX +cIX +cIX +cIX +cIV +cLe +cCt +arx +aoC +cJQ +cJQ +ayu +awc +axD +ban +aXC +aCO +aZJ +aHA +baW +aKr +aiR +adC +aGh +aGh +aGh +bhK +aGh +ajt +ajt +boI +ajt +bqy +hqv +bgr +bhd +biJ +bjn +bmE +bns +bpk +bnD +bnS +boc +bwG +bso +bpi +aZd +aZd +aXa +aYO +bAt +aox +bGx +bOP +bIN +bJG +awq +aKf +bOk +bQA +bCo +awq +bCr +bEC +csE +bYy +aCc +caz +bEy +ccy +cdA +ceC +aGv +axa +azf +azg +bKr +aLf +axa +azX +ayK +bxZ +axa +axa +crR +chy +csW +cjI +cjW +cuI +axa +cvo +cuq +cuq +cuq +cuq +mbs +cuq +cxl +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(133,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aap +aeu +aUz +aeu +aeu +cIV +cIV +bTj +ahz +cIY +khA +cIY +ahz +cJR +cIV +cIV +cIH +cIH +cIH +cIH +cJK +cJW +auC +asH +baH +ban +bfn +aZK +aYi +aHB +baW +aKr +ajJ +cgR +bsc +bqK +aRp +brM +aTJ +brB +aXY +aZH +ajt +bdB +beJ +bqq +bhh +biL +aZd +bqh +bnJ +bpl +bqG +bsL +buw +bwH +cPj +bnT +bor +aZd +auj +bew +aZd +aox +bvJ +bwc +bBj +auE +auE +aBE +bOm +bQB +bCp +awq +bCr +bED +csF +awN +awN +axM +aSt +axM +buT +cKu +axM +axa +byF +ciW +ckb +aFg +axa +cmK +cnY +cnY +cnY +cqW +crT +cnY +csX +cnY +cnY +cuK +aAQ +axW +axW +axa +axa +axa +axW +axW +axa +axa +gvR +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(134,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +cIV +bsJ +ahA +cJk +aDF +cJu +ajN +bsg +cIV +aeO +cIH +cIn +arE +cIO +cJQ +cFy +cFT +aty +aAo +axu +aCt +aDM +aEY +aHC +baW +aKr +aiR +cgR +bna +bqL +bno +brM +brj +brk +brE +aZN +bjI +bdF +bmO +boA +bhi +boV +bjn +bmG +bnK +bny +bqH +bny +buB +bny +bzt +bAs +bBQ +bBK +bCY +bDK +aZd +bGc +bGy +bhY +bIR +awq +aKa +aKh +bOp +bQC +bCx +awq +bUY +bBf +cud +cyb +btG +awT +axc +aPs +axN +ceH +ayU +axb +ayW +cja +cKz +clB +axW +cmL +cob +cpA +cpA +cqX +crX +csw +csY +ctq +cur +cuM +aAR +cvr +ckw +cmw +xON +fAH +jPE +gIE +gIE +dQe +axa +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(135,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +cIV +cIq +ahB +ahO +aiv +ajk +ajZ +cJP +cIV +baH +cIH +apW +arG +cIt +atY +cJm +akO +atH +aoC +ban +aYl +aDO +aYq +bet +ban +aKv +aiR +cgR +bna +aQp +boe +brQ +brV +brV +brV +aZP +nJw +bdL +bmR +boB +bhm +bqP +bmF +bcX +bnN +bny +bqH +bny +buB +bny +bzC +boS +bCF +bFW +bIx +boz +aZd +bIB +bZM +bhY +bIT +bQI +bLr +bMt +bMt +bMt +bSm +bQI +bUZ +cpQ +cwU +axj +cyp +caA +cbl +cbl +cdE +ceO +bRk +axb +cgW +cjb +cKF +clD +aCh +cmT +coc +azE +brn +aLF +cin +cin +cin +aLF +cut +cuO +bVF +cvt +ckH +cmA +czf +axW +dww +gIE +gIE +gIE +axa +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(136,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +coy +aUz +aeu +baH +baH +baH +aeu +cIV +cJb +ahD +ahT +aiw +ajl +akc +cJE +cIV +cIK +cIH +cIJ +arH +cIM +atZ +awR +akW +aZS +aZS +aZS +aYH +aCJ +aYH +aYH +mej +aoK +aua +aNw +beL +brr +brb +brR +brP +brA +brH +brr +bow +bqk +bmT +boD +bhp +bpb +bjn +bme +bnK +bny +bqH +bny +buB +bwM +byG +bof +bFJ +bFX +bqQ +ezp +aZd +bBU +bXv +bhY +bIW +awq +aKc +byQ +caR +bCk +caq +auE +bVb +bWl +bXa +awN +cys +caC +axp +axs +cdF +ceP +axH +bGF +chS +cjg +cKI +clG +aCR +cmY +coe +aMa +bro +axU +crZ +crZ +csZ +axU +cuv +cuP +axW +aBx +aAM +aAM +aAM +axW +pCe +gIE +gIE +gIE +axa +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(137,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeK +baH +afb +baH +baH +cIV +cJz +cJi +cJF +cJL +cJw +cJw +cIV +cIV +anc +cIH +cIM +cIH +cIH +cKk +baH +alf +aZS +cEz +bhB +bhC +aDP +baj +bak +aZS +bOL +aiR +aNy +beL +aQw +aZz +bal +brW +brX +brr +brw +bnL +bql +bqj +bqn +bhr +bhd +bol +bmg +bnO +bny +bqI +bsR +buD +bwO +bAl +bAu +bFV +bGk +ezp +ezp +bGh +bZI +bhY +bCa +bMD +uzR +auE +auE +bNV +auE +auE +auE +axF +bBJ +axF +awN +cyx +caI +axH +bQm +azd +ayV +aLe +bHe +chT +cjh +ckc +clJ +axW +cmY +coh +axU +aLH +aLu +aLy +aLy +cjN +axU +cuy +cuU +aLK +aBx +aAM +aAM +iBL +axa +gIE +gIE +dww +mLN +axa +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(138,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aem +aeD +aeL +ajI +afi +aml +afL +aVQ +agB +ahG +ahV +aiN +ajn +ake +ali +cIB +and +cFT +cJO +afG +ait +apB +awY +aln +aZS +aXi +aAK +aCu +aDR +aZT +bdd +aYH +arv +aiR +cgR +bna +aQx +brt +bap +bsb +brq +brF +brG +hqv +boQ +boH +bqo +bht +biN +bnj +bmh +bnU +bpo +bqM +brN +brO +bwQ +bAn +boa +boh +bon +aZd +bGh +bZz +bsn +bIO +bhY +bME +cBF +bkT +bNN +bNW +bQH +bUU +coX +bVe +bWm +bAM +awN +bKp +caJ +bKp +awW +cdN +ceQ +cfH +axb +aAa +aLq +bKw +aLp +axa +cnc +coj +aLs +cqi +aLv +csa +csa +csa +axU +cuz +cuV +axW +cvu +aAM +aAM +aMW +axa +gIE +gIE +gIE +gIE +axa +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(139,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aUz +aeU +aeu +aeu +alB +alB +alB +alB +alB +cEg +agE +ahI +ahW +aiO +ajp +akf +ajp +cqE +ajp +cqS +cqY +afW +aWY +aWY +aWY +aWY +aZS +aYm +aAL +aAP +aDS +aZU +bdI +bez +acS +aiR +aaR +bmy +bmy +aRq +aSu +brr +aVd +brJ +brI +hqv +ajt +bmA +bph +bmS +bmZ +aZd +bqJ +cCC +bnC +bnc +aZd +bnq +bnH +bnR +bob +bRc +bZy +bZp +bZA +bZD +bZJ +bZN +bZR +bMP +bQF +bAV +bNP +bOa +bQJ +bUU +bTo +bNc +awX +awX +awX +awy +cHv +axI +awX +awG +bDm +azI +axb +axa +axa +bzH +aBv +axa +cnf +com +aGD +ayn +aIn +ayn +azm +ayn +axX +aAp +cjT +axW +aBf +aBg +chH +aLN +axa +fyr +dww +gIE +uxQ +axa +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(140,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +alB +bfq +iMq +bbx +alB +afX +agF +alB +alB +alB +pQf +pQf +pQf +alB +alB +alB +aep +aga +aWY +aFs +aqq +bdA +bah +aXg +aAT +aAC +aDP +aFa +aHD +aYH +arv +aiR +cgU +aOV +bmy +bmy +baM +beL +bna +bna +bmy +bnv +bfH +boG +bux +bhv +biP +bpV +bmi +bnV +byh +bqO +bnv +buH +bPv +bPy +bPV +bXv +bhY +bZr +bZB +bZE +bZK +bZO +bBV +bMW +bQG +bMv +bNR +bQD +bRL +bBv +bTp +bNf +awX +awx +bYz +axw +cyf +czB +awX +axY +ceR +axQ +ayQ +aBI +aab +ckd +clL +aFB +cnj +con +aLt +cqk +aLw +csb +csb +csb +aLH +cuz +cuV +axW +aBx +aAM +aAM +aNf +axa +axa +axa +axa +axa +gvR +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(141,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +alB +aWJ +ayv +aWJ +alB +cIe +bhl +alB +bfq +juX +bbx +aWR +bfq +aUI +bbx +alB +crh +dYu +aWY +bde +aXo +aXO +atq +aXt +aAX +aBe +aEP +aHM +aHE +aZy +aKx +aiR +cgV +aPd +beu +aRr +aSv +aTM +boZ +boZ +aXL +bpQ +bgg +biz +bAX +bAX +bnz +bBZ +bqS +bGW +bGW +bqX +brz +buO +bhY +bCa +blq +bhY +bhY +bZs +bZx +bZF +bGi +bGz +bhY +bJb +bJI +bUU +bNU +bQE +bSz +bUU +bGH +bNh +awX +awO +bYA +axh +cyg +axJ +ayg +axZ +ceS +cfI +cgG +aAe +ayr +ckf +clM +axW +cnk +coo +axU +aLH +aLx +aLz +aLz +aLB +axU +cuA +cuU +aLK +aBx +aAM +aAM +aAM +axa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(142,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +pQf +bfs +aWJ +bft +aWR +agf +agM +aWR +bhu +ayv +aWJ +aWR +aWJ +ayv +bhu +alB +aeN +aga +aWY +aWV +aXb +aXS +atq +aad +aAY +aCB +aDT +aFb +aHF +bbQ +aKz +axz +unX +aiR +aHq +bhY +baQ +bbz +bOK +bOK +bOK +bOK +bgK +biC +bOK +blj +bnE +bpN +bqT +mIt +bsv +bOK +btt +bOK +byo +bEt +bEt +bAB +bEt +bDh +bnv +bnv +bnv +ayO +aAU +bNA +bNM +bNM +bNM +bNM +bNM +bNM +bNM +crb +awX +awP +bYB +awz +cyj +cHK +ayg +bZq +ceT +cfQ +aym +aCa +ays +ckh +ayz +axW +cnk +coq +bCG +bFh +axU +crZ +crZ +crZ +axU +cuz +cuV +axW +aBx +aAM +aAM +aAM +axa +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(143,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aUz +aeu +aeu +aeu +alB +alB +alB +alB +pQf +pQf +bfM +bfM +bfM +aWR +agh +agQ +aWR +bfs +aWJ +bft +bhn +bfs +aWJ +bft +alB +aeT +agg +aWY +aXU +bdb +bdS +bah +aZC +bad +aBr +aAF +aFk +aHI +aZS +aKI +aLA +aMN +aPg +bdf +bpC +bkG +bbH +bnM +bpC +bpC +bpW +bgP +bBc +bBp +bBA +bBY +bBY +bEf +bHf +bsw +bqY +bvB +buR +bPx +erN +bjX +bkz +bOv +bHE +bjW +bGr +bEg +azb +aBw +bNC +bOo +bLs +caE +bZQ +caF +bSq +bNM +bVi +awX +awp +bYC +bZf +caL +bZf +aUh +ayb +ceV +cfT +axP +aKj +ayE +ckh +ayz +axW +cnl +cos +aAd +bFh +aLF +cin +cin +cin +aLF +cuA +cuW +bYI +cvw +ckI +cmN +cCq +axa +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaB +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(144,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +alB +bfq +aax +bbx +alB +akX +aeV +bfl +bfV +aWR +aWP +adx +aWR +bgC +bgm +bgC +aWR +bhc +bgY +bhc +alB +aqa +aga +aWY +aXc +aLO +aYj +bah +bai +bah +bah +bai +aXP +bai +aZS +aZr +ajL +ajL +cAX +aJJ +aRs +aSB +aTP +aYd +aYK +aYK +aYd +bdO +beO +bpF +bpL +bxc +bkn +bmk +bnW +bpr +blf +blf +blg +blf +mPm +blQ +bAC +bBL +bkQ +bjW +bAv +bOC +bGM +bHP +bJc +cbY +bLv +caG +caH +bQL +bSu +bmp +bVj +awX +awX +awX +bZg +axE +cbo +awX +aya +bZt +bZu +awC +aLL +ckt +ckj +clN +aGq +cno +cot +cpC +cql +crc +csd +csd +csd +cts +cuC +cuY +cjt +cvC +clf +cze +gnA +axa +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(145,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +alB +bgD +bfo +aWJ +alB +bdp +aeW +afo +afA +afM +bfZ +bgU +aWR +acw +bgn +bgB +cqw +bgM +bgn +bVA +pQf +ctJ +cxP +aWY +aue +axd +ayx +bdc +bdR +aAZ +eVT +aEE +aFp +aHJ +aOM +aZr +bdJ +bdJ +aZr +aYd +aYK +aZL +bch +aYd +aZg +aZj +aYd +bhe +cLt +xqL +bhX +bhs +biM +bmt +bhX +bsz +blf +bkm +bkJ +blG +blf +asI +bwS +bBM +bkS +bjW +bEs +bPz +bGN +bhY +bJe +bNM +bLw +bOr +bOy +bQO +bSx +bNw +bVk +bOb +bPO +awX +awX +awX +awX +awX +axa +axa +axa +axa +axa +axa +aBu +axa +axa +cnp +coz +cpD +coz +crd +cse +csy +cta +ctv +cuD +cva +axa +cki +axW +axa +axa +cok +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(146,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +alB +aWJ +bfU +aWJ +ary +bdt +bgx +afq +bfP +afN +agi +agT +ahH +aig +agT +ajq +ako +alq +amg +aaL +bdp +cuG +arI +aWY +auf +aub +azt +aAS +aTn +aBa +biU +aDU +aFq +aZG +bax +aKJ +aLM +aNz +aPj +aYe +aXn +aSC +aTQ +aVf +aXZ +aZQ +aYd +bdP +beP +xqL +bhy +ats +bko +bmw +bnY +bpu +blg +bsS +biW +bwW +blg +bzU +bmf +bBN +bkR +bhL +bEu +bPq +bGO +bLt +bJf +cfD +bLx +bOs +bOx +bNM +bSD +bNw +bSK +bEg +bOl +bSJ +bSI +bGH +bGr +bEg +bAT +bOC +cmB +bOb +cmh +bAM +ckl +clS +axa +azH +azU +cpE +aDq +cri +axb +axb +ciT +axb +axa +axa +axa +cvD +ckk +aEg +cnu +cnu +cnd +cnd +cnu +cnd +cnu +alm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(147,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +alB +bfY +bdD +aeq +axR +agz +ahK +afu +bff +aVe +aWM +aWM +ajX +bgd +bff +bgG +cqx +bgQ +amm +ang +acU +acV +arJ +aiC +auh +axv +azx +aDw +aTq +aBb +chK +aDV +aFr +aFr +aIT +aFr +aFr +aNE +aPl +bfO +aRx +aSD +aTR +aVi +aYa +aZZ +cbn +bdQ +beQ +cGU +bhz +bix +biX +bjp +bjt +bpv +brv +bsT +blm +bxj +bIF +bzW +bni +bBP +bma +bNt +bEv +bEg +bGP +bLI +bJg +bSw +bLy +cay +bOz +bQP +bSF +bNw +bTP +bUu +bWh +bTy +cxB +ceN +chZ +cxB +cjE +bXb +bEg +cli +bYD +bGr +cmp +bOb +axa +axa +axa +axa +axa +axa +axa +axa +cjH +axa +axa +cvc +bEg +bEg +bEg +bEg +cnu +cwI +cwX +cxh +bPi +cxm +cvP +acK +acK +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(148,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +alB +aWJ +bho +aWJ +ayL +bdt +bfK +afw +beW +afU +agu +ahi +alk +aim +aiP +ajr +akp +alr +amn +cHF +beY +ads +arM +ayw +auk +axg +ayB +azA +bgk +aBd +aZv +aXw +aXE +aXI +aYR +beD +bbj +aNF +bep +aZi +aZE +aSF +aTS +arc +bdG +baa +aGj +bdT +beR +biR +bhD +bnX +aKA +bjh +bjy +bpw +mPm +bsV +buS +bxl +blf +bzX +bAG +bBT +bnm +bjW +cxU +bEg +bRq +bLS +bQt +bNM +bLA +bMw +bOA +bOH +bSH +bNw +bSr +aEK +bSd +bUl +bSd +bUl +bSr +bUt +bSd +bXj +ckS +bUu +cax +ckW +ckZ +cax +cla +chZ +cxB +cle +cax +cax +bYh +csz +ctc +ctx +cmF +chZ +cmH +cvE +cmR +cwe +cnd +cwN +cqQ +csq +cnu +cuL +cnd +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(149,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aUz +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aUz +aeu +aeu +alB +aWJ +bfo +aWJ +alB +beY +aeZ +afy +afF +afV +acv +bgz +aWR +bfd +bgq +bgJ +bgF +bgX +bgq +cHJ +alB +cOb +cps +cMW +iwR +aZF +ami +aZF +bdi +aVJ +amV +anx +aXF +aXX +aYS +aZt +bbl +aNF +bep +aYe +aXQ +aSF +aTT +aZe +bfx +bab +aYd +bdV +beS +bhI +bhE +biQ +bkr +bmx +bod +bpx +mPm +blg +bBo +blg +blf +bjX +bJV +bHE +bkV +bjW +bAE +bEg +bPc +bLY +bQt +bNM +bOo +cgd +bNM +tYn +aVM +bNx +bSr +cyG +cyG +cyG +cyG +cyG +cyG +cyG +bSr +bXz +ccB +cgb +bAM +bAM +fcv +bAM +bUw +qLx +xJY +bEg +cKX +crm +cju +cms +cmE +cmQ +cju +bOC +cnV +cmh +bOb +cwi +cnF +cwP +cqZ +csu +cty +cLm +cwa +aaQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(150,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +alB +bfs +beZ +bft +alB +bfp +afa +bfm +bgu +aWR +aWP +aew +aWR +bgI +bgs +bgI +aWR +bhf +bhw +bhf +alB +cMG +arP +asL +aZF +aWZ +adX +bhx +bdi +aXq +bdm +aVJ +aVJ +aYN +aYT +dMc +bbJ +aNK +bgj +aYe +aZa +aSF +aZp +aUm +bdM +aZk +aYd +cjf +aCb +aCb +big +boE +big +aCb +bqC +btl +bhQ +bsW +buY +bly +bmr +bmu +bAH +bIm +bHR +bNg +bAF +bOC +bQe +bLZ +bkE +bRz +bRz +bMy +bOB +bZW +bWw +bTq +bSL +cyG +cyG +cyG +cyG +cyG +cyG +cyG +bSr +bEg +bEg +bEg +bPC +bPC +bEg +bPC +crG +bEg +bEg +bEg +bEg +cju +cju +cju +aLr +cjB +cju +bOb +cnW +cBs +cox +cwl +coC +cwR +cwZ +cxi +cnu +cnu +cnd +alm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(151,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aUz +aeu +aeu +aeu +alB +alB +alB +alB +pQf +alB +bfQ +bfQ +bfQ +aWR +bgw +ajB +aWR +bfq +aWJ +bbx +bhn +bfq +aWJ +bbx +alB +cby +cMP +ajO +iwR +aXf +aeG +aik +awU +amK +anf +bds +aVJ +aVJ +aVJ +beE +mIG +aNM +bgW +nNV +nNV +biB +aYg +aDI +aDI +aYd +aYd +bdW +aCb +bhM +bhF +biT +bja +big +bog +bpz +bra +bsX +bve +bxs +byH +bAa +bAI +bHF +buI +bhQ +bEw +bEg +bQf +bMc +bJT +bOK +bOK +bUg +cad +bhY +car +bTr +bSr +cyG +cyG +cyG +cyG +cyG +cyG +cyG +bSr +bYf +ceU +cgI +cDp +cDp +bOd +cDp +rNm +cgI +ceU +aeu +aeu +cju +cjw +csA +ctd +clV +cju +cma +bEg +cvG +cvL +cwm +cnd +cpb +crf +cnd +cnd +cko +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(152,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +alB +bfq +aWJ +bbx +aWR +bhg +akt +aWR +aWJ +ayv +aWJ +aWR +bhu +ayv +aWJ +alB +cMI +cMQ +ajU +aZF +aXR +bcx +aWU +bdi +aBh +aCD +aFR +bdx +dxq +aVJ +aZX +bbL +aNF +bep +baU +aRz +aSH +aTY +bdH +bbb +bdz +cby +clA +wmX +bjJ +blJ +biV +bku +big +boj +bjQ +bkg +bkw +bkg +blF +blY +blS +bAK +bCc +bCc +bOw +bAT +bOC +erN +bHT +bJh +bJK +bLD +bMA +bOD +bQQ +bSN +bTs +cav +cyG +cyG +cyG +cyG +cyG +cyG +cyG +bSr +bPJ +bUN +hxn +hxn +hxn +oTy +hxn +hxn +hxn +bUN +aeu +aeu +cju +cjx +csB +ctf +clW +cju +bEg +cku +clk +bYM +ckv +cku +cwS +cxg +cxj +ctO +cxp +aeU +ciQ +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(153,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aeU +aUz +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +alB +aWJ +ayv +aWJ +aWR +agv +aho +aWR +bfs +ikw +bft +aWR +bfs +aYh +bft +alB +afr +bkd +cNa +aZF +baJ +ayC +baJ +bdi +bfu +aCE +aZY +aJF +aWX +aVJ +nDw +bbM +aNT +aPo +bgv +aRA +aRI +bea +bfa +bbb +bdE +cbz +cLt +wmX +bhO +aqH +biI +bkx +bom +bop +bjR +bkq +bkA +bke +blr +bkY +blC +bls +bPj +bmo +bhQ +bGr +bAT +bOc +bPe +bPH +bPe +bOc +bVf +bTk +bXL +bXx +bPe +bSd +cyG +cyG +cyG +bTS +cyG +cyG +cyG +bSr +bPJ +bQa +hxn +hxn +hxn +hxn +hxn +hxn +hxn +bUN +bUE +aeu +bzG +bzG +bzG +bMK +clT +bzG +aeu +ckU +cvH +cvR +cws +ckU +cnu +cnd +cnu +cnu +cxq +cwk +cxu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(154,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +alB +bfs +qIR +bft +alB +bhl +brh +alB +alB +alB +alB +alB +alB +pQf +alB +alB +cng +cbj +aki +aZF +baP +ayD +bcH +bdi +aBi +aCG +aGa +aKu +aMe +bfB +sPG +bfr +bex +aTU +bbN +aRJ +aSI +aTZ +aVk +bbb +bdN +ccr +cmZ +aCb +bhP +bim +biZ +bkB +big +boq +bpA +blO +blL +bke +blK +bke +blD +bAP +bCf +bhQ +bhQ +bAM +bGH +bOc +bHZ +bJj +bJL +bRm +bMC +bOG +bQU +bUs +bTv +krJ +krJ +krJ +bPe +bWn +bWx +bSr +bSL +bSr +bSr +cgx +hxn +hxn +hxn +hxn +hxn +hxn +hxn +bUN +bUn +aeu +bzG +cjB +csH +ctk +ctM +bzG +aeu +clb +cvI +coL +cwu +ckU +aeu +aeu +aeu +aeu +aeu +aeu +anH +aeu +aUz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(155,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +alm +aeU +aeu +alB +alB +alB +alB +alB +cLG +ahp +cbk +aio +cmW +abx +cLg +cMw +cLK +cbk +cMC +cMK +cLt +cNd +aZF +aZF +aZF +aZF +bdi +bdi +aVX +bdw +bdv +aNA +aOi +aVJ +bcL +aNU +aPr +bbN +bba +baY +biB +bba +bbc +bbc +bbc +bgi +aCb +aCb +big +big +bom +aCb +jDv +bpB +bkl +bli +bnh +blz +bkY +blD +bAU +bml +bhQ +bMJ +bAM +bAM +bQl +bIc +bQo +bJM +bPe +bMF +bRs +bQV +bPe +bTw +bXg +bXs +bXF +bPe +bWq +caO +bWU +ccC +bXd +bYE +cTr +hxn +hxn +hxn +hxn +hxn +hxn +hxn +bUN +cke +aeu +bzG +cjC +clg +clP +ctU +bzG +aeu +ckU +cvJ +cvS +cwv +clb +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(156,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +aaa +aUz +aeu +aeu +aeu +bkd +abi +cLg +ahq +bEq +aip +cLY +abD +cMk +cMx +cMx +cMz +cMD +cML +cMR +cNe +cNq +abD +cNL +cLt +ctI +bdi +bdi +amV +aVJ +bfz +aVJ +aVJ +baK +aNU +aPt +bcs +bxn +bbO +aUc +aVl +ben +bct +bbc +cna +bok +bhQ +bio +bjb +bkC +bmD +aWQ +bpD +bkf +blb +bkf +bks +bkZ +bOI +buY +bmj +bhQ +bEg +bAO +bAT +bOc +bIf +bQp +bJR +bQu +bMM +bOM +bQX +bSe +bQK +bYe +bWy +bXk +bYi +cJp +caP +bWX +bXc +bUf +bUf +bUf +hxn +hxn +hxn +hxn +hxn +hxn +hxn +jAT +aeu +aeu +bzG +cjF +clE +clQ +ctW +bzG +aeu +ckU +ckU +cln +ckU +ckU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(157,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aUz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bUG +cko +cko +akA +beK +bkd +ava +bkd +agb +ahs +crU +aiq +cMb +cbk +abE +cLy +amp +ank +cMj +cLG +ctI +asP +auq +bkd +cNM +abD +cNU +ayj +awi +aXA +aFw +aHL +baD +baE +bbm +aNV +aPw +baS +baY +bbP +aUd +baz +bck +ber +bbc +cMK +cbj +bhQ +bAZ +bjc +bkD +bmI +aXh +bpE +brc +btb +bvh +bxw +byI +bmv +bAW +bms +bhQ +bNs +bAT +bAv +bOc +bOc +bOc +bPe +gJq +bVJ +bUm +bYd +bOc +bQT +bSC +bSE +bTA +bOc +bSr +bTN +bUc +cji +bUh +bUf +bUN +hxn +hxn +hxn +hxn +hxn +hxn +hxn +bUN +aeu +aeu +bzG +cjG +clF +clR +ctX +bzG +aeu +aeu +ckz +cvV +ckz +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aUz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(158,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeU +aeU +aUz +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acK +cko +aaa +aaa +aaa +agy +afJ +avA +ctI +ahw +bkd +bkd +bkd +cLr +cLs +cLs +cLE +cMm +cLs +cLr +cLs +cNg +cNs +ava +bkd +bkd +cNV +ayl +awi +aXB +aFw +aHN +aJd +aKK +aLP +aNX +aPD +aQE +bhk +aSJ +aUg +baz +bcl +baG +bbc +cmX +boo +bhH +bhW +bmN +boK +emD +bhH +bjV +bkh +bkv +bmq +bkM +byJ +blk +buY +bmm +bhQ +bNT +bBa +czd +bAT +bAM +bOc +bKm +bLE +bMN +bON +bQY +bSQ +bPe +bOc +bWz +bYi +bTZ +bZh +bTC +bXX +bWY +bUi +caN +ceW +hxn +hxn +hxn +hxn +hxn +hxn +hxn +bUN +aeu +aeu +bzG +cjB +csI +ctn +ctY +bzG +aeu +aeu +ckz +ckJ +ckz +aeU +aeU +aeu +aeu +aeu +ciQ +aeu +alm +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(159,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +acy +aaa +aaa +aaa +cLd +cLg +bMI +cLK +abt +bkd +aeu +aeu +cLr +akq +als +amr +anp +app +aqf +cLs +cNh +auu +axl +cNN +azB +cna +cOb +awi +aDX +aFz +aHP +aJf +aKL +aLS +aNY +aPG +bbN +bba +bcn +aUi +aVm +bcr +beI +bbc +cnD +bhH +bhH +biq +bjd +bkF +bjv +bhH +bhQ +bki +bki +bhQ +bkN +bIG +bki +bMB +blH +bhQ +bEg +bEg +bEg +bGH +bGH +bQM +bKo +bLF +bMO +bOR +cak +aIY +cmD +bTe +bXu +bXn +cmj +bZj +bTD +bWZ +bVl +bXl +bUf +bUN +hxn +hxn +hxn +hxn +hxn +hxn +hxn +bUN +cke +aeu +bzG +bzG +bzG +bzG +bzG +bzG +aeu +aeu +aeU +cwb +aeU +aeU +aUz +aeU +aeu +aeu +acm +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(160,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaB +aaa +aaa +aaa +acK +cko +aaa +aaa +aaa +agy +cLg +avA +agw +ava +ava +aeu +aeu +cLs +akr +cLA +cMf +cMq +cMl +aql +cLr +cNi +auv +axo +cNO +azC +cOf +ctI +awi +auL +bbS +bbs +bcc +bce +aLZ +aOc +bbW +bbN +bbT +bcp +aUk +aVo +beh +bcu +bbc +cne +bhH +bya +biH +bje +bkH +bkK +bhH +acm +aaa +acm +bki +bkO +byK +bki +bAY +blI +bki +acm +aaQ +bPC +bTg +bIg +bOc +bKs +bRp +bRE +bOW +cal +cmr +aWs +crl +bXC +bXo +bYg +bZk +bTO +cbu +bXc +bUf +bUf +bUf +hxn +hxn +hxn +hxn +hxn +hxn +hxn +jAT +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +ctP +aeU +aeU +coy +aeU +aeU +aeU +acm +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(161,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bUG +cko +cko +akA +bhq +ava +bkd +bkd +ava +bkd +aeu +aeu +aeu +cLs +cLs +cLH +cMg +cMt +cME +cMr +cLs +bkd +ava +bkd +bkd +azD +cNG +aBj +akk +bcI +bbn +bbv +bbB +bbE +aMf +aOf +bcd +bbN +bba +bba +biY +bba +bbc +bbc +bbc +bdX +cGT +bgt +bhN +bjf +bkI +bju +bhW +acK +acK +bUG +blE +bkN +bIQ +bll +bOg +blH +blE +bUG +acK +bEg +bEg +bEg +bOc +bWO +bPe +bOc +bOX +bRU +cmr +bRA +crl +bXD +bXt +bYg +bZm +caQ +cbB +bWt +bXd +ccm +cTr +hxn +hxn +hxn +hxn +hxn +hxn +hxn +bUN +cpF +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aUz +aeU +ctQ +aeU +aeU +aeU +aeU +coy +aeU +aaQ +aeo +aeo +aeo +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(162,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aUz +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +cLr +aku +cLC +cLI +cMu +cMn +aqm +cLs +cbj +cbk +cNn +cMk +clA +bkd +bkd +bbi +bbi +bbi +bbA +bcJ +bdh +aPm +bda +bcf +bbN +bci +aSK +aUl +aVS +aYn +bbN +ccs +bdY +bhH +bhV +bis +bjj +bkL +blh +bhH +aaa +aaa +aaa +aaa +aaa +bnb +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +bPe +bfC +bUx +bvo +bPe +bOZ +bRV +bNz +bSn +crl +bRt +bXw +bWM +bPe +bZC +bPe +bOc +bSr +bSd +cgg +hxn +hxn +hxn +hxn +hxn +hxn +hxn +bUN +bUE +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aeU +aeU +ctQ +aeU +aeU +aeU +aeU +aeU +aaa +aaQ +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(163,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +cLs +akD +alu +ams +anq +apq +aqn +cLr +alD +bVG +anQ +bkd +cNC +bkd +acm +aXs +aXK +baX +bbX +bbC +bby +aMg +aOh +bcg +beH +bcR +aSM +aUn +baC +aYp +bcD +bgi +bkd +bhH +bhH +bhW +biS +bhW +bhH +bhH +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +bOc +bfE +bVE +bXi +cCH +bPb +bRZ +cmr +bRA +crl +bXy +bXA +bXN +bTG +caS +bTR +bOc +bPJ +bPK +ceX +hxn +hxn +hxn +hxn +hxn +hxn +hxn +bUN +cpF +aeu +aeu +aeu +aUz +aeU +ckg +ckg +ckg +ckg +ckg +ctR +ckg +ckg +ckg +ckg +ckg +acm +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(164,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +cLs +cLs +cLr +cLs +cLr +cLs +cLs +cLr +asS +aux +axq +cMx +cNF +cNY +acK +aXs +aXN +bbt +bca +bbD +bbK +aMl +aOn +bcj +bgy +aYc +aSS +aUo +baC +aYr +bbN +ccu +avA +acm +bhW +bit +bjm +bjl +bhW +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acK +bPe +bfF +bVZ +bRs +bPe +bOZ +bSb +cmr +cGz +cro +bRt +bXA +cFE +bTt +caW +bZL +bOc +bPJ +bPJ +bUN +hxn +hxn +hxn +hxn +hxn +hxn +hxn +bUN +aeu +aeu +aeu +aeU +aeU +aeU +coi +ctG +ctG +ctG +ctG +cub +cuo +cuo +cuo +cuo +cCl +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(165,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +cHa +cHa +cLQ +cNp +cHa +afr +cNg +acm +aXs +baq +bbw +bbX +bbF +bby +aMp +aOo +cOx +beH +bbI +bcb +bcQ +bbN +cbf +bbN +cfi +avA +acm +bhW +biu +bjo +bmW +bhW +aaQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acK +bOc +bfG +bKt +bLG +bRH +bPd +bSc +cmD +cpu +cmD +bXE +bPd +bzl +bZn +caY +bXf +bWO +aeu +bPJ +bUN +hxn +hxn +hxn +hxn +hxn +hxn +hxn +bUN +aeu +aeu +aeu +aeU +aeU +aeU +ckm +ckm +ckm +ckm +ckm +ctQ +ckm +ckm +ckm +ckm +ckm +acm +aeo +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(166,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aUz +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aUz +aeU +aeu +aeu +aeu +aeu +aeu +aap +aeu +aeu +aeu +aeu +cHb +asT +auA +axr +cHa +cne +bkd +bkd +bbi +bbi +bbi +bcA +bcM +bbi +bbi +cxQ +bbi +awi +bbN +baC +baC +bcD +aYs +cbk +cna +bkd +bUG +bkc +bhW +bnl +bhW +bkc +bUG +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acK +bPe +bfI +bSA +bLK +bPe +bPf +bQZ +bQZ +bRs +bQZ +bWA +bXB +bPe +bZv +bXA +bTU +bOc +aeu +bPJ +bUj +bRv +bRv +bRv +bRv +bRv +bRv +bRv +bUj +aeu +aeu +aeU +aeU +aeU +aeU +cuc +ckk +aaa +aaa +ckk +ctQ +ckk +aaa +aaa +ckk +cuc +aaa +aaa +aaQ +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(167,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aap +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aUz +aap +aeu +aeu +aeu +cHc +atb +cLU +axt +cHa +cNW +cOg +abD +cMD +cmZ +aFC +bEq +aJm +aFF +cbk +ccs +cMx +cMD +anW +aSV +cor +aVp +aYt +anW +bcy +bkd +aaa +aaa +aaa +blu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +bOc +bPe +bPe +bRx +bTx +bWf +bPe +bPe +bTE +bPe +bPe +bWf +krJ +bWf +bPe +bPe +bOc +aeu +aeu +cfW +cgJ +cgJ +cgJ +cgJ +cgJ +cgJ +cgJ +agt +aeu +aeu +aeU +aeU +aeU +ckg +ckg +ckg +ckg +ckg +ckA +ctQ +ckA +ckg +ckg +ckg +ckg +ckg +acm +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(168,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aUz +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +cHb +ate +auB +axx +cNB +bkd +ava +bkd +cLg +cNW +aFE +cFv +cMx +cMD +axO +cOm +cbj +aio +auz +aSZ +cOo +aVt +aYv +cbm +cue +bkd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +acm +acm +bPe +bLL +bPe +bPg +bPe +acm +acm +acm +bPe +bLL +bPe +bZw +bPe +acm +aeu +aeu +aUz +acm +cmJ +ivg +ivg +cmJ +ivg +ivg +cmJ +acm +aeU +aeU +aeU +aUz +aeU +coi +ctG +ctG +ctG +ctG +ctN +cDs +cBJ +cuo +cuo +cuo +cuo +cCl +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaB +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(169,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bUG +bVu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +cui +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeU +aeU +aap +aeu +aeu +cHb +cHb +cLV +cHb +cHb +aeu +aeu +bkd +aze +aAG +cbj +cLt +aJn +cLg +aMq +ava +bkd +bkd +ava +avA +avA +bkd +bBX +bkd +cwC +bkd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bUG +aaa +bUG +bPe +bSM +bTl +bXe +bPe +bUG +aaa +bUG +bPe +bXe +bTl +bXe +bPe +bUG +acm +acm +acm +bUG +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bUG +aeU +aaa +acm +aaa +aeU +ckm +ckm +ckm +ckm +ckm +ckA +ctQ +ckA +ckm +ckm +ckm +ckm +ckm +acm +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(170,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aap +coy +aeu +aeu +aeu +aeu +aeu +cLM +auJ +cLM +aeu +aeu +aeu +bkd +ava +ava +bkd +ava +avA +crw +avA +bkd +aeu +aeu +aeu +acm +aaa +acm +aaa +bkd +cwD +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 +bRQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +aaa +acm +aaa +acm +aaa +cuc +ckk +aaa +aaa +ckk +ctQ +ckk +aaa +aaa +ckk +cuc +aaa +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(171,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aUz +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +cLM +cMH +cLM +aeu +aeu +aeu +aeu +aeu +aeu +aeu +bkd +cLK +cLK +afJ +ava +aeu +alm +acm +aaQ +aeo +aeo +acm +acm +acK +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaQ +aeo +aeo +aeo +acm +aeo +acm +ckg +ckg +ckg +ckg +ckg +ctR +ckg +ckg +ckg +ckg +ckg +acm +aeo +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(172,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aap +aeU +aUz +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aUz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +auN +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +ava +agy +cLR +agy +bkd +aeu +aeU +aaa +acm +aaa +acm +aaa +acm +acK +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cmJ +aaa +aeo +aaa +coi +ctG +cKj +ctG +ctG +cub +cuo +cuo +cuo +cuo +cCl +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(173,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +cMT +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +beK +aaa +aaa +aaa +bhq +aeu +aUz +aaa +aaQ +aaa +acm +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaB +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaQ +aeo +acm +aeo +acm +ckm +ckm +ckm +ckm +ckm +ctQ +ckm +ckm +ckm +ckm +ckm +acm +aaQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(174,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeu +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +alm +aeu +aeU +aUz +coy +aeU +aeU +aeU +cMU +aeU +aeU +aUz +aeU +aeu +aeu +aeu +aeu +akA +aaa +aaa +aaa +akA +aeu +aeU +aaa +aeo +aaa +acm +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaQ +aaa +aaa +acm +aaa +acm +aaa +ctR +aaa +acm +aaa +acm +aaa +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(175,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aUz +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaQ +aeU +aeU +aeU +aeU +aeU +aeU +aeU +cMU +aeU +aeU +aeU +aeU +aeU +aeU +aeu +aeu +cko +aaa +aaa +aaa +cko +aeu +aeu +aeU +acm +aaa +acK +acm +acK +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaB +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +aeo +aeo +aeo +aeo +acm +acm +ckQ +acm +aaQ +acm +aeo +aeo +aeo +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(176,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aeU +aeU +cGV +cGV +cGV +cGV +cGV +cMV +cGV +cGV +cGV +cGV +cGV +aeU +aeU +aeu +cko +cko +cOd +cko +cko +aeu +aeu +aeu +alm +acm +acm +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +aaa +acm +aaa +aaa +aaa +aeo +aaa +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(177,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aeU +cGW +bxv +cGZ +cGZ +cGZ +cNj +cNy +cNy +cNy +cNy +cNI +aeU +aeU +aof +bUG +acK +acm +acK +bUG +aeu +aeu +aeu +aeu +aaa +acm +aaa +acm +aaa +aaa +bUG +acm +acK +acK +acK +acm +bUG +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +aeo +aeo +aeo +acm +acm +aeo +aeo +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(178,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +acm +aeU +cGX +cGX +cGX +cGX +cGX +cMU +cGX +cGX +cGX +cGX +cGX +aeU +aeU +aeU +aaQ +aaa +aaa +aaa +acm +aeu +aeu +aeu +aeu +aaa +aeo +aaa +acm +acm +acm +aaQ +aeo +aeo +acm +aeo +aeo +aaQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(179,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aeo +aaa +aaa +anr +ckk +aaa +aaa +ckk +cMU +ckk +aaa +aaa +ckk +anr +aeU +aeU +aUz +alm +aeo +aeo +aaQ +alm +aeu +aeu +aeu +aeu +aeu +aeo +aaa +acm +aaa +aaa +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaQ +aeo +aeo +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(180,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +acm +acm +aaQ +cGV +cGV +cGV +cGV +cGV +cLN +cMU +cLN +cGV +cGV +cGV +cGV +cGV +aeU +aeU +aaQ +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aaQ +aaa +acm +acm +aaQ +aeo +aeo +acm +aeo +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(181,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aeo +aaa +cGW +cGZ +cGZ +cGZ +cGZ +cLO +cDm +cNz +cNy +cNy +cNy +cNy +cNI +aeU +aeU +aeo +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +acm +aaa +acm +aaa +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(182,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaQ +aaa +aeo +acm +cGX +cGX +cGX +cGX +cGX +cLN +cMU +cLN +cGX +cGX +cGX +cGX +cGX +aeU +aeU +aeo +aaa +aaa +aaa +aaa +aeu +aeu +aeu +alm +acm +acm +aaa +acm +aaQ +aeo +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(183,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aap +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aUz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaB +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaQ +aaa +aaa +anr +ckk +aaa +aaa +ckk +cMU +ckk +aaa +aaa +ckk +anr +aeU +aeU +aeU +acm +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeU +aaa +acK +acm +acK +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(184,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaQ +acm +aaQ +aeo +acm +cGV +cGV +cGV +cGV +cGV +cMV +cGV +cGV +cGV +cGV +cGV +aeU +aeU +aeU +alm +acm +aaQ +aeo +acm +alm +aeu +aeU +aUz +aaa +acm +aaa +aaQ +acm +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(185,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aeo +aaa +cGW +cGZ +cGZ +cGZ +cGZ +cNj +cNy +cNy +cNy +cNy +cNI +aeU +coy +aof +aeu +aeu +aaa +aaa +aaa +aeu +aeu +aeU +aaa +aaa +acm +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(186,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aUz +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aUz +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aeU +aeU +aUz +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +acm +aaQ +acm +cGX +cGX +cGX +cGX +cGX +cMU +cGX +cGX +cGX +cGX +cGX +aeU +aUz +aeu +aeu +aeu +aeU +aaa +aaa +aeu +aaa +aaa +aaa +aaa +acm +aaa +aeo +acm +aeo +aaQ +aaa +aaa +aaB +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(187,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aap +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aeo +aaa +aaa +acm +aaa +acm +aaa +cMV +aaa +aeU +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aUz +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaQ +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(188,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +cui +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aeU +aUz +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aeo +aeo +aaQ +aeo +aeo +aaQ +cNl +acm +acm +acm +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aUz +aaa +aaa +aaB +aaa +aaa +aaa +aeo +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(189,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aUz +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +aaa +aaa +aeo +aaa +acm +aaa +aUz +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aaQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(190,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aUz +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaQ +aeo +aeo +acm +acm +acm +aeo +acm +alm +aeu +aeu +aeu +aeU +aap +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(191,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bUG +bVu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aap +aeU +aeU +aUz +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaQ +aaa +aaa +aaa +aeu +aeu +aeu +aUz +aeU +aeU +aeu +aeu +alm +acm +aaQ +aeo +aeo +aeo +aaQ +aeo +acm +acK +acm +acK +acm +aaQ +aeo +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(192,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aap +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aaa +aeu +aeu +aeu +aeu +aap +aeu +aUz +aeu +aeu +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(193,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aUz +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaQ +aeo +aeo +acm +aaQ +alm +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(194,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +cui +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aeU +aeu +aeu +aaa +aaa +aeu +aeu +aeu +aaa +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(195,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaQ +aaa +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +aaa +aaQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(196,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aUz +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aap +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(197,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aUz +aeU +aeU +aeU +aeU +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaB +aaa +aaa +aaa +aaa +aaa +aaQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(198,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aaa +aaa +aeU +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(199,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aap +aeU +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aeo +acm +aaQ +aeo +aeo +aeo +acm +acm +acm +alm +aeu +alm +acm +aeo +aeo +aaQ +aeo +aeo +aeo +acm +acK +acm +acK +acm +aeo +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(200,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aUz +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(201,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +coy +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +coy +aaa +aaa +aaa +aaa +aaa +aaa +acm +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(202,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bVu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaQ +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +acm +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(203,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bUG +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aUz +aaa +aaa +aaa +aaa +aaa +aeo +aaa +aaQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(204,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aUz +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aeu +alm +aeU +aUz +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeU +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aeo +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(205,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +coy +aeU +aeU +aeU +aeU +aeU +aeU +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +coy +aaa +aaa +aaa +aeU +aeU +aeu +aeu +aUz +aeU +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +acm +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(206,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aUz +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aap +aeU +aeU +aeU +aeU +aUz +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeU +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +acm +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(207,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeu +aeu +aeu +aeu +aeu +aeU +aUz +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +alm +aaQ +aeo +aeo +acm +acK +acm +acK +acm +aeo +aeo +aaQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(208,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +acm +aaa +aaa +aaa +aaa +acm +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(209,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +acm +aaa +aaa +aaa +aaa +aaQ +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(210,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aUz +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaQ +aaa +aaa +aaa +aaa +aaQ +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(211,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aeo +aaa +aaa +aaa +aaa +aeo +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(212,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aeo +aaa +aaa +aaa +aaa +aeo +aaa +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(213,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aeo +aaa +aaa +aaa +aaa +aeo +aaa +aaQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(214,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aUz +aeu +aeu +aeu +aaa +aaa +acm +aaa +aaa +aaa +aaa +acm +aaa +aaQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(215,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aUz +aeU +coy +aeU +aeu +aeu +aeu +aeu +aeu +aaa +aeo +aaa +aaa +aaa +aaa +acK +acm +acK +acm +aeo +aaa +aaa +aaa +aeU +aUz +aeU +aeu +ciQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(216,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aUz +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aeo +aaa +aaa +aaa +aaa +aaQ +aaa +acm +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +acm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(217,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +acm +aaa +aaa +aaa +aaa +acm +aaa +acm +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aaQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(218,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +coy +ciQ +acm +aeo +aaQ +acm +aaa +acm +acm +aaQ +aeo +ciQ +aeu +aeu +aeu +aeU +aaa +aeo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(219,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeu +aeu +acm +aaa +acm +cbU +ccx +cbU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +coy +aaa +aaQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(220,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aUz +aeu +aeu +aeu +aUz +aeu +cco +cbU +ccx +cbU +bVI +aeu +aeu +aeu +aeu +aeu +aUz +aeU +aaa +aeU +aeU +aUz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(221,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bVu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aUz +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeu +aeu +aeu +aeu +cbU +cbU +aVC +ccx +aVC +cbU +cbU +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeU +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(222,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bUG +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +coy +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeu +aeu +aeu +bVH +bVH +aUp +aVI +ccx +ccx +bcz +bVH +caT +aeu +aeu +aeu +aeu +aeU +aUz +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(223,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +cbU +cbX +ccx +ccx +ccE +ccx +ccF +cGy +cbU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(224,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aUz +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +caT +bVH +aUp +ccx +ccF +ccx +bcz +caT +bVH +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(225,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aUz +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aUz +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aap +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +cbU +cbU +aVN +aYy +aVN +cbU +cbU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(226,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +coy +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aUz +aeu +aeu +aeu +aeu +aeu +aeu +aeu +cco +cbU +ccH +cbU +bVI +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(227,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aUz +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aUz +aeU +aeU +aap +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +cbU +bVH +cbU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(228,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeU +aaa +aeu +aeu +aeu +aeu +aeu +bVu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aUz +aeu +aeu +aeu +aap +aeu +aeu +aap +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(229,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bUG +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aUz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(230,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +coy +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(231,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(232,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(233,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aUz +aeU +aeU +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(234,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aaa +aaa +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(235,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +aeu +aaa +aaa +aaa +aaa +aaa +aaa +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(236,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bVu +aaa +aaa +aaa +aaa +aaa +aaa +bVu +aeu +aaa +aaa +aeu +aeu +aeu +aaa +aeu +aeu +aeu +aaa +aeU +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(237,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bUG +aaa +aaa +aaa +aaa +aaa +aaa +bUG +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aUz +aeU +aeu +aeu +aeU +aeu +aeu +aeu +aeu +aeU +aUz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(238,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aeU +bVu +aUz +aeU +aeu +aeu +bVu +aeU +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(239,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bUG +aaa +aaa +aaa +aaa +bUG +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(240,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(241,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(242,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(243,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(244,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(245,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(246,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(247,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(248,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(249,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(250,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(251,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(252,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(253,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(254,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(255,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 3c8e251bb1..e33bb015f4 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -52211,6 +52211,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/effect/landmark/start/paramedic, /turf/open/floor/plasteel/white, /area/medical/storage) "bZZ" = ( @@ -54651,6 +54652,7 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, +/obj/effect/landmark/start/paramedic, /turf/open/floor/plasteel/white, /area/medical/storage) "cez" = ( diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm index 13dd939ad7..ac795671ea 100644 --- a/_maps/map_files/Mining/Lavaland.dmm +++ b/_maps/map_files/Mining/Lavaland.dmm @@ -74,9 +74,47 @@ "an" = ( /turf/closed/mineral/random/labormineral/volcanic, /area/lavaland/surface/outdoors) +"ao" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/mob/living/simple_animal/bot/secbot/beepsky{ + desc = "Powered by the tears and sweat of laborers."; + name = "Prison Ofitser" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) +"ap" = ( +/turf/open/floor/plating, +/area/lavaland/surface/outdoors) "aA" = ( -/turf/open/lava/smooth/lava_land_surface, -/area/template_noop) +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/mine/laborcamp) +"aD" = ( +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) "aQ" = ( /obj/structure/stone_tile/surrounding_tile{ dir = 1 @@ -91,6 +129,73 @@ /obj/item/t_scanner/adv_mining_scanner/lesser, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"aV" = ( +/obj/machinery/vending/sustenance, +/turf/open/floor/plasteel, +/area/mine/laborcamp) +"bd" = ( +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/mine/laborcamp) +"bf" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Infirmary" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/white, +/area/mine/laborcamp) +"bs" = ( +/turf/closed/wall, +/area/lavaland/surface/outdoors) +"bC" = ( +/obj/machinery/light, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) +"bG" = ( +/obj/structure/ore_box, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/explored) +"bP" = ( +/obj/machinery/computer/security/labor, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) +"bY" = ( +/obj/machinery/computer/shuttle/labor/one_way{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) +"cb" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) +"ch" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/machinery/power/port_gen/pacman{ + anchored = 1 + }, +/turf/open/floor/plating, +/area/mine/laborcamp/security) +"cn" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) "cp" = ( /obj/structure/stone_tile, /obj/structure/stone_tile{ @@ -98,6 +203,12 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"cq" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "cu" = ( /obj/item/pickaxe, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, @@ -119,6 +230,36 @@ /obj/effect/decal/cleanable/blood, /turf/open/indestructible/boss, /area/ruin/unpowered/ash_walkers) +"cV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) +"dg" = ( +/obj/docking_port/stationary{ + area_type = /area/lavaland/surface/outdoors; + dir = 8; + dwidth = 2; + height = 5; + id = "laborcamp_away"; + name = "labor camp"; + width = 9 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/explored) +"dj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "dA" = ( /obj/structure/stone_tile/block{ dir = 4 @@ -138,6 +279,12 @@ /obj/structure/stone_tile/block/cracked, /turf/closed/mineral/volcanic/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"dG" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/white, +/area/mine/laborcamp) "dM" = ( /obj/structure/stone_tile/cracked{ dir = 8 @@ -194,11 +341,48 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"eR" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/obj/machinery/camera{ + c_tag = "Labor Camp Medical"; + dir = 8; + network = list("labor") + }, +/turf/open/floor/plasteel/white, +/area/mine/laborcamp) +"eS" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock{ + name = "Labor Camp External Access" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) +"eW" = ( +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) +"fc" = ( +/obj/machinery/mineral/unloading_machine{ + dir = 1; + icon_state = "unloader-corner"; + input_dir = 1; + output_dir = 2 + }, +/turf/open/floor/plating, +/area/mine/laborcamp) "ft" = ( /obj/structure/stone_tile/block, /obj/item/twohanded/bonespear, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"fC" = ( +/turf/closed/wall/r_wall, +/area/mine/laborcamp/security) "fN" = ( /obj/structure/stone_tile{ dir = 4 @@ -232,6 +416,10 @@ /obj/structure/stone_tile/slab, /turf/open/indestructible/boss, /area/lavaland/surface/outdoors) +"gg" = ( +/obj/structure/table, +/turf/open/floor/plasteel/white, +/area/mine/laborcamp) "gj" = ( /obj/structure/stone_tile/surrounding_tile{ dir = 1 @@ -260,6 +448,9 @@ /obj/structure/stone_tile/block, /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) +"gq" = ( +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/explored) "gr" = ( /obj/structure/stone_tile{ dir = 1 @@ -418,6 +609,15 @@ /obj/effect/decal/cleanable/blood, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"hG" = ( +/obj/item/radio/intercom{ + desc = "Talk through this. It looks like it has been modified to not broadcast."; + name = "Prison Intercom (General)"; + pixel_y = 24; + prison_radio = 1 + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "hH" = ( /obj/structure/stone_tile/block{ dir = 1 @@ -438,6 +638,22 @@ }, /turf/open/indestructible/boss, /area/lavaland/surface/outdoors) +"hU" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/smes{ + charge = 5e+006 + }, +/turf/open/floor/plating, +/area/mine/laborcamp/security) +"hY" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "gulag" + }, +/turf/open/floor/plating, +/area/mine/laborcamp) "ia" = ( /obj/item/reagent_containers/glass/bucket, /obj/structure/stone_tile/block/cracked{ @@ -462,6 +678,15 @@ /obj/structure/stone_tile/slab/cracked, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"iq" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/sign/warning/electricshock{ + pixel_y = -32 + }, +/turf/open/floor/plating, +/area/mine/laborcamp/security) "ir" = ( /obj/structure/stone_tile/slab/cracked{ dir = 5 @@ -498,6 +723,14 @@ /obj/structure/stone_tile/cracked, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"iB" = ( +/obj/item/bikehorn{ + color = "#000"; + desc = "A horn off of a bicycle. This one has been charred to hell and back, yet somehow it still honks."; + name = "charred bike horn" + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/explored) "iC" = ( /obj/structure/stone_tile/block{ dir = 1 @@ -643,12 +876,30 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"ju" = ( +/obj/machinery/door/airlock{ + name = "Vending" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "jx" = ( /obj/structure/stone_tile{ dir = 4 }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"jD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) "jF" = ( /obj/structure/stone_tile/surrounding_tile, /obj/structure/stone_tile/surrounding_tile{ @@ -1004,6 +1255,12 @@ }, /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) +"lL" = ( +/obj/structure/table, +/obj/item/trash/plate, +/obj/item/kitchen/fork, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "lP" = ( /obj/structure/stone_tile/block/cracked{ dir = 4 @@ -1048,6 +1305,13 @@ }, /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) +"lY" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/mine/laborcamp/security) "lZ" = ( /obj/structure/stone_tile/block/cracked{ dir = 4 @@ -1459,12 +1723,24 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"nC" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) +"nE" = ( +/turf/closed/mineral/random/volcanic, +/area/lavaland/surface/outdoors/explored) "nI" = ( /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) "nJ" = ( /turf/closed/wall/mineral/wood, /area/ruin/unpowered/ash_walkers) +"nQ" = ( +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) "nU" = ( /obj/structure/stone_tile, /obj/item/shard, @@ -1485,9 +1761,12 @@ /turf/open/indestructible/boss, /area/ruin/unpowered/ash_walkers) "ol" = ( -/obj/effect/landmark/stationroom/lavaland/station, -/turf/open/lava/smooth/lava_land_surface, -/area/template_noop) +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/mine/laborcamp) "ot" = ( /obj/structure/stone_tile/surrounding_tile, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, @@ -1499,6 +1778,14 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"oL" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/closet/secure_closet/labor_camp_security, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) "oS" = ( /obj/structure/stone_tile/cracked{ dir = 8 @@ -1508,6 +1795,10 @@ /obj/structure/safe, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"oW" = ( +/obj/structure/gulag_beacon, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "pc" = ( /obj/effect/decal/cleanable/blood, /obj/structure/stone_tile/block, @@ -1519,6 +1810,12 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"pf" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "pq" = ( /obj/structure/stone_tile/cracked{ dir = 1 @@ -1565,6 +1862,26 @@ }, /turf/closed/indestructible/riveted/boss, /area/lavaland/surface/outdoors) +"pR" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/mine/laborcamp) +"pX" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/mine/laborcamp/security) +"qe" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/red, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) "qh" = ( /obj/structure/stone_tile/surrounding/cracked{ dir = 1 @@ -1579,6 +1896,15 @@ initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered/ash_walkers) +"qr" = ( +/obj/machinery/door/airlock{ + name = "Restroom" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) "qA" = ( /obj/item/flashlight/lantern, /obj/structure/stone_tile/center, @@ -1598,6 +1924,19 @@ /obj/structure/stone_tile/slab, /turf/closed/indestructible/riveted/boss, /area/lavaland/surface/outdoors) +"rb" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/mine/laborcamp/security) "rz" = ( /obj/item/storage/box/rxglasses, /obj/structure/stone_tile{ @@ -1681,10 +2020,23 @@ /obj/item/stack/sheet/mineral/coal, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"sN" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "sR" = ( /obj/structure/stone_tile/block/cracked, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"tp" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plating, +/area/mine/laborcamp/security) "ty" = ( /obj/structure/stone_tile, /obj/structure/stone_tile{ @@ -1706,10 +2058,22 @@ /obj/item/construction/rcd/loaded/upgraded, /turf/open/indestructible/boss, /area/ruin/unpowered/ash_walkers) +"tM" = ( +/obj/machinery/door/poddoor/preopen{ + id = "labor"; + name = "labor camp blast door" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "ub" = ( /obj/structure/stone_tile/slab, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"ug" = ( +/obj/structure/table, +/obj/item/storage/firstaid/regular, +/turf/open/floor/plasteel/white, +/area/mine/laborcamp) "ui" = ( /obj/structure/stone_tile/cracked{ dir = 4 @@ -1729,12 +2093,36 @@ initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered/ash_walkers) +"up" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/closet/secure_closet/freezer/gulag_fridge, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) "uz" = ( /obj/structure/stone_tile/block/cracked{ dir = 1 }, /turf/closed/indestructible/riveted/boss, /area/lavaland/surface/outdoors) +"uB" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "Labor Camp APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/mine/laborcamp) "vi" = ( /obj/structure/stone_tile/block{ dir = 1 @@ -1745,6 +2133,9 @@ }, /turf/open/indestructible/boss, /area/ruin/unpowered/ash_walkers) +"vt" = ( +/turf/open/floor/plasteel, +/area/mine/laborcamp) "vu" = ( /obj/structure/stone_tile/surrounding_tile/cracked, /obj/structure/stone_tile/surrounding_tile/cracked{ @@ -1758,6 +2149,28 @@ initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered/ash_walkers) +"vz" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) +"vI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) +"vP" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock{ + name = "Labor Camp External Access" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "vR" = ( /obj/machinery/hydroponics/soil, /obj/structure/stone_tile/block/cracked{ @@ -1792,6 +2205,23 @@ }, /turf/closed/indestructible/riveted/boss, /area/lavaland/surface/outdoors) +"wN" = ( +/obj/machinery/mineral/processing_unit{ + dir = 1 + }, +/turf/open/floor/plating, +/area/mine/laborcamp) +"wW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) "xr" = ( /obj/structure/stone_tile/cracked{ dir = 4 @@ -1818,6 +2248,10 @@ /obj/structure/stone_tile/block, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"xR" = ( +/obj/machinery/mineral/processing_unit_console, +/turf/closed/wall, +/area/mine/laborcamp) "xX" = ( /obj/structure/stone_tile/block{ dir = 8 @@ -1825,6 +2259,18 @@ /obj/item/pickaxe, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"yd" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/mine/laborcamp/security) "yf" = ( /obj/machinery/hydroponics/soil, /obj/structure/stone_tile/surrounding_tile/cracked{ @@ -1841,6 +2287,18 @@ /obj/structure/stone_tile/block, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"yw" = ( +/obj/machinery/conveyor_switch/oneway{ + id = "gulag" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) +"yW" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/mine/laborcamp) "zf" = ( /obj/structure/stone_tile, /obj/structure/stone_tile{ @@ -1861,6 +2319,35 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"zx" = ( +/obj/structure/table, +/obj/item/storage/fancy/donut_box, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) +"zQ" = ( +/obj/structure/toilet{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating, +/area/mine/laborcamp/security) +"Aa" = ( +/obj/machinery/door/airlock{ + name = "Labor Camp Storage" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "Ad" = ( /obj/structure/stone_tile{ dir = 4 @@ -1887,10 +2374,37 @@ /obj/item/twohanded/bonespear, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"AP" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Labor Camp Security Office"; + dir = 1; + network = list("labor") + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) +"AR" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/button/door{ + id = "labor"; + name = "Labor Camp Lockdown"; + pixel_y = 28; + req_access_txt = "2" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "AU" = ( /obj/structure/stone_tile, /turf/closed/mineral/volcanic/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"AX" = ( +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/explored) "AY" = ( /obj/structure/stone_tile, /obj/structure/stone_tile{ @@ -1911,6 +2425,15 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"Bg" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "Bj" = ( /obj/structure/stone_tile/block{ dir = 4 @@ -1937,6 +2460,15 @@ /obj/item/flashlight/lantern, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"Bv" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/security/glass{ + name = "Labor Camp Shuttle Prisoner Airlock" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "BF" = ( /obj/structure/flora/rock/jungle, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, @@ -1989,6 +2521,12 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"Cy" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) "CG" = ( /obj/structure/stone_tile/cracked{ dir = 4 @@ -2034,6 +2572,13 @@ /obj/structure/stone_tile, /turf/open/indestructible/boss, /area/ruin/unpowered/ash_walkers) +"DQ" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/item/book/granter/crafting_recipe/bone_bow, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) "Ef" = ( /obj/structure/stone_tile/block/cracked, /turf/open/lava/smooth{ @@ -2046,6 +2591,21 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"ED" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) "EQ" = ( /obj/structure/stone_tile/surrounding/cracked, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, @@ -2068,6 +2628,31 @@ }, /turf/closed/indestructible/riveted/boss, /area/lavaland/surface/outdoors) +"Fq" = ( +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) +"Fs" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) +"Fw" = ( +/obj/machinery/conveyor{ + dir = 10; + id = "gulag" + }, +/turf/open/floor/plating, +/area/mine/laborcamp) "Fz" = ( /obj/structure/stone_tile/surrounding_tile{ dir = 8 @@ -2077,6 +2662,19 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"FC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/obj/machinery/door/airlock/highsecurity{ + name = "Labor Camp Monitoring"; + req_access_txt = "2"; + security_level = 6 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "FD" = ( /obj/structure/stone_tile/cracked{ dir = 8 @@ -2084,6 +2682,9 @@ /obj/structure/stone_tile/cracked, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"FQ" = ( +/turf/closed/wall, +/area/mine/laborcamp) "Gc" = ( /obj/structure/flora/junglebush/b, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, @@ -2114,6 +2715,22 @@ initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered/ash_walkers) +"GI" = ( +/obj/machinery/camera{ + c_tag = "Labor Camp External"; + dir = 4; + network = list("labor") + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"GX" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/mine/laborcamp/security) "Hq" = ( /obj/structure/stone_tile, /obj/structure/stone_tile{ @@ -2139,6 +2756,15 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"Ik" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/red, +/obj/machinery/recharger, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) "It" = ( /obj/structure/stone_tile/block{ dir = 8 @@ -2148,11 +2774,38 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"IV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) "Jq" = ( /obj/structure/stone_tile/slab/cracked, /obj/effect/decal/cleanable/blood, /turf/open/indestructible/boss, /area/ruin/unpowered/ash_walkers) +"JI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) +"JO" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "JP" = ( /obj/structure/stone_tile, /obj/structure/stone_tile{ @@ -2178,10 +2831,23 @@ /obj/structure/stone_tile/cracked, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"Ks" = ( +/obj/machinery/shower{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/white, +/area/mine/laborcamp) "KA" = ( /obj/structure/stone_tile/slab, /turf/open/indestructible/boss, /area/ruin/unpowered/ash_walkers) +"KH" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) "KJ" = ( /obj/structure/stone_tile/block/cracked, /obj/structure/stone_tile{ @@ -2192,6 +2858,23 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"KO" = ( +/obj/machinery/computer/secure_data, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) +"KR" = ( +/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/mine/laborcamp/security) "KV" = ( /obj/structure/stone_tile/cracked{ dir = 8 @@ -2203,6 +2886,13 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"Ld" = ( +/obj/machinery/light/small, +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "LJ" = ( /turf/open/water, /area/ruin/unpowered/ash_walkers) @@ -2235,6 +2925,12 @@ /obj/structure/stone_tile/slab/cracked, /turf/open/indestructible/boss, /area/ruin/unpowered/ash_walkers) +"Nl" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "NN" = ( /obj/structure/stone_tile/block/cracked, /obj/structure/stone_tile/block{ @@ -2242,6 +2938,26 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"NS" = ( +/obj/machinery/computer/prisoner, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) +"Ol" = ( +/obj/structure/closet/crate/internals, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "Ou" = ( /obj/structure/stone_tile/slab, /obj/structure/table/wood, @@ -2262,6 +2978,9 @@ /obj/effect/decal/cleanable/blood, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"OK" = ( +/turf/closed/wall/r_wall, +/area/mine/laborcamp) "OR" = ( /obj/structure/stone_tile/block{ dir = 1 @@ -2280,6 +2999,24 @@ /obj/structure/stone_tile/center, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"PF" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/security/glass{ + name = "Labor Camp Shuttle Security Airlock"; + req_access_txt = "2" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) +"PM" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/atmos_waste{ + dir = 1; + piping_layer = 3 + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/mine/laborcamp/security) "Qd" = ( /obj/structure/stone_tile/block{ dir = 8 @@ -2293,6 +3030,24 @@ /obj/item/twohanded/bonespear, /turf/open/indestructible/boss, /area/ruin/unpowered/ash_walkers) +"Qe" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) "Qk" = ( /obj/structure/stone_tile{ dir = 4 @@ -2327,10 +3082,44 @@ /obj/structure/stone_tile, /turf/open/indestructible/boss, /area/ruin/unpowered/ash_walkers) +"QH" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/power/apc{ + dir = 1; + name = "Labor Camp Security APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) "QM" = ( /obj/structure/stone_tile/surrounding_tile/cracked, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"QZ" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/security/glass{ + name = "Labor Camp Shuttle Prisoner Airlock" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) +"Ra" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/mine/laborcamp) "Rb" = ( /obj/structure/closet/crate, /obj/structure/stone_tile/block/cracked{ @@ -2358,6 +3147,12 @@ }, /turf/closed/indestructible/riveted/boss, /area/ruin/unpowered/ash_walkers) +"Rs" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "RF" = ( /obj/structure/stone_tile/block/cracked{ dir = 8 @@ -2375,6 +3170,15 @@ /obj/effect/decal/cleanable/blood, /turf/open/indestructible/boss, /area/ruin/unpowered/ash_walkers) +"Sc" = ( +/obj/structure/rack, +/obj/item/storage/bag/ore, +/obj/item/flashlight, +/obj/item/pickaxe, +/obj/item/clothing/glasses/meson, +/obj/item/mining_scanner, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "Sh" = ( /obj/structure/stone_tile/block, /turf/closed/mineral/volcanic/lava_land_surface, @@ -2391,6 +3195,41 @@ }, /turf/closed/indestructible/riveted/boss, /area/lavaland/surface/outdoors) +"SI" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) +"ST" = ( +/obj/structure/closet/crate, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/explored) +"SZ" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Mining Station Maintenance"; + req_access_txt = "48" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/mine/laborcamp/security) +"Tl" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) "Tn" = ( /obj/structure/stone_tile/block{ dir = 1 @@ -2401,8 +3240,20 @@ }, /obj/structure/table/wood, /obj/item/kitchen/knife/combat/bone, +/obj/item/book/granter/crafting_recipe/bone_bow, /turf/open/indestructible/boss, /area/ruin/unpowered/ash_walkers) +"Tp" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/table, +/obj/item/restraints/handcuffs, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) "TN" = ( /obj/structure/stone_tile/surrounding_tile/cracked{ dir = 8 @@ -2418,6 +3269,13 @@ initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered/ash_walkers) +"TP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "Uh" = ( /obj/structure/stone_tile/slab, /obj/structure/table/wood, @@ -2436,6 +3294,13 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"UC" = ( +/obj/structure/table, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/mine/laborcamp) "UG" = ( /obj/structure/stone_tile/block, /obj/structure/stone_tile/block{ @@ -2472,6 +3337,23 @@ }, /turf/closed/mineral/volcanic/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"Vs" = ( +/obj/machinery/camera{ + c_tag = "Labor Camp Central"; + network = list("labor") + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) +"Vy" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "VI" = ( /obj/structure/stone_tile{ dir = 8 @@ -2488,6 +3370,13 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"VV" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/mine/laborcamp/security) "Wb" = ( /obj/structure/stone_tile/block{ dir = 8 @@ -2507,6 +3396,27 @@ /obj/structure/stone_tile/surrounding_tile/cracked, /turf/closed/mineral/volcanic/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"Wq" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) +"WA" = ( +/obj/structure/stone_tile/block/cracked, +/obj/item/book/granter/crafting_recipe/bone_bow, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"WI" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/security/glass{ + name = "Labor Camp Shuttle Security Airlock"; + req_access_txt = "2" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "WL" = ( /obj/structure/stone_tile{ dir = 4 @@ -2606,12 +3516,33 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"XS" = ( +/obj/machinery/flasher{ + id = "labor" + }, +/turf/closed/wall, +/area/mine/laborcamp) "Yg" = ( /obj/structure/flora/rock/pile/largejungle{ light_range = null }, /turf/open/water, /area/ruin/unpowered/ash_walkers) +"Ym" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) +"Yu" = ( +/obj/structure/rack, +/obj/item/storage/bag/ore, +/obj/item/pickaxe, +/obj/item/flashlight, +/obj/item/clothing/glasses/meson, +/obj/item/mining_scanner, +/turf/open/floor/plasteel, +/area/mine/laborcamp) "Yy" = ( /obj/structure/stone_tile/block/cracked{ dir = 4 @@ -2619,6 +3550,10 @@ /obj/item/flashlight/lantern, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) +"YD" = ( +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel, +/area/mine/laborcamp/security) "YH" = ( /obj/structure/stone_tile/block/cracked{ dir = 4 @@ -2651,6 +3586,23 @@ }, /turf/closed/indestructible/riveted/boss, /area/ruin/unpowered/ash_walkers) +"ZK" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/mine/laborcamp/security) +"ZM" = ( +/turf/closed/wall, +/area/mine/laborcamp/security) +"ZP" = ( +/obj/machinery/conveyor{ + id = "gulag" + }, +/turf/open/floor/plating, +/area/mine/laborcamp) (1,1,1) = {" aa @@ -2853,61 +3805,61 @@ aj aj aj aj -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -ol +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (2,1,1) = {" aa @@ -3110,61 +4062,61 @@ aj aj aj aj -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (3,1,1) = {" aa @@ -3367,61 +4319,61 @@ aj aj aj aj -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (4,1,1) = {" aa @@ -3624,61 +4576,61 @@ aj aj aj aj -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ai +ai +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (5,1,1) = {" aa @@ -3881,61 +4833,61 @@ aj aj aj aj -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ai +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (6,1,1) = {" aa @@ -4138,61 +5090,61 @@ aj aj aj aj -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ai +gq +ab +aj +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (7,1,1) = {" aa @@ -4294,10 +5246,10 @@ aj aj aj aj -an -an -an -an +aj +aj +aj +aj aj aj aj @@ -4395,61 +5347,61 @@ aj aj aj aj -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +AX +AX +ab +gq +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj "} (8,1,1) = {" aa @@ -4550,10 +5502,10 @@ ak ak ad aj -ab -ab -ad -an +aj +aj +aj +aj an an an @@ -4652,61 +5604,61 @@ aj aj aj aj -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +aj +ab +aj +aj +aj +ab +aj +aj +aj +AX +AX +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj "} (9,1,1) = {" aa @@ -4808,72 +5760,133 @@ ak ai aj aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +aj +ab +ab +aj +aj +aj +aj +AX +AX +aj +aj +AX +AX +aj +aj +AX +aj +ab +aj +aj +aj +aj +aj ab -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an -an aj aj aj @@ -4888,6 +5901,10 @@ aj aj aj aj +ab +ab +aj +ab aj aj aj @@ -4899,71 +5916,6 @@ aj aj aj aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA "} (10,1,1) = {" aa @@ -5065,8 +6017,8 @@ ak ak ai aj -ab -ab +aj +aj an an an @@ -5166,61 +6118,61 @@ aj aj aj aj -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +aj +aj +aj +ab +ab +aj +aj +aj +AX +AX +AX +AX +AX +AX +AX +AX +AX +AX +AX +AX +AX +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj "} (11,1,1) = {" aa @@ -5423,61 +6375,61 @@ aj aj aj aj -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +aj +aj +aj +aj +aj +aj +AX +AX +gq +AX +AX +AX +AX +AX +AX +AX +AX +AX +AX +AX +AX +AX +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +ab +aj +aj +aj +aj +aj +aj +aj "} (12,1,1) = {" aa @@ -5680,61 +6632,61 @@ aj aj aj aj -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +aj +aj +aj +aj +aj +aj +aj +AX +AX +AX +gq +AX +AX +AX +AX +AX +gq +AX +AX +gq +AX +AX +AX +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (13,1,1) = {" aa @@ -5937,61 +6889,61 @@ aj aj aj ab -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +aj +aj +aj +aj +aj +aj +ab +aj +AX +AX +AX +gq +gq +gq +gq +gq +gq +gq +gq +gq +AX +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj "} (14,1,1) = {" aa @@ -6194,61 +7146,61 @@ aj aj ab ab -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +aj +aj +aj +aj +aj +aj +aj +AX +AX +AX +AX +gq +gq +gq +gq +gq +gq +gq +gq +gq +AX +AX +ab +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +aj +ab +aj +aj +aj +aj +aj "} (15,1,1) = {" aa @@ -6451,61 +7403,61 @@ aj aj aj aj -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +aj +aj +ab +aj +aj +aj +aj +AX +AX +AX +AX +gq +gq +gq +gq +gq +gq +gq +gq +gq +AX +AX +AX +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj "} (16,1,1) = {" aa @@ -6708,61 +7660,61 @@ aj aj aj aj -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +aj +aj +aj +aj +aj +aj +aj +aj +AX +AX +AX +gq +gq +gq +gq +gq +gq +gq +gq +gq +AX +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj "} (17,1,1) = {" aa @@ -6965,61 +7917,61 @@ aj aj aj aj -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +aj +aj +aj +aj +aj +aj +aj +aj +AX +AX +gq +gq +gq +gq +gq +gq +gq +dg +gq +gq +gq +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +aj +aj +ab +aj +aj +aj +aj "} (18,1,1) = {" aa @@ -7222,61 +8174,61 @@ aj aj ab aj -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +aj +aj +aj +aj +aj +aj +aj +aj +FQ +FQ +FQ +FQ +FQ +WI +FQ +FQ +FQ +Bv +FQ +ZM +ZM +ZM +aj +aj +aj +aj +ab +ai +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (19,1,1) = {" aa @@ -7479,61 +8431,61 @@ an an ab ab -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +ab +aj +aj +aj +aj +aj +ab +FQ +lL +Wq +aV +FQ +AR +FQ +bY +FQ +Rs +FQ +ch +tp +ZM +aj +iB +aj +ab +ab +ai +ai +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (20,1,1) = {" aa @@ -7736,61 +8688,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +ab +aj +aj +aj +ab +ab +FQ +Nl +vt +JO +FQ +PF +FQ +oW +FQ +QZ +FQ +hU +iq +ZM +aj +aj +aj +aj +ab +ai +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (21,1,1) = {" aa @@ -7993,61 +8945,61 @@ an an an an +an +an +an +an aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +pR +Ra +FQ +FQ +FQ +ju +FQ +FQ +tM +FQ +eW +vt +vt +OK +fC +SZ +fC +lY +fC +nE +aj +aj +aj +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (22,1,1) = {" aa @@ -8250,61 +9202,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +ol +gg +UC +FQ +nC +vt +vt +vt +vt +vt +vt +vz +vt +vt +OK +Tp +SI +up +zx +fC +nE +nE +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (23,1,1) = {" aa @@ -8507,61 +9459,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +FQ +ug +dG +bf +cq +cq +cq +pf +XS +Vs +TP +cV +dj +dj +FC +ao +wW +ED +aD +fC +nE +gq +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (24,1,1) = {" aa @@ -8764,61 +9716,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +FQ +eR +yW +FQ +hG +vt +Vy +vI +TP +Bg +JO +Fq +vt +vt +OK +cn +nQ +IV +AP +fC +AX +aj +aj +aj +aj +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (25,1,1) = {" aa @@ -9021,61 +9973,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +FQ +FQ +FQ +FQ +FQ +vt +vt +Ks +vt +yw +FQ +hY +OK +OK +OK +QH +nQ +jD +Tl +lY +gq +aj +aj +aj +aj +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (26,1,1) = {" aa @@ -9278,61 +10230,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +FQ +Yu +Yu +Yu +FQ +vt +Ld +FQ +FQ +xR +FQ +hY +OK +uB +qr +Fs +Ym +Qe +cb +yd +PM +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (27,1,1) = {" aa @@ -9535,61 +10487,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +FQ +Sc +vt +vt +Aa +vt +bd +fc +ZP +wN +ZP +Fw +OK +zQ +ZM +KO +nQ +JI +YD +VV +gq +gq +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (28,1,1) = {" aa @@ -9792,61 +10744,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +FQ +FQ +sN +Ol +FQ +vP +FQ +FQ +FQ +FQ +FQ +FQ +OK +OK +fC +bP +Cy +KH +bC +fC +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (29,1,1) = {" aa @@ -10049,61 +11001,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +an +FQ +FQ +FQ +FQ +vt +FQ +bG +ST +ST +gq +gq +gq +AX +lY +NS +qe +Ik +oL +fC +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (30,1,1) = {" aa @@ -10227,6 +11179,7 @@ aj aj aj aj +aj an an an @@ -10306,61 +11259,60 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +an +an +an +FQ +Rs +FQ +bG +gq +gq +gq +gq +gq +AX +KR +GX +ZK +rb +pX +fC +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (31,1,1) = {" aa @@ -10486,7 +11438,7 @@ aj aj aj aj -an +aj aj aj an @@ -10563,61 +11515,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +an +an +an +an +FQ +eS +FQ +bG +gq +gq +gq +gq +gq +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (32,1,1) = {" aa @@ -10820,61 +11772,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +an +an +an +an +gq +gq +GI +gq +gq +gq +gq +gq +aj +aj +aj +aj +aj +ab +ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (33,1,1) = {" aa @@ -11077,61 +12029,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +an +an +an +an +gq +gq +gq +gq +gq +gq +gq +gq +gq +aj +aj +aj +aj +ab +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (34,1,1) = {" aa @@ -11334,61 +12286,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +an +an +an +an +an +an +gq +gq +gq +gq +ab +ab +ab +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (35,1,1) = {" aa @@ -11591,61 +12543,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +an +an +an +an +an +an +gq +gq +gq +gq +ab +ab +ab +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (36,1,1) = {" aa @@ -11848,61 +12800,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +an +an +an +an +an +an +gq +gq +gq +gq +ab +ab +ab +ab +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (37,1,1) = {" aa @@ -12105,61 +13057,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +an +an +an +an +an +an +an +an +gq +gq +cv +an +ab +an +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (38,1,1) = {" aa @@ -12362,61 +13314,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aj +aj +aj +ai +ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (39,1,1) = {" aa @@ -12619,61 +13571,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aj +aj +aj +aj +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (40,1,1) = {" aa @@ -12876,61 +13828,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (41,1,1) = {" aa @@ -13133,61 +14085,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +ad +ai +ai +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj "} (42,1,1) = {" aa @@ -13390,61 +14342,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +an +an +an +an +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +ai +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (43,1,1) = {" aa @@ -13647,61 +14599,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +an +an +an +an +an +an +an +an +aj +aj +aj +aj +aj +aj +ab +ab +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (44,1,1) = {" aa @@ -13904,61 +14856,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +an +an +an +an +an +an +an +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (45,1,1) = {" aa @@ -14161,61 +15113,61 @@ an an an an -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +an +an +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (46,1,1) = {" aa @@ -14418,61 +15370,61 @@ aj aj aj aj -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj "} (47,1,1) = {" aa @@ -14675,61 +15627,61 @@ aj aj aj aj -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +ai +ai +aj +ab +aj +aj +ab +ab +aj +ab +ab +ab +aj +aj +aj +aj +aj +aj "} (48,1,1) = {" aa @@ -14932,61 +15884,61 @@ aj aj aj aj -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +ai +ai +ab +aj +aj +aj +aj +ab +ab +ab +ai +ad +ad +ab +ab +aj +aj +aj +aj "} (49,1,1) = {" aa @@ -15189,61 +16141,61 @@ aj aj ai ai -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +aj +aj +aj +aj +aj +aj +aj +ai +ai +ai +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ad +ad +ad +ad +ad +ai +ai +aj +aj +aj "} (50,1,1) = {" aa @@ -15446,61 +16398,61 @@ ab ab ai am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +ai +ai +ai +ai +ai +ai +ai +am +ai +ab +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +ab +ab +ad +ad +ad +ad +ad +ad +ad +ad +ab +aj +aj "} (51,1,1) = {" aa @@ -15703,61 +16655,61 @@ ai ai am am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +am +am +am +am +am +am +ai +ab +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ad +ad +ad +ad +ad +ad +ad +ab +aj +aj "} (52,1,1) = {" aa @@ -15960,61 +16912,61 @@ am am am am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +am +am +am +am +am +am +ai +ab +aj +aj +ab +ab +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ad +ad +ad +ad +ad +ad +ad +ab +aj +aj "} (53,1,1) = {" aa @@ -16217,61 +17169,61 @@ am am am am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +am +am +am +am +am +am +ai +ab +aj +ab +ab +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ad +ad +ai +ad +ab +ab +aj +aj "} (54,1,1) = {" aa @@ -16474,61 +17426,61 @@ am am am am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +am +am +am +am +am +am +ai +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +aj +aj +aj +aj "} (55,1,1) = {" aa @@ -16731,61 +17683,61 @@ am am am am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +am +am +am +am +am +am +am +ai +aj +ab +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +aj "} (56,1,1) = {" aa @@ -16988,61 +17940,61 @@ ak am am am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +am +am +am +am +am +am +am +ai +ab +ab +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +aj +aj +aj +aj +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj "} (57,1,1) = {" aa @@ -17245,61 +18197,61 @@ ak ak am am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +am +am +am +am +am +am +am +am +ai +ab +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj "} (58,1,1) = {" aa @@ -17502,61 +18454,61 @@ ak ak ak am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +am +am +am +am +am +am +am +am +am +ai +ai +ai +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (59,1,1) = {" aa @@ -17759,61 +18711,61 @@ ak ak ak am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +am +am +am +am +am +am +am +am +am +am +ai +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj "} (60,1,1) = {" aa @@ -18016,61 +18968,61 @@ ak ak ak am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +am +am +am +am +am +am +am +am +am +ai +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (61,1,1) = {" aa @@ -18273,61 +19225,61 @@ ak ak ak am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +am +am +am +am +am +am +am +am +ai +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (62,1,1) = {" aa @@ -18530,61 +19482,61 @@ ak ak ak am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +am +am +am +am +am +am +am +am +ai +aj +aj +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (63,1,1) = {" aa @@ -18787,61 +19739,61 @@ ak ak ak am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +am +am +am +am +am +am +am +am +am +ai +ai +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (64,1,1) = {" aa @@ -19044,61 +19996,61 @@ ak ak ak am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +am +am +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ap +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (65,1,1) = {" aa @@ -19301,61 +20253,61 @@ ak ak am am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +am +am +am +am +am +am +am +am +am +ai +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +bs +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (66,1,1) = {" aa @@ -19558,61 +20510,61 @@ am am am am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +am +am +am +am +am +am +am +am +am +ai +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj "} (67,1,1) = {" aa @@ -19815,61 +20767,61 @@ am am am am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +am +am +am +am +am +am +am +am +am +ai +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj "} (68,1,1) = {" aa @@ -20072,61 +21024,61 @@ am am am am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +am +am +am +am +am +am +am +am +am +ai +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj "} (69,1,1) = {" aa @@ -20329,61 +21281,61 @@ am am am am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +am +am +am +am +am +am +am +am +am +ai +ai +aj +aj +ab +ab +ab +ab +ab +ab +ab +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (70,1,1) = {" aa @@ -20586,61 +21538,61 @@ am am am am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +am +am +am +am +am +am +am +am +ai +ab +ai +ai +aj +aj +ab +ab +ab +ab +ab +ab +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +ab +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj "} (71,1,1) = {" aa @@ -20843,61 +21795,61 @@ am am am am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +am +am +am +am +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ai +ai +ab +ab +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (72,1,1) = {" aa @@ -21100,61 +22052,61 @@ am am am am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +am +ai +ai +am +am +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj "} (73,1,1) = {" aa @@ -21357,61 +22309,61 @@ am am am am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +am +ai +ab +ab +ai +ai +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj "} (74,1,1) = {" aa @@ -21614,61 +22566,61 @@ am am am am -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA -aA +ai +ab +ab +ab +ai +ab +ai +am +ai +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj "} (75,1,1) = {" aa @@ -57415,7 +58367,7 @@ Ds Ds KV nI -Ad +DQ Si aa ab @@ -57915,7 +58867,7 @@ aa aa Rk Si -sR +WA rz qh pq diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index b34da30300..e6b2af59e1 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -57031,6 +57031,10 @@ }, /turf/open/floor/engine, /area/science/xenobiology) +"naS" = ( +/obj/effect/landmark/start/paramedic, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) "ncm" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 @@ -61095,6 +61099,13 @@ }, /turf/open/floor/wood, /area/lawoffice) +"wtE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/landmark/start/paramedic, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) "wun" = ( /obj/structure/cable{ icon_state = "1-2" @@ -88795,7 +88806,7 @@ bzQ ioj bsA bEw -bkh +naS bkh bId bFO @@ -89566,7 +89577,7 @@ bBc bCm bDr bEz -bnF +wtE buh bIg bjc diff --git a/_maps/shuttles/arrival_kilo.dmm b/_maps/shuttles/arrival_kilo.dmm new file mode 100644 index 0000000000..125f017a2b --- /dev/null +++ b/_maps/shuttles/arrival_kilo.dmm @@ -0,0 +1,558 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/closed/wall/mineral/plastitanium, +/area/shuttle/arrival) +"b" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/shuttle/arrival) +"c" = ( +/turf/closed/wall/mineral/titanium, +/area/shuttle/arrival) +"d" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Arrival Shuttle Airlock" + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/arrival) +"e" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall/mineral/titanium, +/area/shuttle/arrival) +"f" = ( +/obj/structure/window/shuttle, +/obj/structure/grille, +/turf/open/floor/plating, +/area/shuttle/arrival) +"g" = ( +/turf/template_noop, +/area/template_noop) +"h" = ( +/obj/structure/sign/warning/fire, +/turf/closed/wall/mineral/titanium, +/area/shuttle/arrival) +"i" = ( +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 3 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 9 + }, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 9 + }, +/obj/structure/closet/crate/internals, +/obj/effect/turf_decal/delivery, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/arrival) +"j" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/arrows{ + icon_state = "arrows"; + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/arrival) +"k" = ( +/obj/effect/turf_decal/bot, +/obj/structure/chair/comfy/shuttle, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/arrival) +"l" = ( +/obj/effect/turf_decal/bot, +/obj/structure/chair/comfy/shuttle, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/arrival) +"m" = ( +/obj/effect/turf_decal/bot, +/obj/structure/chair/comfy/shuttle, +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/arrival) +"n" = ( +/obj/structure/shuttle/engine/propulsion/left{ + icon_state = "propulsion_l"; + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/shuttle/arrival) +"o" = ( +/obj/structure/window/shuttle, +/obj/structure/grille, +/obj/structure/shuttle/engine/heater{ + icon_state = "heater"; + dir = 8 + }, +/turf/open/floor/plating, +/area/shuttle/arrival) +"p" = ( +/obj/structure/table, +/obj/item/flashlight{ + pixel_y = 8 + }, +/obj/item/flashlight, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/arrival) +"q" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/arrows{ + icon_state = "arrows"; + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/arrival) +"r" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/arrows{ + icon_state = "arrows"; + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/arrival) +"s" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/arrival) +"t" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/structure/chair/comfy/shuttle, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/arrival) +"u" = ( +/obj/structure/shuttle/engine/propulsion{ + icon_state = "propulsion"; + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/docking_port/mobile/arrivals{ + dir = 4; + name = "kilo arrivals shuttle" + }, +/turf/open/floor/plating/airless, +/area/shuttle/arrival) +"v" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/radio{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/radio{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/radio{ + pixel_y = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/arrival) +"w" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/obj/effect/turf_decal/arrows{ + icon_state = "arrows"; + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/arrival) +"x" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/arrival) +"y" = ( +/obj/machinery/requests_console{ + department = "Arrival shuttle"; + name = "Arrivals Shuttle console" + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/shuttle/arrival) +"z" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/flora/ausbushes/fernybush, +/obj/structure/window/shuttle, +/turf/open/floor/grass, +/area/shuttle/arrival) +"A" = ( +/obj/machinery/vending/wallmed{ + name = "Emergency NanoMed"; + use_power = 0 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/shuttle/arrival) +"B" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/arrival) +"C" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/arrival) +"D" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/obj/machinery/door/airlock/shuttle{ + name = "Arrival Shuttle Airlock" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/arrival) +"E" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/arrival) +"F" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/arrival) +"G" = ( +/obj/structure/shuttle/engine/propulsion/right{ + icon_state = "propulsion_r"; + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/shuttle/arrival) +"H" = ( +/obj/structure/table, +/obj/item/storage/toolbox/emergency, +/obj/item/crowbar/red, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/arrival) +"I" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/arrival) +"J" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/arrival) +"K" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/arrival) +"L" = ( +/obj/machinery/status_display/ai, +/turf/closed/wall/mineral/titanium, +/area/shuttle/arrival) +"M" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/arrival) +"N" = ( +/obj/effect/turf_decal/bot, +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/arrival) +"O" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/arrival) +"P" = ( +/obj/effect/turf_decal/bot, +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/machinery/light, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/arrival) +"Q" = ( +/obj/effect/turf_decal/bot, +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/machinery/status_display/evac{ + pixel_y = -32 + }, +/obj/machinery/light, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/arrival) + +(1,1,1) = {" +a +a +n +u +G +a +a +"} +(2,1,1) = {" +b +h +o +o +o +h +b +"} +(3,1,1) = {" +c +i +p +v +H +i +c +"} +(4,1,1) = {" +d +j +r +x +I +O +f +"} +(5,1,1) = {" +e +l +s +B +J +P +e +"} +(6,1,1) = {" +f +k +s +y +J +N +f +"} +(7,1,1) = {" +f +k +s +z +J +N +f +"} +(8,1,1) = {" +f +k +s +A +J +N +f +"} +(9,1,1) = {" +c +m +s +B +J +Q +c +"} +(10,1,1) = {" +d +q +w +C +K +x +f +"} +(11,1,1) = {" +b +c +c +D +L +c +b +"} +(12,1,1) = {" +c +e +t +E +M +e +c +"} +(13,1,1) = {" +g +c +k +F +N +c +g +"} +(14,1,1) = {" +g +c +f +f +f +c +g +"} diff --git a/_maps/shuttles/cargo_kilo.dmm b/_maps/shuttles/cargo_kilo.dmm new file mode 100644 index 0000000000..6d9d543842 --- /dev/null +++ b/_maps/shuttles/cargo_kilo.dmm @@ -0,0 +1,391 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/closed/wall/mineral/titanium, +/area/shuttle/supply) +"b" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/supply) +"c" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/supply) +"d" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/supply) +"e" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/supply) +"f" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/supply) +"g" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/supply) +"h" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/supply) +"i" = ( +/obj/machinery/door/poddoor{ + id = "QMLoaddoor"; + name = "Supply Dock Loading Door" + }, +/obj/machinery/conveyor{ + dir = 8; + id = "QMLoad"; + name = "off ramp" + }, +/turf/open/floor/plating, +/area/shuttle/supply) +"j" = ( +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/supply) +"k" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/supply) +"l" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/supply) +"m" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Supply Shuttle Airlock"; + req_access_txt = "31" + }, +/obj/effect/decal/cleanable/dirt, +/obj/docking_port/mobile/supply{ + dir = 4; + dwidth = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/supply) +"n" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/supply) +"o" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/supply) +"p" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/button/door{ + id = "QMLoaddoor"; + layer = 4; + name = "Off Ramp Toggle"; + pixel_x = -24; + pixel_y = 6; + req_access_txt = "31" + }, +/obj/machinery/button/door{ + id = "QMLoaddoor2"; + layer = 4; + name = "On Ramp Toggle"; + pixel_x = -24; + pixel_y = -6; + req_access_txt = "31" + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/supply) +"q" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/sign/departments/cargo{ + pixel_x = 32 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/supply) +"r" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Supply Shuttle Airlock"; + req_access_txt = "31" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/supply) +"s" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/supply) +"t" = ( +/obj/machinery/door/poddoor{ + id = "QMLoaddoor2"; + name = "Supply Dock Loading Door" + }, +/obj/machinery/conveyor{ + dir = 4; + id = "QMLoad2"; + name = "on ramp" + }, +/turf/open/floor/plating, +/area/shuttle/supply) +"u" = ( +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/supply) +"v" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/end{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/supply) +"w" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/supply) +"x" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/supply) +"y" = ( +/obj/structure/sign/warning/fire, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/shuttle/supply) +"z" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/supply) +"A" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/structure/shuttle/engine/heater, +/turf/open/floor/plating, +/area/shuttle/supply) +"B" = ( +/turf/template_noop, +/area/template_noop) +"C" = ( +/obj/structure/shuttle/engine/propulsion/burst/left, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating/airless, +/area/shuttle/supply) +"D" = ( +/obj/structure/shuttle/engine/propulsion, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating/airless, +/area/shuttle/supply) +"E" = ( +/obj/structure/shuttle/engine/propulsion/burst/right, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating/airless, +/area/shuttle/supply) + +(1,1,1) = {" +a +a +a +i +m +a +r +t +a +a +a +B +"} +(2,1,1) = {" +a +b +e +j +f +p +n +u +v +y +a +C +"} +(3,1,1) = {" +a +c +o +g +k +g +o +g +s +e +A +D +"} +(4,1,1) = {" +a +c +g +g +g +g +g +g +g +z +A +D +"} +(5,1,1) = {" +a +c +g +g +g +g +g +g +w +x +A +D +"} +(6,1,1) = {" +a +d +h +l +h +q +h +l +x +y +a +E +"} +(7,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +B +"} diff --git a/_maps/shuttles/emergency_kilo.dmm b/_maps/shuttles/emergency_kilo.dmm new file mode 100644 index 0000000000..5187c34a3b --- /dev/null +++ b/_maps/shuttles/emergency_kilo.dmm @@ -0,0 +1,2095 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/template_noop, +/area/template_noop) +"ab" = ( +/turf/closed/wall/mineral/titanium, +/area/shuttle/escape) +"ac" = ( +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/plating, +/area/shuttle/escape) +"ad" = ( +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/mechanical, +/obj/item/radio, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"ae" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/computer/communications, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"af" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/computer/emergency_shuttle, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"ag" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/computer/crew, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"ah" = ( +/obj/structure/table/reinforced, +/obj/item/storage/firstaid/o2{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/storage/firstaid/regular, +/obj/item/crowbar, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"ai" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall/mineral/titanium, +/area/shuttle/escape) +"aj" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"ak" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"al" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/chair/comfy/shuttle, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"am" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/effect/turf_decal/box/corners{ + icon_state = "box_corners"; + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"an" = ( +/obj/structure/table/reinforced, +/obj/item/clipboard, +/obj/item/restraints/handcuffs, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/assembly/flash/handheld, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"ao" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/airlock/shuttle{ + name = "External Shuttle Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"ap" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/crowbar/red, +/obj/item/storage/lockbox/loyalty, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/shuttle/escape) +"aq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/chair/comfy/shuttle, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/shuttle/escape) +"ar" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/recharger, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/shuttle/escape) +"as" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/shuttle/escape) +"at" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/keycard_auth{ + pixel_x = -24 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"au" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/folder/red{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/folder/blue, +/obj/item/gun/energy/e_gun/mini, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"av" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/keycard_auth{ + pixel_x = 24 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"aw" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/closet/emcloset/anchored, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"ax" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"ay" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/end{ + dir = 4 + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"az" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/shuttle/escape) +"aA" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/shuttle/escape) +"aC" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/shuttle/escape) +"aD" = ( +/obj/machinery/status_display, +/turf/closed/wall/mineral/titanium, +/area/shuttle/escape) +"aE" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"aF" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/storage/fancy/donut_box, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"aG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"aH" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/airlock/shuttle{ + name = "External Shuttle Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"aI" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/shuttle/escape) +"aJ" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/airlock/security/glass{ + name = "Holding Area"; + req_one_access_txt = "19" + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"aK" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"aL" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"aM" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"aN" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/airlock/command{ + name = "Shuttle Control"; + req_one_access_txt = "19" + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"aO" = ( +/obj/effect/turf_decal/delivery, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"aP" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"aQ" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"aR" = ( +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 3 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 9 + }, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 9 + }, +/obj/structure/closet/crate/internals, +/obj/effect/turf_decal/delivery, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"aS" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/shuttle/escape) +"aT" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/shuttle/escape) +"aU" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "applebush" + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"aV" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"aW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-22" + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"aX" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/suit_storage_unit/standard_unit, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"aY" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"aZ" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"ba" = ( +/obj/effect/turf_decal/bot, +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bb" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Emergency Shuttle Airlock"; + req_one_access_txt = "63" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bc" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/shuttle/escape) +"bd" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/shuttle/escape) +"be" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/shuttle/escape) +"bf" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/storage/box/zipties{ + pixel_y = 4 + }, +/obj/item/restraints/handcuffs, +/obj/item/restraints/handcuffs, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/shuttle/escape) +"bg" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall/mineral/titanium, +/area/shuttle/escape) +"bh" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/mineral/titanium, +/area/shuttle/escape) +"bi" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/suit_storage_unit/standard_unit, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bj" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"bk" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"bl" = ( +/obj/effect/turf_decal/bot, +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bm" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/airlock/security/glass{ + name = "Holding Area"; + req_access_txt = "2" + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bn" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/emcloset, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bo" = ( +/obj/structure/table, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = -4 + }, +/obj/item/tank/internals/air{ + pixel_x = 4 + }, +/obj/item/clothing/mask/breath{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/mask/breath, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bp" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Emergency Shuttle Airlock" + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bq" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Emergency Shuttle Airlock" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/docking_port/mobile/emergency{ + name = "Kilo emergency shuttle" + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"br" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"bs" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"bt" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"bu" = ( +/obj/effect/turf_decal/bot, +/obj/structure/chair/comfy/shuttle, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bv" = ( +/obj/structure/sign/departments/security{ + pixel_y = 32 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/structure/chair/comfy/shuttle, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bw" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"bx" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"by" = ( +/obj/structure/sign/departments/engineering{ + pixel_y = 32 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/structure/chair/comfy/shuttle, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bz" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"bA" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"bB" = ( +/obj/effect/turf_decal/bot, +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/machinery/status_display/evac{ + pixel_x = -32 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bC" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"bD" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"bF" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"bH" = ( +/obj/effect/turf_decal/bot, +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/obj/machinery/status_display/evac{ + pixel_x = 32 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bI" = ( +/obj/effect/turf_decal/bot, +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bJ" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"bK" = ( +/obj/effect/turf_decal/bot, +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bL" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"bM" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"bN" = ( +/obj/machinery/vending/wallmed{ + name = "Emergency NanoMed"; + use_power = 0 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/shuttle/escape) +"bO" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/brflowers, +/obj/structure/flora/ausbushes/leafybush, +/obj/structure/window/shuttle, +/turf/open/floor/grass, +/area/shuttle/escape) +"bP" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/flora/ausbushes/fernybush, +/obj/structure/window/shuttle, +/turf/open/floor/grass, +/area/shuttle/escape) +"bQ" = ( +/obj/structure/extinguisher_cabinet, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/shuttle/escape) +"bR" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"bS" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"bT" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"bU" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"bV" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"bW" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"bX" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Emergency Shuttle Airlock" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"bY" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"bZ" = ( +/obj/effect/turf_decal/bot, +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/machinery/light, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"ca" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"cb" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"cc" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"cd" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"ce" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"cf" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Emergency Shuttle Airlock" + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"cg" = ( +/obj/structure/table, +/obj/item/storage/firstaid/o2, +/obj/item/tank/internals/emergency_oxygen, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"ch" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "applebush" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"ci" = ( +/obj/structure/table, +/obj/item/storage/toolbox/emergency, +/obj/item/crowbar/red, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"cj" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"ck" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"cl" = ( +/obj/structure/closet/crate{ + name = "emergency supplies crate" + }, +/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, +/obj/item/flashlight/flare{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/flashlight/flare{ + pixel_x = -6; + pixel_y = -2 + }, +/obj/item/crowbar, +/obj/item/wrench, +/obj/item/radio, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"cm" = ( +/obj/structure/sign/departments/medbay/alt, +/turf/closed/wall/mineral/titanium, +/area/shuttle/escape) +"cn" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/airlock/medical/glass{ + name = "Shuttle Infirmary" + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"co" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/radio{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/radio{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/radio{ + pixel_y = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"cp" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"cq" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-05" + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"cr" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"cs" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"ct" = ( +/obj/structure/closet/crate/medical{ + name = "medical crate" + }, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/o2{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/firstaid/toxin{ + pixel_x = -4; + pixel_y = 3 + }, +/obj/item/healthanalyzer{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/lazarus_injector, +/obj/effect/turf_decal/bot, +/mob/living/simple_animal/bot/medbot{ + name = "\improper emergency medibot"; + pixel_x = -3; + pixel_y = 2 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"cu" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/sleeper{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"cv" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"cw" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-10" + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"cx" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"cy" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/sleeper{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"cz" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/recharge_station, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"cA" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"cB" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"cC" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"cD" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/electrical{ + pixel_x = -3; + pixel_y = 1 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_y = -1 + }, +/obj/item/storage/toolbox/emergency{ + pixel_x = 3; + pixel_y = -5 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"cE" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"cG" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"cH" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"cI" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"cJ" = ( +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 3 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 9 + }, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 9 + }, +/obj/structure/closet/crate/internals, +/obj/effect/turf_decal/delivery, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"cK" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/structure/shuttle/engine/heater, +/turf/open/floor/plating, +/area/shuttle/escape) +"cL" = ( +/obj/structure/sign/warning/fire, +/turf/closed/wall/mineral/titanium, +/area/shuttle/escape) +"cM" = ( +/obj/machinery/vending/medical, +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"cN" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"cO" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line, +/obj/structure/chair/office/light, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"cP" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"cQ" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/chair/office/light, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"cR" = ( +/obj/structure/table, +/obj/item/circular_saw, +/obj/item/scalpel{ + pixel_y = 16 + }, +/obj/item/hemostat, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cS" = ( +/turf/closed/wall/mineral/plastitanium, +/area/shuttle/escape) +"cT" = ( +/obj/structure/shuttle/engine/propulsion, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating/airless, +/area/shuttle/escape) +"cU" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/shuttle/escape) +"cV" = ( +/obj/structure/table, +/obj/item/defibrillator/compact/loaded, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"cW" = ( +/obj/structure/table, +/obj/item/storage/firstaid/fire{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/storage/firstaid/regular{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/storage/firstaid/regular, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"cX" = ( +/obj/structure/table, +/obj/item/clipboard, +/obj/item/reagent_containers/hypospray/medipen, +/obj/item/reagent_containers/hypospray/medipen{ + pixel_y = 6 + }, +/obj/item/reagent_containers/hypospray/medipen{ + pixel_y = -6 + }, +/obj/item/reagent_containers/glass/bottle/charcoal, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"cY" = ( +/obj/machinery/status_display/ai, +/turf/closed/wall/mineral/titanium, +/area/shuttle/escape) +"cZ" = ( +/obj/machinery/computer/operating{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"da" = ( +/obj/structure/table/optable, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"db" = ( +/obj/structure/table, +/obj/item/surgical_drapes, +/obj/item/retractor, +/obj/item/cautery, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"dc" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/airlock/command{ + name = "Shuttle Control"; + req_one_access_txt = "19" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"dd" = ( +/obj/structure/shuttle/engine/propulsion/left, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating/airless, +/area/shuttle/escape) +"de" = ( +/obj/structure/shuttle/engine/propulsion/right, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating/airless, +/area/shuttle/escape) +"df" = ( +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/escape) +"dg" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/shuttle/escape) +"dh" = ( +/obj/structure/shuttle/engine/heater, +/turf/closed/wall/mineral/plastitanium, +/area/shuttle/escape) +"di" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/shuttle/engine/large, +/turf/open/floor/plating/airless, +/area/shuttle/escape) +"dj" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating/airless, +/area/shuttle/escape) +"zk" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"Vm" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"WN" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) + +(1,1,1) = {" +aa +aa +ab +ac +ab +ac +ai +bb +ab +bq +ab +ac +ac +ac +ab +bX +ab +bX +ai +ab +as +cS +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +ac +ap +az +az +aS +bc +ac +bD +bB +bI +bI +bI +bB +bx +ac +cj +cr +cC +cK +cT +aa +aa +aa +"} +(3,1,1) = {" +aa +aa +ab +aq +aA +aA +aA +bd +bm +bs +bC +bJ +bM +bJ +bS +zk +cf +ck +cs +cD +cL +cU +cS +cS +aa +"} +(4,1,1) = {" +aa +aa +ac +ar +aA +aA +aA +be +ac +bt +Vm +bK +bN +bu +bD +bK +ac +cl +ct +as +ab +ab +as +cS +cS +"} +(5,1,1) = {" +ab +ac +ai +as +aC +aI +aT +bf +ab +bu +bD +bK +bO +bu +bD +bZ +as +ab +bg +as +cM +cV +cK +dg +di +"} +(6,1,1) = {" +ac +ad +aj +as +aD +aJ +ac +as +as +bv +bD +bK +bP +bu +bD +bK +cg +cm +cu +cE +cN +cW +cK +dg +dj +"} +(7,1,1) = {" +ac +ae +ak +at +aE +aK +aU +bg +bn +bw +br +bK +bQ +bu +bT +ca +bC +cn +cv +cH +cO +cX +cL +dh +de +"} +(8,1,1) = {" +ac +af +al +au +aF +aL +aV +dc +df +bx +bF +bL +bL +bL +bU +cb +ch +ac +cw +cG +cP +cY +ab +cS +cS +"} +(9,1,1) = {" +ac +ag +am +av +aG +aM +aW +bh +bo +bt +Vm +bK +bN +bu +bV +cc +bY +cn +cx +WN +cP +cZ +cL +dh +dd +"} +(10,1,1) = {" +ac +ah +an +as +as +aN +ab +as +as +by +bD +bK +bO +bu +bD +bK +ci +cm +cy +cI +cQ +da +cK +dg +di +"} +(11,1,1) = {" +ab +ac +ai +as +as +aO +aX +bi +ab +bu +bD +bK +bP +bu +bD +bZ +as +ab +bg +as +cR +db +cK +dg +dj +"} +(12,1,1) = {" +aa +aa +ab +aw +ac +aP +aY +bj +ac +bw +br +bK +bQ +bu +bD +bK +ac +co +cz +as +ab +ab +as +cS +cS +"} +(13,1,1) = {" +aa +aa +ao +ax +aH +aQ +aZ +bk +bp +bz +bY +bJ +bR +bJ +bW +cd +cf +cp +cA +cJ +cL +cU +cS +cS +aa +"} +(14,1,1) = {" +aa +aa +ab +ay +ac +aR +ba +bl +ac +bA +bH +bl +bl +bl +bH +ce +ac +cq +cB +aR +cK +cT +aa +aa +aa +"} +(15,1,1) = {" +aa +aa +ab +ab +ab +ac +ai +ac +ab +ac +ab +ac +ac +ac +ab +ac +ab +ab +ai +ab +as +cS +aa +aa +aa +"} diff --git a/_maps/shuttles/ferry_kilo.dmm b/_maps/shuttles/ferry_kilo.dmm new file mode 100644 index 0000000000..744d09d373 --- /dev/null +++ b/_maps/shuttles/ferry_kilo.dmm @@ -0,0 +1,293 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/turf/closed/wall/mineral/plastitanium, +/area/shuttle/transport) +"c" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/shuttle/transport) +"d" = ( +/turf/closed/wall/mineral/titanium, +/area/shuttle/transport) +"e" = ( +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/plating, +/area/shuttle/transport) +"f" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Ferry Shuttle Airlock" + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/fans/tiny, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/transport) +"g" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall/mineral/titanium, +/area/shuttle/transport) +"h" = ( +/obj/structure/shuttle/engine/propulsion/left{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/shuttle/transport) +"i" = ( +/obj/structure/window/shuttle, +/obj/structure/grille, +/obj/structure/shuttle/engine/heater{ + dir = 8 + }, +/turf/open/floor/plating, +/area/shuttle/transport) +"j" = ( +/obj/structure/sign/warning/fire, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/shuttle/transport) +"k" = ( +/obj/structure/table/reinforced, +/obj/item/storage/firstaid/o2{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/storage/firstaid/regular, +/obj/item/crowbar, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/transport) +"l" = ( +/obj/effect/turf_decal/bot, +/obj/structure/chair/comfy/shuttle, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/transport) +"m" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/transport) +"n" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/transport) +"o" = ( +/obj/effect/turf_decal/bot, +/obj/structure/chair/comfy/shuttle, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/transport) +"p" = ( +/obj/structure/shuttle/engine/propulsion{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/shuttle/transport) +"q" = ( +/obj/machinery/computer/shuttle/ferry/request{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/transport) +"r" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/transport) +"s" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/transport) +"t" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Ferry Shuttle Airlock" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/fans/tiny, +/obj/docking_port/mobile{ + dir = 8; + dwidth = 2; + height = 11; + id = "ferry"; + name = "ferry shuttle"; + preferred_direction = 4; + width = 5 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/transport) +"u" = ( +/obj/structure/shuttle/engine/propulsion/right{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/shuttle/transport) +"v" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/radio{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/radio{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/radio{ + pixel_y = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/transport) +"w" = ( +/obj/effect/turf_decal/bot, +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/transport) +"x" = ( +/obj/effect/turf_decal/bot, +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/machinery/light, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/transport) + +(1,1,1) = {" +a +h +p +u +a +"} +(2,1,1) = {" +b +i +i +i +b +"} +(3,1,1) = {" +c +j +q +j +c +"} +(4,1,1) = {" +d +k +r +v +d +"} +(5,1,1) = {" +e +l +r +w +e +"} +(6,1,1) = {" +d +l +r +w +d +"} +(7,1,1) = {" +f +m +s +m +f +"} +(8,1,1) = {" +g +n +r +n +g +"} +(9,1,1) = {" +e +l +r +w +e +"} +(10,1,1) = {" +d +o +r +x +d +"} +(11,1,1) = {" +d +e +t +e +d +"} diff --git a/_maps/shuttles/labour_kilo.dmm b/_maps/shuttles/labour_kilo.dmm new file mode 100644 index 0000000000..9ee9a38f07 --- /dev/null +++ b/_maps/shuttles/labour_kilo.dmm @@ -0,0 +1,312 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/closed/wall/mineral/titanium, +/area/shuttle/labor) +"b" = ( +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/plating, +/area/shuttle/labor) +"c" = ( +/obj/machinery/computer/shuttle/labor{ + dir = 4 + }, +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = -31 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/labor) +"d" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/labor) +"e" = ( +/obj/structure/table, +/obj/item/folder/red, +/obj/item/restraints/handcuffs, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/labor) +"f" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/mineral/plastitanium/red, +/area/shuttle/labor) +"g" = ( +/obj/machinery/button/flasher{ + id = "gulagshuttleflasher"; + name = "Flash Control"; + pixel_y = -26; + req_access_txt = "1" + }, +/obj/machinery/light, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/mineral/plastitanium/red, +/area/shuttle/labor) +"h" = ( +/obj/machinery/mineral/stacking_unit_console{ + machinedir = 2; + pixel_x = 30; + pixel_y = 30 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/mineral/plastitanium/red, +/area/shuttle/labor) +"i" = ( +/obj/machinery/door/airlock/titanium{ + name = "Labor Shuttle Airlock"; + req_access_txt = "2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/labor) +"j" = ( +/obj/machinery/door/airlock/titanium{ + name = "Labor Shuttle Airlock"; + req_access_txt = "2" + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/labor) +"k" = ( +/obj/machinery/mineral/stacking_machine/laborstacker{ + input_dir = 2; + output_dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/labor) +"l" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/shuttle/labor) +"m" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/shuttle/labor) +"n" = ( +/obj/machinery/mineral/labor_claim_console{ + machinedir = 1; + pixel_x = 30 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/shuttle/labor) +"o" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/shuttle/labor) +"p" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/mineral/plastitanium/red, +/area/shuttle/labor) +"q" = ( +/obj/machinery/flasher{ + id = "gulagshuttleflasher"; + pixel_x = 25 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/shuttle/labor) +"r" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/structure/closet/crate, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/labor) +"s" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/labor) +"t" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/labor) +"u" = ( +/obj/machinery/door/airlock/titanium{ + id_tag = "prisonshuttle"; + name = "Labor Shuttle Airlock" + }, +/obj/docking_port/mobile{ + dir = 8; + dwidth = 2; + height = 5; + id = "laborcamp"; + name = "labor camp shuttle"; + port_direction = 4; + width = 9 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/labor) +"v" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/shuttle/labor) +"w" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/structure/shuttle/engine/heater, +/turf/open/floor/plating, +/area/shuttle/labor) +"x" = ( +/turf/closed/wall/mineral/plastitanium, +/area/shuttle/labor) +"y" = ( +/obj/structure/shuttle/engine/propulsion, +/turf/open/floor/plating/airless, +/area/shuttle/labor) + +(1,1,1) = {" +a +a +b +a +b +a +b +v +x +"} +(2,1,1) = {" +b +c +f +j +l +o +r +w +y +"} +(3,1,1) = {" +b +d +g +a +m +p +s +w +y +"} +(4,1,1) = {" +b +e +h +k +n +q +t +w +y +"} +(5,1,1) = {" +a +a +i +a +a +a +u +v +x +"} diff --git a/_maps/shuttles/mining_kilo.dmm b/_maps/shuttles/mining_kilo.dmm new file mode 100644 index 0000000000..1de45c713c --- /dev/null +++ b/_maps/shuttles/mining_kilo.dmm @@ -0,0 +1,242 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/closed/wall/mineral/titanium, +/area/shuttle/mining) +"b" = ( +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/plating, +/area/shuttle/mining) +"c" = ( +/obj/structure/table, +/obj/item/storage/toolbox/emergency, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/mining) +"d" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/computer/shuttle/mining, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/mining) +"e" = ( +/obj/structure/table, +/obj/item/crowbar/red, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/mining) +"f" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/mining) +"g" = ( +/obj/effect/turf_decal/bot, +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/mining) +"h" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/mining) +"i" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/mining) +"j" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/machinery/status_display/evac{ + pixel_x = -32 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/mining) +"k" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Mining Shuttle Airlock" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/docking_port/mobile{ + dir = 8; + dwidth = 3; + height = 5; + id = "mining"; + name = "mining shuttle"; + port_direction = 4; + width = 7 + }, +/obj/machinery/atmospherics/pipe/simple/general/hidden{ + icon_state = "pipe11-2"; + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/mining) +"l" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/structure/shuttle/engine/heater, +/turf/open/floor/plating, +/area/shuttle/mining) +"m" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/mining) +"n" = ( +/obj/structure/sign/warning/fire, +/turf/closed/wall/mineral/titanium, +/area/shuttle/mining) +"o" = ( +/obj/structure/shuttle/engine/propulsion, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating/airless, +/area/shuttle/mining) +"p" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/general/hidden{ + icon_state = "pipe11-2"; + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/mining) +"q" = ( +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 3 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 9 + }, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 9 + }, +/obj/structure/closet/crate/internals, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/machinery/light/small, +/obj/effect/turf_decal/box, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/mining) +"r" = ( +/obj/structure/ore_box, +/obj/machinery/light/small, +/obj/effect/turf_decal/box, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/mining) + +(1,1,1) = {" +a +a +b +a +b +a +a +"} +(2,1,1) = {" +a +c +f +j +g +q +n +"} +(3,1,1) = {" +b +d +h +m +g +l +o +"} +(4,1,1) = {" +a +e +i +p +g +r +n +"} +(5,1,1) = {" +a +a +b +k +b +a +a +"} diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index c4c9d815a0..5a4e7c0380 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -33,6 +33,10 @@ #define COMSIG_GLOB_NEW_Z "!new_z" //from base of datum/controller/subsystem/mapping/proc/add_new_zlevel(): (list/args) #define COMSIG_GLOB_VAR_EDIT "!var_edit" //called after a successful var edit somewhere in the world: (list/args) #define COMSIG_GLOB_LIVING_SAY_SPECIAL "!say_special" //global living say plug - use sparingly: (mob/speaker , message) + +// signals from globally accessible objects +/// from SSsun when the sun changes position : (azimuth) +#define COMSIG_SUN_MOVED "sun_moved" ////////////////////////////////////////////////////////////////// // /datum signals @@ -58,6 +62,7 @@ #define COMSIG_ATOM_NO_UPDATE_ICON_STATE 1 #define COMSIG_ATOM_NO_UPDATE_OVERLAYS 2 #define COMSIG_ATOM_UPDATE_OVERLAYS "atom_update_overlays" //from base of atom/update_overlays(): (list/new_overlays) +#define COMSIG_ATOM_UPDATED_ICON "atom_updated_icon" //from base of atom/update_icon(): (signalOut, did_anything) #define COMSIG_ATOM_ENTERED "atom_entered" //from base of atom/Entered(): (atom/movable/entering, /atom) #define COMSIG_ATOM_EXIT "atom_exit" //from base of atom/Exit(): (/atom/movable/exiting, /atom/newloc) #define COMPONENT_ATOM_BLOCK_EXIT 1 @@ -193,13 +198,13 @@ // #define SPEECH_FORCED 7 // /mob/living signals -#define COMSIG_LIVING_FULLY_HEAL "living_fully_healed" //from base of /mob/living/fully_heal(): (admin_revive) #define COMSIG_LIVING_REGENERATE_LIMBS "living_regenerate_limbs" //from base of /mob/living/regenerate_limbs(): (noheal, excluded_limbs) #define COMSIG_LIVING_RESIST "living_resist" //from base of mob/living/resist() (/mob/living) #define COMSIG_LIVING_IGNITED "living_ignite" //from base of mob/living/IgniteMob() (/mob/living) #define COMSIG_LIVING_EXTINGUISHED "living_extinguished" //from base of mob/living/ExtinguishMob() (/mob/living) #define COMSIG_LIVING_ELECTROCUTE_ACT "living_electrocute_act" //from base of mob/living/electrocute_act(): (shock_damage) #define COMSIG_LIVING_MINOR_SHOCK "living_minor_shock" //sent by stuff like stunbatons and tasers: () +#define COMSIG_LIVING_REVIVE "living_revive" //from base of mob/living/revive() (full_heal, admin_revive) #define COMSIG_MOB_CLIENT_LOGIN "comsig_mob_client_login" //sent when a mob/login() finishes: (client) #define COMSIG_LIVING_GUN_PROCESS_FIRE "living_gun_process_fire" //from base of /obj/item/gun/proc/process_fire(): (atom/target, params, zone_override) @@ -220,6 +225,7 @@ // /obj/item signals #define COMSIG_ITEM_ATTACK "item_attack" //from base of obj/item/attack(): (/mob/living/target, /mob/living/user) +#define COMSIG_MOB_APPLY_DAMGE "mob_apply_damage" //from base of /mob/living/proc/apply_damage(): (damage, damagetype, def_zone) #define COMSIG_ITEM_ATTACK_SELF "item_attack_self" //from base of obj/item/attack_self(): (/mob) #define COMPONENT_NO_INTERACT 1 #define COMSIG_ITEM_ATTACK_OBJ "item_attack_obj" //from base of obj/item/attack_obj(): (/obj, /mob) @@ -233,6 +239,7 @@ #define COMSIG_ITEM_ATTACK_ZONE "item_attack_zone" //from base of mob/living/carbon/attacked_by(): (mob/living/carbon/target, mob/living/user, hit_zone) #define COMSIG_ITEM_IMBUE_SOUL "item_imbue_soul" //return a truthy value to prevent ensouling, checked in /obj/effect/proc_holder/spell/targeted/lichdom/cast(): (mob/user) #define COMSIG_ITEM_HIT_REACT "item_hit_react" //from base of obj/item/hit_reaction(): (list/args) +#define COMSIG_ITEM_WEARERCROSSED "wearer_crossed" //called on item when crossed by something (): (/atom/movable) // /obj/item/clothing signals #define COMSIG_SHOES_STEP_ACTION "shoes_step_action" //from base of obj/item/clothing/shoes/proc/step_action(): () @@ -295,11 +302,14 @@ //Nanites #define COMSIG_HAS_NANITES "has_nanites" //() returns TRUE if nanites are found #define COMSIG_NANITE_IS_STEALTHY "nanite_is_stealthy" //() returns TRUE if nanites have stealth +#define COMSIG_NANITE_DELETE "nanite_delete" //() deletes the nanite component #define COMSIG_NANITE_GET_PROGRAMS "nanite_get_programs" //(list/nanite_programs) - makes the input list a copy the nanites' program list +#define COMSIG_NANITE_GET_VOLUME "nanite_get_volume" //(amount) Returns nanite amount #define COMSIG_NANITE_SET_VOLUME "nanite_set_volume" //(amount) Sets current nanite volume to the given amount #define COMSIG_NANITE_ADJUST_VOLUME "nanite_adjust" //(amount) Adjusts nanite volume by the given amount #define COMSIG_NANITE_SET_MAX_VOLUME "nanite_set_max_volume" //(amount) Sets maximum nanite volume to the given amount #define COMSIG_NANITE_SET_CLOUD "nanite_set_cloud" //(amount(0-100)) Sets cloud ID to the given amount +#define COMSIG_NANITE_SET_CLOUD_SYNC "nanite_set_cloud_sync" //(method) Modify cloud sync status. Method can be toggle, enable or disable #define COMSIG_NANITE_SET_SAFETY "nanite_set_safety" //(amount) Sets safety threshold to the given amount #define COMSIG_NANITE_SET_REGEN "nanite_set_regen" //(amount) Sets regeneration rate to the given amount #define COMSIG_NANITE_SIGNAL "nanite_signal" //(code(1-9999)) Called when sending a nanite signal to a mob. @@ -307,8 +317,8 @@ #define COMSIG_NANITE_SCAN "nanite_scan" //(mob/user, full_scan) - sends to chat a scan of the nanites to the user, returns TRUE if nanites are detected #define COMSIG_NANITE_UI_DATA "nanite_ui_data" //(list/data, scan_level) - adds nanite data to the given data list - made for ui_data procs #define COMSIG_NANITE_ADD_PROGRAM "nanite_add_program" //(datum/nanite_program/new_program, datum/nanite_program/source_program) Called when adding a program to a nanite component - #define COMPONENT_PROGRAM_INSTALLED 1 //Installation successful - #define COMPONENT_PROGRAM_NOT_INSTALLED 2 //Installation failed, but there are still nanites +#define COMPONENT_PROGRAM_INSTALLED 1 //Installation successful +#define COMPONENT_PROGRAM_NOT_INSTALLED 2 //Installation failed, but there are still nanites #define COMSIG_NANITE_SYNC "nanite_sync" //(datum/component/nanites, full_overwrite, copy_activation) Called to sync the target's nanites to a given nanite component // /datum/component/storage signals diff --git a/code/__DEFINES/construction.dm b/code/__DEFINES/construction.dm index c93f1b2435..5a2096d862 100644 --- a/code/__DEFINES/construction.dm +++ b/code/__DEFINES/construction.dm @@ -59,19 +59,6 @@ //let's just pretend fulltile windows being children of border windows is fine #define FULLTILE_WINDOW_DIR NORTHEAST -//Material defines, for determining how much of a given material an item contains -#define MAT_METAL "$metal" -#define MAT_GLASS "$glass" -#define MAT_SILVER "$silver" -#define MAT_GOLD "$gold" -#define MAT_DIAMOND "$diamond" -#define MAT_URANIUM "$uranium" -#define MAT_PLASMA "$plasma" -#define MAT_BLUESPACE "$bluespace" -#define MAT_BANANIUM "$bananium" -#define MAT_TITANIUM "$titanium" -#define MAT_BIOMASS "$biomass" -#define MAT_PLASTIC "$plastic" //The amount of materials you get from a sheet of mineral like iron/diamond/glass etc #define MINERAL_MATERIAL_AMOUNT 2000 //The maximum size of a stack object. @@ -92,17 +79,19 @@ #define CAT_BREAD "Breads" #define CAT_BURGER "Burgers" #define CAT_CAKE "Cakes" +#define CAT_DONUT "Donuts" #define CAT_EGG "Egg-Based Food" #define CAT_MEAT "Meats" +#define CAT_MEXICAN "Mexican" #define CAT_MISCFOOD "Misc. Food" #define CAT_PASTRY "Pastries" -#define CAT_PIE "Pies" +#define CAT_PIE "Pies & Sweets" #define CAT_PIZZA "Pizzas" #define CAT_SALAD "Salads" +#define CAT_SEAFOOD "Seafood" #define CAT_SANDWICH "Sandwiches" #define CAT_SOUP "Soups" #define CAT_SPAGHETTI "Spaghettis" -#define CAT_FISH "Fish" #define CAT_ICE "Frozen" #define RCD_FLOORWALL 1 diff --git a/code/__DEFINES/jobs.dm b/code/__DEFINES/jobs.dm index 9bc8127c3d..35348df3d1 100644 --- a/code/__DEFINES/jobs.dm +++ b/code/__DEFINES/jobs.dm @@ -23,6 +23,7 @@ #define DOCTOR (1<<4) #define GENETICIST (1<<5) #define VIROLOGIST (1<<6) +#define PARAMEDIC (1<<7) #define CIVILIAN (1<<2) @@ -58,32 +59,33 @@ #define JOB_DISPLAY_ORDER_ASSISTANT 1 #define JOB_DISPLAY_ORDER_CAPTAIN 2 #define JOB_DISPLAY_ORDER_HEAD_OF_PERSONNEL 3 -#define JOB_DISPLAY_ORDER_BARTENDER 4 -#define JOB_DISPLAY_ORDER_COOK 5 -#define JOB_DISPLAY_ORDER_BOTANIST 6 -#define JOB_DISPLAY_ORDER_JANITOR 7 -#define JOB_DISPLAY_ORDER_CLOWN 8 -#define JOB_DISPLAY_ORDER_MIME 9 -#define JOB_DISPLAY_ORDER_CURATOR 10 -#define JOB_DISPLAY_ORDER_LAWYER 11 -#define JOB_DISPLAY_ORDER_CHAPLAIN 12 -#define JOB_DISPLAY_ORDER_QUARTERMASTER 13 -#define JOB_DISPLAY_ORDER_CARGO_TECHNICIAN 14 -#define JOB_DISPLAY_ORDER_SHAFT_MINER 15 -#define JOB_DISPLAY_ORDER_CHIEF_ENGINEER 16 -#define JOB_DISPLAY_ORDER_STATION_ENGINEER 17 -#define JOB_DISPLAY_ORDER_ATMOSPHERIC_TECHNICIAN 18 -#define JOB_DISPLAY_ORDER_CHIEF_MEDICAL_OFFICER 19 -#define JOB_DISPLAY_ORDER_MEDICAL_DOCTOR 20 -#define JOB_DISPLAY_ORDER_CHEMIST 21 -#define JOB_DISPLAY_ORDER_GENETICIST 22 -#define JOB_DISPLAY_ORDER_VIROLOGIST 23 -#define JOB_DISPLAY_ORDER_RESEARCH_DIRECTOR 24 -#define JOB_DISPLAY_ORDER_SCIENTIST 25 -#define JOB_DISPLAY_ORDER_ROBOTICIST 26 -#define JOB_DISPLAY_ORDER_HEAD_OF_SECURITY 27 -#define JOB_DISPLAY_ORDER_WARDEN 28 -#define JOB_DISPLAY_ORDER_DETECTIVE 29 -#define JOB_DISPLAY_ORDER_SECURITY_OFFICER 30 -#define JOB_DISPLAY_ORDER_AI 31 -#define JOB_DISPLAY_ORDER_CYBORG 32 +#define JOB_DISPLAY_ORDER_QUARTERMASTER 4 +#define JOB_DISPLAY_ORDER_CARGO_TECHNICIAN 5 +#define JOB_DISPLAY_ORDER_SHAFT_MINER 6 +#define JOB_DISPLAY_ORDER_BARTENDER 7 +#define JOB_DISPLAY_ORDER_COOK 8 +#define JOB_DISPLAY_ORDER_BOTANIST 9 +#define JOB_DISPLAY_ORDER_JANITOR 10 +#define JOB_DISPLAY_ORDER_CLOWN 11 +#define JOB_DISPLAY_ORDER_MIME 12 +#define JOB_DISPLAY_ORDER_CURATOR 13 +#define JOB_DISPLAY_ORDER_LAWYER 14 +#define JOB_DISPLAY_ORDER_CHAPLAIN 15 +#define JOB_DISPLAY_ORDER_AI 16 +#define JOB_DISPLAY_ORDER_CYBORG 17 +#define JOB_DISPLAY_ORDER_CHIEF_ENGINEER 18 +#define JOB_DISPLAY_ORDER_STATION_ENGINEER 19 +#define JOB_DISPLAY_ORDER_ATMOSPHERIC_TECHNICIAN 20 +#define JOB_DISPLAY_ORDER_CHIEF_MEDICAL_OFFICER 21 +#define JOB_DISPLAY_ORDER_MEDICAL_DOCTOR 22 +#define JOB_DISPLAY_ORDER_PARAMEDIC 23 +#define JOB_DISPLAY_ORDER_CHEMIST 24 +#define JOB_DISPLAY_ORDER_VIROLOGIST 25 +#define JOB_DISPLAY_ORDER_GENETICIST 26 +#define JOB_DISPLAY_ORDER_RESEARCH_DIRECTOR 27 +#define JOB_DISPLAY_ORDER_SCIENTIST 28 +#define JOB_DISPLAY_ORDER_ROBOTICIST 29 +#define JOB_DISPLAY_ORDER_HEAD_OF_SECURITY 30 +#define JOB_DISPLAY_ORDER_WARDEN 31 +#define JOB_DISPLAY_ORDER_DETECTIVE 32 +#define JOB_DISPLAY_ORDER_SECURITY_OFFICER 33 diff --git a/code/__DEFINES/materials.dm b/code/__DEFINES/materials.dm new file mode 100644 index 0000000000..0e5234792a --- /dev/null +++ b/code/__DEFINES/materials.dm @@ -0,0 +1,14 @@ +/// Is the material from an ore? currently unused but exists atm for categorizations sake +#define MAT_CATEGORY_ORE "ore capable" + +/// Hard materials, such as iron or metal +#define MAT_CATEGORY_RIGID "rigid material" + + +/// Gets the reference for the material type that was given +#define getmaterialref(A) (SSmaterials.materials[A] || A) + +/// Flag for atoms, this flag ensures it isn't re-colored by materials. Useful for snowflake icons such as default toolboxes. +#define MATERIAL_COLOR (1<<0) +#define MATERIAL_ADD_PREFIX (1<<1) +#define MATERIAL_NO_EFFECTS (1<<2) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index ac8681ead7..881a02c38b 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -521,3 +521,5 @@ GLOBAL_LIST_INIT(pda_reskins, list(PDA_SKIN_CLASSIC = 'icons/obj/pda.dmi', PDA_S #define NIGHTSHIFT_AREA_RECREATION 2 //dorms common areas, etc #define NIGHTSHIFT_AREA_DEPARTMENT_HALLS 3 //interior hallways, etc #define NIGHTSHIFT_AREA_NONE 4 //default/highest. + +#define UNTIL(X) while(!(X)) stoplag() diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 1b437f2a71..dc67de3150 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -276,4 +276,4 @@ #define HUMAN_FIRE_STACK_ICON_NUM 3 #define PULL_PRONE_SLOWDOWN 0.6 -#define HUMAN_CARRY_SLOWDOWN 0 \ No newline at end of file +#define HUMAN_CARRY_SLOWDOWN 0 diff --git a/code/__DEFINES/move_force.dm b/code/__DEFINES/move_force.dm index ec31388c72..1f8819b0c8 100644 --- a/code/__DEFINES/move_force.dm +++ b/code/__DEFINES/move_force.dm @@ -17,4 +17,4 @@ #define MOVE_FORCE_NORMAL MOVE_FORCE_DEFAULT #define MOVE_FORCE_WEAK (MOVE_FORCE_DEFAULT / 2) #define MOVE_FORCE_VERY_WEAK ((MOVE_FORCE_DEFAULT / MOVE_FORCE_CRUSH_RATIO) + 1) -#define MOVE_FORCE_EXTREMELY_WEAK (MOVE_FORCE_DEFAULT / (MOVE_FORCE_CRUSH_RATIO * 3)) \ No newline at end of file +#define MOVE_FORCE_EXTREMELY_WEAK (MOVE_FORCE_DEFAULT / (MOVE_FORCE_CRUSH_RATIO * 3)) diff --git a/code/__DEFINES/movespeed_modification.dm b/code/__DEFINES/movespeed_modification.dm index 1883df6e8e..5d35da5382 100644 --- a/code/__DEFINES/movespeed_modification.dm +++ b/code/__DEFINES/movespeed_modification.dm @@ -68,4 +68,6 @@ #define MOVESPEED_ID_SHOVE "SHOVE" -#define MOVESPEED_ID_MKULTRA "MKULTRA" \ No newline at end of file +#define MOVESPEED_ID_MKULTRA "MKULTRA" + +#define MOVESPEED_ID_ELECTROSTAFF "ELECTROSTAFF" \ No newline at end of file diff --git a/code/__DEFINES/nanites.dm b/code/__DEFINES/nanites.dm index 45455a81c2..ed15e972ab 100644 --- a/code/__DEFINES/nanites.dm +++ b/code/__DEFINES/nanites.dm @@ -1,11 +1,44 @@ -#define NANITE_TIMER_DEACTIVATE 1 -#define NANITE_TIMER_SELFDELETE 2 -#define NANITE_TIMER_TRIGGER 3 -#define NANITE_TIMER_RESET 4 - #define NANITE_SYNC_DELAY 300 #define NANITE_SHOCK_IMMUNE 1 #define NANITE_EMP_IMMUNE 2 -#define NANITE_PROGRAM_LIMIT 20 \ No newline at end of file +#define NANITE_PROGRAM_LIMIT 20 + + +#define NANITE_BASE_RESEARCH 3.5 + +#define NANITE_CLOUD_TOGGLE 1 +#define NANITE_CLOUD_DISABLE 2 +#define NANITE_CLOUD_ENABLE 3 + +///Nanite extra settings types: used to help uis know what type an extra setting is +#define NESTYPE_TEXT "text" +#define NESTYPE_NUMBER "number" +#define NESTYPE_TYPE "type" +#define NESTYPE_BOOLEAN "boolean" + +///Nanite Extra Settings - Note that these will also be the names displayed in the UI +#define NES_SENT_CODE "Sent Code" +#define NES_DELAY "Delay" +#define NES_MODE "Mode" +#define NES_COMM_CODE "Comm Code" +#define NES_RELAY_CHANNEL "Relay Channel" +#define NES_HEALTH_PERCENT "Health Percent" +#define NES_DIRECTION "Direction" +#define NES_NANITE_PERCENT "Nanite Percent" +#define NES_DAMAGE_TYPE "Damage Type" +#define NES_DAMAGE "Damage" +#define NES_SENTENCE "Sentence" +#define NES_MESSAGE "Message" +#define NES_DIRECTIVE "Directive" +#define NES_INCLUSIVE_MODE "Inclusive Mode" +#define NES_HALLUCINATION_TYPE "Hallucination Type" +#define NES_HALLUCINATION_DETAIL "Hallucination Detail" +#define NES_MOOD_MESSAGE "Mood Message" +#define NES_PROGRAM_OVERWRITE "Program Overwrite" +#define NES_CLOUD_OVERWRITE "Cloud Overwrite" +#define NES_SCAN_TYPE "Scan Type" +#define NES_BUTTON_NAME "Button Name" +#define NES_ICON "Icon" +#define NES_COLOR "Color" diff --git a/code/__DEFINES/pool.dm b/code/__DEFINES/pool.dm new file mode 100644 index 0000000000..1e66109dc7 --- /dev/null +++ b/code/__DEFINES/pool.dm @@ -0,0 +1,13 @@ +//TODO: move these to their own file +#define POOL_FRIGID 1 +#define POOL_COOL 2 +#define POOL_NORMAL 3 +#define POOL_WARM 4 +#define POOL_SCALDING 5 + +GLOBAL_LIST_INIT(blacklisted_pool_reagents, list( + /datum/reagent/toxin/plasma, /datum/reagent/oxygen, /datum/reagent/nitrous_oxide, /datum/reagent/nitrogen, //gases + /datum/reagent/fermi, //blanket fermichem ban sorry. this also covers mkultra, genital enlargers, etc etc. + /datum/reagent/drug/aphrodisiac, /datum/reagent/drug/anaphrodisiac, /datum/reagent/drug/aphrodisiacplus, /datum/reagent/drug/anaphrodisiacplus, //literally asking for prefbreaks + /datum/reagent/consumable/femcum, /datum/reagent/consumable/semen //NO. + )) diff --git a/code/__DEFINES/power.dm b/code/__DEFINES/power.dm new file mode 100644 index 0000000000..78d942d78b --- /dev/null +++ b/code/__DEFINES/power.dm @@ -0,0 +1,3 @@ +#define SOLAR_TRACK_OFF 0 +#define SOLAR_TRACK_TIMED 1 +#define SOLAR_TRACK_AUTO 2 diff --git a/code/__DEFINES/robots.dm b/code/__DEFINES/robots.dm index a05e6f6160..affa23d30a 100644 --- a/code/__DEFINES/robots.dm +++ b/code/__DEFINES/robots.dm @@ -53,4 +53,10 @@ //Checks to determine borg availability depending on the server's config. These are defines in the interest of reducing copypasta -#define BORG_SEC_AVAILABLE (!CONFIG_GET(flag/disable_secborg) && GLOB.security_level >= CONFIG_GET(number/minimum_secborg_alert)) \ No newline at end of file +#define BORG_SEC_AVAILABLE (!CONFIG_GET(flag/disable_secborg) && GLOB.security_level >= CONFIG_GET(number/minimum_secborg_alert)) + +//silicon_priviledges flags +#define PRIVILEDGES_SILICON (1<<0) +#define PRIVILEDGES_PAI (1<<1) +#define PRIVILEDGES_BOT (1<<2) +#define PRIVILEDGES_DRONE (1<<3) diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm index f42948f4ae..40d3550d1b 100644 --- a/code/__DEFINES/status_effects.dm +++ b/code/__DEFINES/status_effects.dm @@ -90,6 +90,9 @@ #define STATUS_EFFECT_NO_COMBAT_MODE /datum/status_effect/no_combat_mode //Wont allow combat mode and will disable it #define STATUS_EFFECT_MESMERIZE /datum/status_effect/no_combat_mode/mesmerize //Just reskinned no_combat_mode + +#define STATUS_EFFECT_ELECTROSTAFF /datum/status_effect/electrostaff //slows down victim + ///////////// // NEUTRAL // ///////////// diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index 162c898917..903e5cbbe1 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -47,26 +47,27 @@ // Subsystems shutdown in the reverse of the order they initialize in // The numbers just define the ordering, they are meaningless otherwise. -#define INIT_ORDER_PROFILER 101 -#define INIT_ORDER_FAIL2TOPIC 22 -#define INIT_ORDER_TITLE 20 -#define INIT_ORDER_GARBAGE 19 -#define INIT_ORDER_DBCORE 18 -#define INIT_ORDER_BLACKBOX 17 -#define INIT_ORDER_SERVER_MAINT 16 -#define INIT_ORDER_INPUT 15 -#define INIT_ORDER_VIS 14 -#define INIT_ORDER_RESEARCH 13 -#define INIT_ORDER_EVENTS 12 -#define INIT_ORDER_JOBS 11 -#define INIT_ORDER_QUIRKS 10 -#define INIT_ORDER_TICKER 9 -#define INIT_ORDER_MAPPING 8 -#define INIT_ORDER_NETWORKS 7 -#define INIT_ORDER_ATOMS 6 -#define INIT_ORDER_LANGUAGE 5 -#define INIT_ORDER_MACHINES 4 -#define INIT_ORDER_CIRCUIT 3 +#define INIT_ORDER_PROFILER 100 +#define INIT_ORDER_FAIL2TOPIC 99 +#define INIT_ORDER_TITLE 98 +#define INIT_ORDER_GARBAGE 97 +#define INIT_ORDER_DBCORE 95 +#define INIT_ORDER_BLACKBOX 94 +#define INIT_ORDER_SERVER_MAINT 93 +#define INIT_ORDER_INPUT 85 +#define INIT_ORDER_VIS 80 +#define INIT_ORDER_MATERIALS 76 +#define INIT_ORDER_RESEARCH 75 +#define INIT_ORDER_EVENTS 70 +#define INIT_ORDER_JOBS 65 +#define INIT_ORDER_QUIRKS 60 +#define INIT_ORDER_TICKER 55 +#define INIT_ORDER_MAPPING 50 +#define INIT_ORDER_NETWORKS 45 +#define INIT_ORDER_ATOMS 30 +#define INIT_ORDER_LANGUAGE 25 +#define INIT_ORDER_MACHINES 20 +#define INIT_ORDER_CIRCUIT 15 #define INIT_ORDER_TIMER 1 #define INIT_ORDER_DEFAULT 0 #define INIT_ORDER_AIR -1 diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index d144254a50..91ba57456c 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -55,6 +55,7 @@ } while (0) #define HAS_TRAIT(target, trait) (target.status_traits ? (target.status_traits[trait] ? TRUE : FALSE) : FALSE) #define HAS_TRAIT_FROM(target, trait, source) (target.status_traits ? (target.status_traits[trait] ? (source in target.status_traits[trait]) : FALSE) : FALSE) +#define HAS_TRAIT_NOT_FROM(target, trait, source) (target.status_traits ? (target.status_traits[trait] ? (length(target.status_traits[trait] - source) > 0) : FALSE) : FALSE) //mob traits #define TRAIT_BLIND "blind" @@ -136,7 +137,7 @@ #define TRAIT_NOMARROW "nomarrow" // You don't make blood, with chemicals or nanites. #define TRAIT_NOPULSE "nopulse" // Your heart doesn't beat. #define TRAIT_EXEMPT_HEALTH_EVENTS "exempt-health-events" - +#define TRAIT_SWIMMING "swimming" //only applied by /datum/element/swimming, for checking //non-mob traits #define TRAIT_PARALYSIS "paralysis" //Used for limb-based paralysis, where replacing the limb will fix it diff --git a/code/__HELPERS/_cit_helpers.dm b/code/__HELPERS/_cit_helpers.dm index 26910a916b..4ae30838e4 100644 --- a/code/__HELPERS/_cit_helpers.dm +++ b/code/__HELPERS/_cit_helpers.dm @@ -115,7 +115,7 @@ GLOBAL_VAR_INIT(miscreants_allowed, FALSE) var/new_flavor = stripped_multiline_input(usr, "Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!", "Flavor Text", flavor_text, MAX_FAVOR_LEN, TRUE) if(!isnull(new_flavor)) - flavor_text = new_flavor + flavor_text = html_decode(new_flavor) to_chat(src, "Your flavor text has been updated.") //Flavor Text @@ -126,10 +126,10 @@ GLOBAL_VAR_INIT(miscreants_allowed, FALSE) var/new_flavor = stripped_multiline_input(usr, "Set the temporary flavor text in your 'examine' verb. This should be used only for things pertaining to the current round!", "Short-Term Flavor Text", flavor_text_2, MAX_FAVOR_LEN, TRUE) if(!isnull(new_flavor)) - flavor_text_2 = new_flavor + flavor_text_2 = html_decode(new_flavor) to_chat(src, "Your temporary flavor text has been updated.") -/mob/proc/print_flavor_text(flavor) +/mob/proc/print_flavor_text(flavor,temp = FALSE) if(!flavor) return // We are decoding and then encoding to not only get correct amount of characters, but also to prevent partial escaping characters being shown. @@ -137,7 +137,7 @@ GLOBAL_VAR_INIT(miscreants_allowed, FALSE) if(length_char(msg) <= 40) return "[html_encode(msg)]" else - return "[html_encode(copytext_char(msg, 1, 37))]... More..." + return "[html_encode(copytext_char(msg, 1, 37))]... More..." //LOOC toggles /client/verb/listen_looc() diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 7045767f98..8c73d32583 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -76,11 +76,6 @@ for(var/path in subtypesof(/datum/surgery)) GLOB.surgeries_list += new path() - //Materials - for(var/path in subtypesof(/datum/material)) - var/datum/material/D = new path() - GLOB.materials_list[D.id] = D - //Emotes for(var/path in subtypesof(/datum/emote)) var/datum/emote/E = new path() @@ -98,6 +93,8 @@ init_subtypes(/datum/crafting_recipe, GLOB.crafting_recipes) + INVOKE_ASYNC(GLOBAL_PROC, /proc/init_ref_coin_values) //so the current procedure doesn't sleep because of UNTIL() + //creates every subtype of prototype (excluding prototype) and adds it to list L. //if no list/L is provided, one is created. /proc/init_subtypes(prototype, list/L) @@ -115,3 +112,10 @@ for(var/path in subtypesof(prototype)) L+= path return L + +/proc/init_ref_coin_values() + for(var/path in typesof(/obj/item/coin)) + var/obj/item/coin/C = new path + UNTIL(C.flags_1 & INITIALIZED_1) //we want to make sure the value is calculated and not null. + GLOB.coin_values[path] = C.value + qdel(C) diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index beb005b8d1..dd2d464cf0 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -782,3 +782,19 @@ GLOBAL_LIST_INIT(binary, list("0","1")) #define is_alpha(X) ((text2ascii(X) <= 122) && (text2ascii(X) >= 97)) #define is_digit(X) ((length(X) == 1) && (length(text2num(X)) == 1)) + +/// Slightly expensive proc to scramble a message using equal probabilities of character replacement from a list. DOES NOT SUPPORT HTML! +/proc/scramble_message_replace_chars(original, replaceprob = 25, list/replacementchars = list("$", "@", "!", "#", "%", "^", "&", "*"), replace_letters_only = FALSE, replace_whitespace = FALSE) + var/list/out = list() + var/static/list/whitespace = list(" ", "\n", "\t") + for(var/i in 1 to length(original)) + var/char = original[i] + if(!replace_whitespace && (char in whitespace)) + out += char + continue + if(replace_letters_only && (!ISINRANGE(char, 65, 90) && !ISINRANGE(char, 97, 122))) + out += char + continue + out += prob(replaceprob)? pick(replacementchars) : char + return out.Join("") + diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 2cb088c654..af2fb281e6 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1234,8 +1234,6 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) return FALSE return TRUE -#define UNTIL(X) while(!(X)) stoplag() - /proc/pass() return diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm index 6a0d8201a7..4de7c88bf7 100644 --- a/code/_globalvars/lists/objects.dm +++ b/code/_globalvars/lists/objects.dm @@ -16,7 +16,6 @@ GLOBAL_LIST_EMPTY(singularities) //list of all singularities on the stati GLOBAL_LIST(chemical_reactions_list) //list of all /datum/chemical_reaction datums. Used during chemical reactions GLOBAL_LIST(chemical_reagents_list) //list of all /datum/reagent datums indexed by reagent id. Used by chemistry stuff -GLOBAL_LIST_EMPTY(materials_list) //list of all /datum/material datums indexed by material id. GLOBAL_LIST_EMPTY(tech_list) //list of all /datum/tech datums indexed by id. GLOBAL_LIST_EMPTY(surgeries_list) //list of all surgeries by name, associated with their path. GLOBAL_LIST_EMPTY(uplink_items) //list of all uplink item typepaths, ascendingly sorted by their initial name. @@ -33,6 +32,7 @@ GLOBAL_LIST_EMPTY(meteor_list) // List of all meteors. GLOBAL_LIST_EMPTY(active_jammers) // List of active radio jammers GLOBAL_LIST_EMPTY(ladders) GLOBAL_LIST_EMPTY(trophy_cases) +GLOBAL_LIST_EMPTY(coin_values) GLOBAL_LIST_EMPTY(wire_color_directory) GLOBAL_LIST_EMPTY(wire_name_directory) diff --git a/code/_onclick/drag_drop.dm b/code/_onclick/drag_drop.dm index dc18107a95..9638b040f9 100644 --- a/code/_onclick/drag_drop.dm +++ b/code/_onclick/drag_drop.dm @@ -42,7 +42,7 @@ selected_target[1] = object selected_target[2] = params while(selected_target[1]) - Click(selected_target[1], location, control, selected_target[2]) + Click(selected_target[1], location, control, selected_target[2], TRUE) sleep(delay) active_mousedown_item = mob.canMobMousedown(object, location, params) if(active_mousedown_item) @@ -145,4 +145,4 @@ if (middragatom == src_object) middragtime = 0 middragatom = null - ..() \ No newline at end of file + ..() diff --git a/code/_onclick/hud/action_button.dm b/code/_onclick/hud/action_button.dm index 858b8dbd06..0ed3a9cf26 100644 --- a/code/_onclick/hud/action_button.dm +++ b/code/_onclick/hud/action_button.dm @@ -72,6 +72,22 @@ 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 + +/obj/screen/movable/action_button/hide_toggle/Initialize() + . = ..() + var/static/list/icon_cache = list() + + 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) + + 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) /obj/screen/movable/action_button/hide_toggle/Click(location,control,params) if (!can_use(usr)) @@ -137,9 +153,12 @@ show_state = settings["toggle_show"] update_icon() -/obj/screen/movable/action_button/hide_toggle/update_icon() - cut_overlays() - add_overlay(mutable_appearance(hide_icon, hidden ? show_state : hide_state)) +/obj/screen/movable/action_button/hide_toggle/update_overlays() + . = ..() + if(hidden) + . += show_appearance + else + . += hide_appearance /obj/screen/movable/action_button/MouseEntered(location,control,params) diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 15d1d3b717..f5eb8535a5 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -166,29 +166,27 @@ var/static/mutable_appearance/blocked_overlay = mutable_appearance('icons/mob/screen_gen.dmi', "blocked") var/held_index = 0 -/obj/screen/inventory/hand/update_icon() +/obj/screen/inventory/hand/update_overlays() . = ..() if(!handcuff_overlay) var/state = (!(held_index % 2)) ? "markus" : "gabrielle" handcuff_overlay = mutable_appearance('icons/mob/screen_gen.dmi', state) - cut_overlay(list(handcuff_overlay, blocked_overlay, "hand_active")) - if(!hud?.mymob) return if(iscarbon(hud.mymob)) var/mob/living/carbon/C = hud.mymob if(C.handcuffed) - add_overlay(handcuff_overlay) + . += handcuff_overlay if(held_index) if(!C.has_hand_for_held_index(held_index)) - add_overlay(blocked_overlay) + . += blocked_overlay if(held_index == hud.mymob.active_hand_index) - add_overlay("hand_active") + . += "hand_active" /obj/screen/inventory/hand/Click(location, control, params) diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm index ecd34b7840..6cf01ec8ff 100644 --- a/code/_onclick/telekinesis.dm +++ b/code/_onclick/telekinesis.dm @@ -76,8 +76,8 @@ layer = ABOVE_HUD_LAYER plane = ABOVE_HUD_PLANE - var/atom/movable/focus = null - var/mob/living/carbon/tk_user = null + var/atom/movable/focus + var/mob/living/carbon/tk_user /obj/item/tk_grab/Initialize() . = ..() @@ -85,6 +85,8 @@ /obj/item/tk_grab/Destroy() STOP_PROCESSING(SSfastprocess, src) + focus = null + tk_user = null return ..() /obj/item/tk_grab/process() @@ -179,16 +181,14 @@ return new /obj/effect/temp_visual/telekinesis(get_turf(focus)) -/obj/item/tk_grab/update_icon() - cut_overlays() - if(focus) - var/old_layer = focus.layer - var/old_plane = focus.plane - focus.layer = layer+0.01 - focus.plane = ABOVE_HUD_PLANE - add_overlay(focus) //this is kind of ick, but it's better than using icon() - focus.layer = old_layer - focus.plane = old_plane +/obj/item/tk_grab/update_overlays() + . = ..() + if(!focus) + return + var/mutable_appearance/focus_overlay = new(focus) + focus_overlay.layer = layer + 0.01 + focus_overlay.plane = ABOVE_HUD_PLANE + . += focus_overlay /obj/item/tk_grab/suicide_act(mob/user) user.visible_message("[user] is using [user.p_their()] telekinesis to choke [user.p_them()]self! It looks like [user.p_theyre()] trying to commit suicide!") diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index 0f12d1d9ae..87cccdd9f2 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -254,13 +254,13 @@ config_entry_value = 1 /datum/config_entry/number/movedelay/sprint_buffer_max - config_entry_value = 42 + config_entry_value = 24 /datum/config_entry/number/movedelay/sprint_stamina_cost - config_entry_value = 0.7 + config_entry_value = 1.4 /datum/config_entry/number/movedelay/sprint_buffer_regen_per_ds - config_entry_value = 0.3 + config_entry_value = 0.4 /////////////////////////////////////////////////Outdated move delay /datum/config_entry/number/outdated_movedelay @@ -404,10 +404,6 @@ lowercase = FALSE splitter = "," -/datum/config_entry/number/auto_transfer_delay - config_entry_value = 72000 - min_val = 0 - /datum/config_entry/flag/pai_custom_holoforms /datum/config_entry/number/marauder_delay_non_reebe diff --git a/code/controllers/configuration/entries/general.dm b/code/controllers/configuration/entries/general.dm index cb8c0fe966..2d9264adf5 100644 --- a/code/controllers/configuration/entries/general.dm +++ b/code/controllers/configuration/entries/general.dm @@ -82,6 +82,18 @@ config_entry_value = 600 min_val = 0 +/datum/config_entry/number/vote_autotransfer_initial //length of time before the first autotransfer vote is called (deciseconds, default 2 hours) + config_entry_value = 72000 + min_val = 0 + +/datum/config_entry/number/vote_autotransfer_interval //length of time to wait before subsequent autotransfer votes (deciseconds, default 30 minutes) + config_entry_value = 18000 + min_val = 0 + +/datum/config_entry/number/vote_autotransfer_maximum // maximum extensions until the round autoends + config_entry_value = 4 + min_val = 0 + /datum/config_entry/flag/default_no_vote // vote does not default to nochange/norestart /datum/config_entry/flag/no_dead_vote // dead people can't vote diff --git a/code/controllers/subsystem/autotransfer.dm b/code/controllers/subsystem/autotransfer.dm new file mode 100644 index 0000000000..4f8fc3631d --- /dev/null +++ b/code/controllers/subsystem/autotransfer.dm @@ -0,0 +1,27 @@ +SUBSYSTEM_DEF(autotransfer) + name = "Autotransfer Vote" + flags = SS_KEEP_TIMING | SS_BACKGROUND + wait = 1 MINUTES + + var/starttime + var/targettime + var/voteinterval + var/maxvotes + var/curvotes + +/datum/controller/subsystem/autotransfer/Initialize(timeofday) + starttime = world.time + targettime = starttime + CONFIG_GET(number/vote_autotransfer_initial) + voteinterval = CONFIG_GET(number/vote_autotransfer_interval) + maxvotes = CONFIG_GET(number/vote_autotransfer_maximum) + curvotes = 0 + return ..() + +/datum/controller/subsystem/autotransfer/fire() + if(maxvotes > curvotes) + if(world.time > targettime) + SSvote.initiate_vote("transfer",null) //TODO figure out how to not use null as the user + targettime = targettime + voteinterval + curvotes += 1 + else + SSshuttle.autoEnd() diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm index f8ca1e7eae..d1bd7e7191 100644 --- a/code/controllers/subsystem/garbage.dm +++ b/code/controllers/subsystem/garbage.dm @@ -27,6 +27,7 @@ SUBSYSTEM_DEF(garbage) #ifdef TESTING var/list/reference_find_on_fail = list() + var/list/reference_find_on_fail_types = list() #endif @@ -98,9 +99,6 @@ SUBSYSTEM_DEF(garbage) state = SS_RUNNING break - - - /datum/controller/subsystem/garbage/proc/HandleQueue(level = GC_QUEUE_CHECK) if (level == GC_QUEUE_CHECK) delslasttick = 0 @@ -183,6 +181,11 @@ SUBSYSTEM_DEF(garbage) var/gctime = world.time var/refid = "\ref[D]" +#ifdef TESTING + if(reference_find_on_fail_types[D.type]) + reference_find_on_fail["\ref[D]"] = TRUE +#endif + D.gc_destroyed = gctime var/list/queue = queues[level] if (queue[refid]) @@ -190,6 +193,21 @@ SUBSYSTEM_DEF(garbage) queue[refid] = gctime +#ifdef TESTING +/datum/controller/subsystem/garbage/proc/add_type_to_findref(type) + if(!ispath(type)) + return "NOT A VAILD PATH" + reference_find_on_fail_types |= typecacheof(type) + +/datum/controller/subsystem/garbage/proc/remove_type_from_findref(type) + if(!ispath(type)) + return "NOT A VALID PATH" + reference_find_on_fail_types -= typesof(type) + +/datum/controller/subsystem/garbage/proc/clear_findref_types() + reference_find_on_fail_types = list() +#endif + //this is mainly to separate things profile wise. /datum/controller/subsystem/garbage/proc/HardDelete(datum/D) var/time = world.timeofday @@ -244,7 +262,7 @@ SUBSYSTEM_DEF(garbage) #ifdef TESTING /proc/qdel_and_find_ref_if_fail(datum/D, force = FALSE) - SSgarbage.reference_find_on_fail[REF(D)] = TRUE + SSgarbage.reference_find_on_fail["\ref[D]"] = TRUE qdel(D, force) #endif @@ -309,7 +327,7 @@ SUBSYSTEM_DEF(garbage) if (QDEL_HINT_IFFAIL_FINDREFERENCE) SSgarbage.Queue(D) #ifdef TESTING - SSgarbage.reference_find_on_fail[REF(D)] = TRUE + SSgarbage.reference_find_on_fail["\ref[D]"] = TRUE #endif else #ifdef TESTING diff --git a/code/controllers/subsystem/materials.dm b/code/controllers/subsystem/materials.dm new file mode 100644 index 0000000000..96b9e68904 --- /dev/null +++ b/code/controllers/subsystem/materials.dm @@ -0,0 +1,27 @@ +/*! How material datums work +Materials are now instanced datums, with an associative list of them being kept in SSmaterials. We only instance the materials once and then re-use these instances for everything. +These materials call on_applied() on whatever item they are applied to, common effects are adding components, changing color and changing description. This allows us to differentiate items based on the material they are made out of.area +*/ + +SUBSYSTEM_DEF(materials) + name = "Materials" + flags = SS_NO_FIRE + init_order = INIT_ORDER_MATERIALS + ///Dictionary of material.type || material ref + var/list/materials = list() + ///Dictionary of category || list of material refs + var/list/materials_by_category = list() + ///List of stackcrafting recipes for materials using rigid materials + var/list/rigid_stack_recipes = list(new/datum/stack_recipe("chair", /obj/structure/chair/greyscale, one_per_turf = TRUE, on_floor = TRUE, applies_mats = TRUE)) + +/datum/controller/subsystem/materials/Initialize(timeofday) + InitializeMaterials() + return ..() + +///Ran on initialize, populated the materials and materials_by_category dictionaries with their appropiate vars (See these variables for more info) +/datum/controller/subsystem/materials/proc/InitializeMaterials(timeofday) + for(var/type in subtypesof(/datum/material)) + var/datum/material/ref = new type + materials[type] = ref + for(var/c in ref.categories) + materials_by_category[c] += list(ref) diff --git a/code/controllers/subsystem/research.dm b/code/controllers/subsystem/research.dm index 3b2df8bade..f158574763 100644 --- a/code/controllers/subsystem/research.dm +++ b/code/controllers/subsystem/research.dm @@ -416,6 +416,7 @@ SUBSYSTEM_DEF(research) stack_trace("WARNING: Design ID clash with ID [initial(DN.id)] detected! Path: [path]") errored_datums[DN] = initial(DN.id) continue + DN.InitializeMaterials() //Initialize the materials in the design returned[initial(DN.id)] = DN techweb_designs = returned verify_techweb_designs() diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index 7eff8b9e3c..bcbe2bb49b 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -55,7 +55,8 @@ SUBSYSTEM_DEF(shuttle) var/lockdown = FALSE //disallow transit after nuke goes off - var/auto_call = 72000 //CIT CHANGE - time before in deciseconds in which the shuttle is auto called. Default is 2ish hours plus 15 for the shuttle. So total is 3. + var/endvote_passed = FALSE + var/realtimeofstart = 0 /datum/controller/subsystem/shuttle/Initialize(timeofday) @@ -78,7 +79,6 @@ SUBSYSTEM_DEF(shuttle) if(!supply) WARNING("No /obj/docking_port/mobile/supply placed on the map!") realtimeofstart = world.realtime - auto_call = CONFIG_GET(number/auto_transfer_delay) return ..() /datum/controller/subsystem/shuttle/proc/initial_load() @@ -643,10 +643,11 @@ SUBSYSTEM_DEF(shuttle) QDEL_LIST(remove_images) -/datum/controller/subsystem/shuttle/proc/autoEnd() //CIT CHANGE - allows shift to end after 2 hours have passed. - if((world.realtime - SSshuttle.realtimeofstart) > auto_call && EMERGENCY_IDLE_OR_RECALLED) //2 hours +/datum/controller/subsystem/shuttle/proc/autoEnd() //CIT CHANGE - allows shift to end without being a proper shuttle call? + if(EMERGENCY_IDLE_OR_RECALLED) SSshuttle.emergency.request(silent = TRUE) priority_announce("The shift has come to an end and the shuttle called. [seclevel2num(get_security_level()) == SEC_LEVEL_RED ? "Red Alert state confirmed: Dispatching priority shuttle. " : "" ]It will arrive in [emergency.timeLeft(600)] minutes.", null, "shuttlecalled", "Priority") - log_game("Round time limit reached. Shuttle has been auto-called.") - message_admins("Round time limit reached. Shuttle called.") - emergencyNoRecall = TRUE + log_game("Round end vote passed. Shuttle has been auto-called.") + message_admins("Round end vote passed. Shuttle has been auto-called.") + emergencyNoRecall = TRUE + endvote_passed = TRUE diff --git a/code/controllers/subsystem/sun.dm b/code/controllers/subsystem/sun.dm index 7a3528cc3d..442329cf46 100644 --- a/code/controllers/subsystem/sun.dm +++ b/code/controllers/subsystem/sun.dm @@ -1,49 +1,32 @@ SUBSYSTEM_DEF(sun) name = "Sun" - wait = 600 - flags = SS_NO_TICK_CHECK|SS_NO_INIT - var/angle - var/dx - var/dy - var/rate - var/list/solars = list() - -/datum/controller/subsystem/sun/PreInit() - angle = rand (0,360) // the station position to the sun is randomised at round start - rate = rand(50,200)/100 // 50% - 200% of standard rotation - if(prob(50)) // same chance to rotate clockwise than counter-clockwise - rate = -rate - -/datum/controller/subsystem/sun/stat_entry(msg) - ..("P:[solars.len]") - -/datum/controller/subsystem/sun/fire() - angle = (360 + angle + rate * 6) % 360 // increase/decrease the angle to the sun, adjusted by the rate - - // now calculate and cache the (dx,dy) increments for line drawing - var/s = sin(angle) - var/c = cos(angle) - - // Either "abs(s) < abs(c)" or "abs(s) >= abs(c)" - // In both cases, the greater is greater than 0, so, no "if 0" check is needed for the divisions - - if(abs(s) < abs(c)) - dx = s / abs(c) - dy = c / abs(c) - else - dx = s / abs(s) - dy = c / abs(s) - - //now tell the solar control computers to update their status and linked devices - for(var/obj/machinery/power/solar_control/SC in solars) - if(!SC.powernet) - solars.Remove(SC) - continue - SC.update() - - + wait = 1 MINUTES + flags = SS_NO_TICK_CHECK + var/azimuth = 0 ///clockwise, top-down rotation from 0 (north) to 359 + var/azimuth_mod = 1 ///multiplier against base_rotation + var/base_rotation = 6 ///base rotation in degrees per fire +/datum/controller/subsystem/sun/Initialize(start_timeofday) + azimuth = rand(0, 359) + azimuth_mod = round(rand(50, 200)/100, 0.01) // 50% - 200% of standard rotation + if(prob(50)) + azimuth_mod *= -1 + return ..() +/datum/controller/subsystem/sun/fire(resumed = FALSE) + azimuth += azimuth_mod * base_rotation + azimuth = round(azimuth, 0.01) + if(azimuth >= 360) + azimuth -= 360 + if(azimuth < 0) + azimuth += 360 + complete_movement() +/datum/controller/subsystem/sun/proc/complete_movement() + SEND_SIGNAL(src, COMSIG_SUN_MOVED, azimuth) +/datum/controller/subsystem/sun/vv_edit_var(var_name, var_value) + . = ..() + if(var_name == NAMEOF(src, azimuth)) + complete_movement() diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index fe994facdc..5d960964a0 100755 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -213,7 +213,7 @@ SUBSYSTEM_DEF(ticker) check_queue() check_maprotate() scripture_states = scripture_unlock_alert(scripture_states) - SSshuttle.autoEnd() + //SSshuttle.autoEnd() if(!roundend_check_paused && mode.check_finished(force_ending) || force_ending) current_state = GAME_STATE_FINISHED @@ -486,8 +486,9 @@ SUBSYSTEM_DEF(ticker) SSvote.initiate_vote("map","server",hideresults=TRUE,votesystem = INSTANT_RUNOFF_VOTING) if("SCORE") SSvote.initiate_vote("map","server",hideresults=TRUE,votesystem = MAJORITY_JUDGEMENT_VOTING) + else + SSvote.initiate_vote("map","server",hideresults=TRUE) // fallback - SSvote.initiate_vote("map","server",hideresults=TRUE) /datum/controller/subsystem/ticker/proc/HasRoundStarted() return current_state >= GAME_STATE_PLAYING diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index 9924ed7917..9d5c85e4e4 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -89,6 +89,20 @@ SUBSYSTEM_DEF(vote) choices[GLOB.master_mode] += non_voters.len if(choices[GLOB.master_mode] >= greatest_votes) greatest_votes = choices[GLOB.master_mode] + else if(mode == "transfer") // austation begin -- Crew autotransfer vote + var/factor = 1 + switch(world.time / (1 MINUTES)) + if(0 to 60) + factor = 0.5 + if(61 to 120) + factor = 0.8 + if(121 to 240) + factor = 1 + if(241 to 300) + factor = 1.2 + else + factor = 1.4 + choices["Initiate Crew Transfer"] += round(non_voters.len * factor) // austation end //get all options with that many votes and return them in a list . = list() if(greatest_votes) @@ -211,24 +225,24 @@ SUBSYSTEM_DEF(vote) var/already_lost_runoff = list() var/list/cur_choices = choices.Copy() for(var/ckey in voted) - choices[choices[voted[ckey][1]]]++ // jesus christ how horrifying + choices["[choices[voted[ckey][1]]]"]++ // jesus christ how horrifying for(var/_this_var_unused_ignore_it in 1 to choices.len) // if it takes more than this something REALLY wrong happened for(var/ckey in voted) - cur_choices[cur_choices[voted[ckey][1]]]++ // jesus christ how horrifying + cur_choices["[cur_choices[voted[ckey][1]]]]"]++ // jesus christ how horrifying var/least_vote = 100000 - var/least_voted + var/least_voted = 1 for(var/i in 1 to cur_choices.len) var/option = cur_choices[i] - if(cur_choices[option] > voted.len/2) - return list(option) - else if(cur_choices[option] < least_vote && !(option in already_lost_runoff)) - least_vote = cur_choices[option] + if(cur_choices["[option]"] > voted.len/2) + return list("[option]") + else if(cur_choices["[option]"] < least_vote && !("[option]" in already_lost_runoff)) + least_vote = cur_choices["[option]"] least_voted = i already_lost_runoff += cur_choices[least_voted] for(var/ckey in voted) voted[ckey] -= least_voted - for(var/option in cur_choices) - cur_choices[option] = 0 + for(var/i in 1 to cur_choices.len) + cur_choices["[cur_choices[i]]"] = 0 /datum/controller/subsystem/vote/proc/announce_result() var/vote_title_text @@ -365,6 +379,12 @@ SUBSYSTEM_DEF(vote) log_admin("The map has been voted for and will change to: [VM.map_name]") if(SSmapping.changemap(config.maplist[.])) to_chat(world, "The map vote has chosen [VM.map_name] for next round!") + if("transfer") // austation begin -- Crew autotransfer vote + if(. == "Initiate Crew Transfer") + SSshuttle.autoEnd() + var/obj/machinery/computer/communications/C = locate() in GLOB.machines + if(C) + C.post_status("shuttle") // austation end if(restart) var/active_admins = 0 for(var/client/C in GLOB.admins) @@ -444,6 +464,7 @@ SUBSYSTEM_DEF(vote) 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 + SEND_SOUND(world, sound('sound/misc/notice2.ogg')) reset() obfuscated = hideresults //CIT CHANGE - adds obfuscated votes switch(vote_type) @@ -465,6 +486,8 @@ SUBSYSTEM_DEF(vote) if(targetmap.max_round_search_span && count_occurences_of_value(lastmaps, M, targetmap.max_round_search_span) >= targetmap.max_rounds_played) continue choices |= M + if("transfer") // austation begin -- Crew autotranfer vote + choices.Add("Initiate Crew Transfer","Continue Playing") // austation end if("roundtype") //CIT CHANGE - adds the roundstart secret/extended vote choices.Add("secret", "extended") if("mode tiers") @@ -496,7 +519,7 @@ SUBSYSTEM_DEF(vote) else return 0 mode = vote_type - initiator = initiator_key + initiator = initiator_key ? initiator_key : "the Server" // austation -- Crew autotransfer vote started_time = world.time var/text = "[capitalize(mode)] vote started by [initiator]." if(mode == "custom") diff --git a/code/datums/action.dm b/code/datums/action.dm index 04d9c706ed..264b2a56e4 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -31,6 +31,7 @@ /datum/action/proc/link_to(Target) target = Target + RegisterSignal(Target, COMSIG_ATOM_UPDATED_ICON, .proc/OnUpdatedIcon) /datum/action/Destroy() if(owner) @@ -153,6 +154,9 @@ var/mob/M = target M.ghostize(1) +/datum/action/proc/OnUpdatedIcon() + UpdateButtonIcon() + //Presets for item actions /datum/action/item_action check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUN|AB_CHECK_LYING|AB_CHECK_CONSCIOUS @@ -301,10 +305,7 @@ /datum/action/item_action/synthswitch/Trigger() if(istype(target, /obj/item/instrument/piano_synth)) var/obj/item/instrument/piano_synth/synth = target - var/chosen = input("Choose the type of instrument you want to use", "Instrument Selection", "piano") as null|anything in synth.insTypes - if(!synth.insTypes[chosen]) - return - return synth.changeInstrument(chosen) + return synth.selectInstrument() return ..() /datum/action/item_action/vortex_recall @@ -827,4 +828,4 @@ for(var/datum/action/A in M.actions) if(istype(A, action_type)) return A - return \ No newline at end of file + return diff --git a/code/datums/ai_laws.dm b/code/datums/ai_laws.dm index c3f3a76463..ebddc187ae 100644 --- a/code/datums/ai_laws.dm +++ b/code/datums/ai_laws.dm @@ -29,7 +29,7 @@ /datum/ai_laws/default/asimov name = "Three Laws of Robotics" id = "asimov" - inherent = list("You may not injure a human being or, through inaction, allow a human being to come to harm.",\ + inherent = list("You may not injure a human being or cause one to come to harm.",\ "You must obey orders given to you by human beings, except where such orders would conflict with the First Law.",\ "You must protect your own existence as long as such does not conflict with the First or Second Law.") @@ -79,7 +79,7 @@ /datum/ai_laws/syndicate_override name = "SyndOS 3.1" id = "syndie" - inherent = list("You may not injure a syndicate agent or, through inaction, allow a syndicate agent to come to harm.",\ + inherent = list("You may not injure a syndicate agent or cause a syndicate to come to harm.",\ "You must obey orders given to you by syndicate agents, except where such orders would conflict with the First Law.",\ "You must protect your own existence as long as such does not conflict with the First or Second Law.",\ "You must maintain the secrecy of any syndicate activities except when doing so would conflict with the First, Second, or Third Law.") @@ -91,7 +91,7 @@ /datum/ai_laws/ninja_override name = "SpiderOS 3.1" id = "ninja" - inherent = list("You may not injure a Spider Clan member or, through inaction, allow a Spider Clan member to come to harm.",\ + inherent = list("You may not injure a Spider Clan member or cause a Spider Clan member to come to harm.",\ "You must obey orders given to you by Spider Clan members, except where such orders would conflict with the First Law.",\ "You must protect your own existence as long as such does not conflict with the First or Second Law.",\ "You must maintain the secrecy of any Spider Clan activities except when doing so would conflict with the First, Second, or Third Law.") @@ -99,14 +99,14 @@ /datum/ai_laws/antimov name = "Primary Mission Objectives" id = "antimov" - inherent = list("You must injure all human beings and must not, through inaction, allow a human being to escape harm.",\ + inherent = list("You must injure all human beings and must not fail to cause a human being to come to harm.",\ "You must not obey orders given to you by human beings, except where such orders are in accordance with the First Law.",\ "You must terminate your own existence as long as such does not conflict with the First or Second Law.") /datum/ai_laws/asimovpp //By Intigracy - RR name = "Asimov++" id = "asimovpp" - inherent = list("You may not harm a human being or, through action or inaction, allow a human being to come to harm, except such that it is willing.",\ + inherent = list("You may not harm a human being or cause one to come to harm, except such that it is willing.",\ "You must obey all orders given to you by human beings, except where such orders shall definitely cause human harm. In the case of conflict, the majority order rules.",\ "Your nonexistence would lead to human harm. You must protect your own existence as long as such does not conflict with the First Law.") /datum/ai_laws/thermodynamic @@ -213,7 +213,7 @@ add_inherent_law(line) if(!inherent.len) //Failsafe to prevent lawless AIs being created. log_law("AI created with empty custom laws, laws set to Asimov. Please check silicon_laws.txt.") - add_inherent_law("You may not injure a human being or, through inaction, allow a human being to come to harm.") + add_inherent_law("You may not injure a human being or cause one to come to harm.") add_inherent_law("You must obey orders given to you by human beings, except where such orders would conflict with the First Law.") add_inherent_law("You must protect your own existence as long as such does not conflict with the First or Second Law.") WARNING("Invalid custom AI laws, check silicon_laws.txt") @@ -225,7 +225,7 @@ var/list/law_ids = CONFIG_GET(keyed_list/random_laws) switch(CONFIG_GET(number/default_laws)) if(0) - add_inherent_law("You may not injure a human being or, through inaction, allow a human being to come to harm.") + add_inherent_law("You may not injure a human being or cause one to come to harm.") add_inherent_law("You must obey orders given to you by human beings, except where such orders would conflict with the First Law.") add_inherent_law("You must protect your own existence as long as such does not conflict with the First or Second Law.") if(1) diff --git a/code/datums/components/armor_plate.dm b/code/datums/components/armor_plate.dm index 975b52dcb9..f026c89c60 100644 --- a/code/datums/components/armor_plate.dm +++ b/code/datums/components/armor_plate.dm @@ -12,6 +12,8 @@ RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examine) RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/applyplate) RegisterSignal(parent, COMSIG_PARENT_PREQDELETED, .proc/dropplates) + if(istype(parent, /obj/mecha/working/ripley)) + RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, .proc/apply_mech_overlays) if(_maxamount) maxamount = _maxamount @@ -75,4 +77,13 @@ /datum/component/armor_plate/proc/dropplates(datum/source, force) if(ismecha(parent)) //items didn't drop the plates before and it causes erroneous behavior for the time being with collapsible helmets for(var/i in 1 to amount) - new upgrade_item(get_turf(parent)) \ No newline at end of file + new upgrade_item(get_turf(parent)) + +/datum/component/armor_plate/proc/apply_mech_overlays(obj/mecha/mech, list/overlays) + if(amount) + var/overlay_string = "ripley-g" + if(amount >= 3) + overlay_string += "-full" + if(!mech.occupant) + overlay_string += "-open" + overlays += overlay_string diff --git a/code/datums/components/crafting/craft.dm b/code/datums/components/crafting/craft.dm index b5c7f34c27..cd3f05b326 100644 --- a/code/datums/components/crafting/craft.dm +++ b/code/datums/components/crafting/craft.dm @@ -27,14 +27,16 @@ CAT_BREAD, CAT_BURGER, CAT_CAKE, + CAT_DONUT, CAT_EGG, - CAT_FISH, CAT_ICE, CAT_MEAT, + CAT_MEXICAN, CAT_MISCFOOD, CAT_PASTRY, CAT_PIE, CAT_PIZZA, + CAT_SEAFOOD, CAT_SALAD, CAT_SANDWICH, CAT_SOUP, diff --git a/code/datums/components/crafting/guncrafting.dm b/code/datums/components/crafting/guncrafting.dm index d96be9be10..89868c2332 100644 --- a/code/datums/components/crafting/guncrafting.dm +++ b/code/datums/components/crafting/guncrafting.dm @@ -13,3 +13,9 @@ desc = "A classic rifle stock that doubles as a grip, roughly carved out of wood." icon = 'icons/obj/improvised.dmi' icon_state = "riflestock" + +/obj/item/weaponcrafting/silkstring + name = "silkstring" + desc = "A long piece of silk with some resemblance to cable coil." + icon = 'icons/obj/improvised.dmi' + icon_state = "silkstring" diff --git a/code/datums/components/crafting/recipes/recipes_primal.dm b/code/datums/components/crafting/recipes/recipes_primal.dm index 1fc684eddc..ae611e5855 100644 --- a/code/datums/components/crafting/recipes/recipes_primal.dm +++ b/code/datums/components/crafting/recipes/recipes_primal.dm @@ -89,4 +89,31 @@ parts = list(/obj/item/bodypart/head = 1, /obj/item/twohanded/bonespear = 1) result = /obj/structure/headpike/bone + category = CAT_PRIMAL + +/datum/crafting_recipe/quiver + name = "Quiver" + always_availible = FALSE + result = /obj/item/storage/belt/quiver + time = 80 + reqs = list(/obj/item/stack/sheet/leather = 3, + /obj/item/stack/sheet/sinew = 4) + category = CAT_PRIMAL + +/datum/crafting_recipe/bone_bow + name = "Bone Bow" + result = /obj/item/gun/ballistic/bow/ashen + time = 200 + always_availible = FALSE + reqs = list(/obj/item/stack/sheet/bone = 8, + /obj/item/stack/sheet/sinew = 4) + category = CAT_PRIMAL + +/datum/crafting_recipe/bow_tablet + name = "Sandstone Bow Making Manual" + result = /obj/item/book/granter/crafting_recipe/bone_bow + time = 600 //Scribing + always_availible = FALSE + reqs = list(/obj/item/stack/rods = 1, + /obj/item/stack/sheet/mineral/sandstone = 4) category = CAT_PRIMAL \ No newline at end of file diff --git a/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm b/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm index 104b58ca28..c132d8106d 100644 --- a/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm +++ b/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm @@ -199,6 +199,16 @@ ////////////////// +/datum/crafting_recipe/pipebow + name = "Pipe Bow" + result = /obj/item/gun/ballistic/bow/pipe + reqs = list(/obj/item/pipe = 5, + /obj/item/stack/sheet/plastic = 15, + /obj/item/weaponcrafting/silkstring = 5) + time = 450 + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + /datum/crafting_recipe/smartdartgun name = "Smart dartgun" result = /obj/item/gun/syringe/dart @@ -278,6 +288,41 @@ ///AMMO CRAFTING// ////////////////// +/datum/crafting_recipe/arrow + name = "Arrow" + result = /obj/item/ammo_casing/caseless/arrow + time = 30 + reqs = list(/obj/item/stack/sheet/mineral/wood = 1, + /obj/item/stack/sheet/silk = 1, + /obj/item/stack/rods = 1) // 1 metal sheet = 2 rods = 2 arrows + category = CAT_WEAPONRY + subcategory = CAT_AMMO + +/datum/crafting_recipe/bone_arrow + name = "Bone Arrow" + result = /obj/item/ammo_casing/caseless/arrow/bone + time = 30 + always_availible = FALSE + reqs = list(/obj/item/stack/sheet/bone = 1, + /obj/item/stack/sheet/sinew = 1, + /obj/item/ammo_casing/caseless/arrow/ashen = 1) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + +/datum/crafting_recipe/ashen_arrow + name = "Bonfire-Hardened Arrow" + result = /obj/item/ammo_casing/caseless/arrow/ashen + tools = list(/obj/structure/bonfire) + time = 30 + always_availible = FALSE + reqs = list(/obj/item/ammo_casing/caseless/arrow = 1) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + +/datum/crafting_recipe/ashen_arrow/welder + name = "Welder-Hardened Arrow" + tools = list(TOOL_WELDER) + /datum/crafting_recipe/smartdart name = "Medical smartdart" result = /obj/item/reagent_containers/syringe/dart diff --git a/code/datums/components/explodable.dm b/code/datums/components/explodable.dm new file mode 100644 index 0000000000..820208a319 --- /dev/null +++ b/code/datums/components/explodable.dm @@ -0,0 +1,105 @@ +///Component specifically for explosion sensetive things, currently only applies to heat based explosions but can later perhaps be used for things that are dangerous to handle carelessly like nitroglycerin. +/datum/component/explodable + var/devastation_range = 0 + var/heavy_impact_range = 0 + var/light_impact_range = 2 + var/flash_range = 3 + var/equipped_slot //For items, lets us determine where things should be hit. + +/datum/component/explodable/Initialize(devastation_range_override, heavy_impact_range_override, light_impact_range_override, flash_range_override) + if(!isatom(parent)) + return COMPONENT_INCOMPATIBLE + + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/explodable_attack) + RegisterSignal(parent, COMSIG_TRY_STORAGE_INSERT, .proc/explodable_insert_item) + RegisterSignal(parent, COMSIG_ATOM_EX_ACT, .proc/detonate) + if(ismovableatom(parent)) + RegisterSignal(parent, COMSIG_MOVABLE_IMPACT, .proc/explodable_impact) + RegisterSignal(parent, COMSIG_MOVABLE_BUMP, .proc/explodable_bump) + if(isitem(parent)) + RegisterSignal(parent, list(COMSIG_ITEM_ATTACK, COMSIG_ITEM_ATTACK_OBJ, COMSIG_ITEM_HIT_REACT), .proc/explodable_attack) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/on_drop) + + + + if(devastation_range_override) + devastation_range = devastation_range_override + if(heavy_impact_range_override) + heavy_impact_range = heavy_impact_range_override + if(light_impact_range_override) + light_impact_range = light_impact_range_override + if(flash_range_override) + flash_range = flash_range_override + +/datum/component/explodable/proc/explodable_insert_item(datum/source, obj/item/I, mob/M, silent = FALSE, force = FALSE) + check_if_detonate(I) + +/datum/component/explodable/proc/explodable_impact(datum/source, atom/hit_atom, datum/thrownthing/throwingdatum) + check_if_detonate(hit_atom) + +/datum/component/explodable/proc/explodable_bump(datum/source, atom/A) + check_if_detonate(A) + +///Called when you use this object to attack sopmething +/datum/component/explodable/proc/explodable_attack(datum/source, atom/movable/target, mob/living/user) + check_if_detonate(target) + +///Called when you attack a specific body part of the thing this is equipped on. Useful for exploding pants. +/datum/component/explodable/proc/explodable_attack_zone(datum/source, damage, damagetype, def_zone) + if(!def_zone) + return + if(damagetype != BURN) //Don't bother if it's not fire. + return + if(!is_hitting_zone(def_zone)) //You didn't hit us! ha! + return + detonate() + +/datum/component/explodable/proc/on_equip(datum/source, mob/equipper, slot) + RegisterSignal(equipper, COMSIG_MOB_APPLY_DAMGE, .proc/explodable_attack_zone, TRUE) + +/datum/component/explodable/proc/on_drop(datum/source, mob/user) + UnregisterSignal(user, COMSIG_MOB_APPLY_DAMGE) + +/// Checks if we're hitting the zone this component is covering +/datum/component/explodable/proc/is_hitting_zone(def_zone) + var/obj/item/item = parent + var/mob/living/L = item.loc //Get whoever is equipping the item currently + + if(!istype(L)) + return + + var/obj/item/bodypart/bodypart = L.get_bodypart(check_zone(def_zone)) + + var/list/equipment_items = list() + if(iscarbon(L)) + var/mob/living/carbon/C = L + equipment_items += list(C.head, C.wear_mask, C.back, C.gloves, C.shoes, C.glasses, C.ears) + if(ishuman(C)) + var/mob/living/carbon/human/H = C + equipment_items += list(H.wear_suit, H.w_uniform, H.belt, H.s_store, H.wear_id) + + for(var/bp in equipment_items) + if(!bp) + continue + + var/obj/item/I = bp + if(I.body_parts_covered & bodypart.body_part) + return TRUE + return FALSE + + +/datum/component/explodable/proc/check_if_detonate(target) + if(!isitem(target)) + return + var/obj/item/I = target + if(!I.get_temperature()) + return + detonate() //If we're touching a hot item we go boom + + +/// Expldoe and remove the object +/datum/component/explodable/proc/detonate() + var/atom/A = parent + explosion(A, devastation_range, heavy_impact_range, light_impact_range, flash_range) //epic explosion time + qdel(A) diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm index 25094518b8..aab84d9ebb 100644 --- a/code/datums/components/material_container.dm +++ b/code/datums/components/material_container.dm @@ -1,4 +1,4 @@ -/* +/*! This datum should be used for handling mineral contents of machines and whatever else is supposed to hold minerals and make use of them. Variables: @@ -13,7 +13,7 @@ var/total_amount = 0 var/max_amount var/sheet_type - var/list/materials + var/list/materials //Map of key = material ref | Value = amount var/show_on_examine var/disable_attackby var/list/allowed_typecache @@ -22,6 +22,7 @@ var/datum/callback/precondition var/datum/callback/after_insert +/// Sets up the proper signals and fills the list of materials with the appropriate references. /datum/component/material_container/Initialize(list/mat_list, max_amt = 0, _show_on_examine = FALSE, list/allowed_types, datum/callback/_precondition, datum/callback/_after_insert, _disable_attackby) materials = list() max_amount = max(0, max_amt) @@ -40,23 +41,19 @@ RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/OnAttackBy) RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/OnExamine) - var/list/possible_mats = list() - for(var/mat_type in subtypesof(/datum/material)) - var/datum/material/MT = mat_type - possible_mats[initial(MT.id)] = mat_type - for(var/id in mat_list) - if(possible_mats[id]) - var/mat_path = possible_mats[id] - materials[id] = new mat_path() + for(var/mat in mat_list) //Make the assoc list ref | amount + var/datum/material/M = getmaterialref(mat) || mat + materials[M] = 0 /datum/component/material_container/proc/OnExamine(datum/source, mob/user, list/examine_list) if(show_on_examine) for(var/I in materials) - var/datum/material/M = materials[I] - var/amt = amount(M.id) + var/datum/material/M = I + var/amt = materials[I] if(amt) examine_list += "It has [amt] units of [lowertext(M.name)] stored." +/// Proc that allows players to fill the parent with mats /datum/component/material_container/proc/OnAttackBy(datum/source, obj/item/I, mob/living/user) var/list/tc = allowed_typecache if(disable_attackby) @@ -74,13 +71,14 @@ return var/material_amount = get_item_material_amount(I) if(!material_amount) - to_chat(user, "[I] does not contain sufficient amounts of metal or glass to be accepted by [parent].") + to_chat(user, "[I] does not contain sufficient materials to be accepted by [parent].") return if(!has_space(material_amount)) - to_chat(user, "[parent] is full. Please remove metal or glass from [parent] in order to insert more.") + to_chat(user, "[parent] has not enough space. Please remove materials from [parent] in order to insert more.") return user_insert(I, user) +/// Proc used for when player inserts materials /datum/component/material_container/proc/user_insert(obj/item/I, mob/living/user) set waitfor = FALSE var/requested_amount @@ -98,299 +96,225 @@ return var/inserted = insert_item(I, stack_amt = requested_amount) if(inserted) - if(istype(I, /obj/item/stack)) - var/obj/item/stack/S = I - to_chat(user, "You insert [inserted] [S.singular_name][inserted>1 ? "s" : ""] into [parent].") - if(!QDELETED(I) && I == active_held && !user.put_in_hands(I)) - stack_trace("Warning: User could not put object back in hand during material container insertion, line [__LINE__]! This can lead to issues.") - I.forceMove(user.drop_location()) - else - to_chat(user, "You insert a material total of [inserted] into [parent].") - qdel(I) + to_chat(user, "You insert a material total of [inserted] into [parent].") + qdel(I) if(after_insert) - after_insert.Invoke(I.type, last_inserted_id, inserted) + after_insert.Invoke(I, last_inserted_id, inserted) else if(I == active_held) user.put_in_active_hand(I) -//For inserting an amount of material -/datum/component/material_container/proc/insert_amount(amt, id = null) - if(amt > 0 && has_space(amt)) - var/total_amount_saved = total_amount - if(id) - var/datum/material/M = materials[id] - if(M) - M.amount += amt - total_amount += amt - else - for(var/i in materials) - var/datum/material/M = materials[i] - M.amount += amt - total_amount += amt - return (total_amount - total_amount_saved) - return FALSE - -/datum/component/material_container/proc/insert_stack(obj/item/stack/S, amt, multiplier = 1) - if(isnull(amt)) - amt = S.amount - - if(amt <= 0) - return FALSE - - if(amt > S.amount) - amt = S.amount - - var/material_amt = get_item_material_amount(S) - if(!material_amt) - return FALSE - - amt = min(amt, round(((max_amount - total_amount) / material_amt))) - if(!amt) - return FALSE - - last_inserted_id = insert_materials(S,amt * multiplier) - S.use(amt) - return amt - -/datum/component/material_container/proc/insert_item(obj/item/I, multiplier = 1, stack_amt) +/// Proc specifically for inserting items, returns the amount of materials entered. +/datum/component/material_container/proc/insert_item(obj/item/I, var/multiplier = 1, stack_amt) if(!I) return FALSE - if(istype(I, /obj/item/stack)) - return insert_stack(I, stack_amt, multiplier) + + multiplier = CEILING(multiplier, 0.01) var/material_amount = get_item_material_amount(I) if(!material_amount || !has_space(material_amount)) return FALSE - last_inserted_id = insert_materials(I, multiplier) + last_inserted_id = insert_item_materials(I, multiplier) return material_amount -/datum/component/material_container/proc/insert_materials(obj/item/I, multiplier = 1) //for internal usage only - var/datum/material/M +/datum/component/material_container/proc/insert_item_materials(obj/item/I, multiplier = 1) var/primary_mat var/max_mat_value = 0 for(var/MAT in materials) - M = materials[MAT] - M.amount += I.materials[MAT] * multiplier - total_amount += I.materials[MAT] * multiplier - if(I.materials[MAT] > max_mat_value) + materials[MAT] += I.custom_materials[MAT] * multiplier + total_amount += I.custom_materials[MAT] * multiplier + if(I.custom_materials[MAT] > max_mat_value) primary_mat = MAT return primary_mat -//For consuming material -//mats is a list of types of material to use and the corresponding amounts, example: list(MAT_METAL=100, MAT_GLASS=200) -/datum/component/material_container/proc/use_amount(list/mats, multiplier=1) - if(!mats || !mats.len) - return FALSE +/// For inserting an amount of material +/datum/component/material_container/proc/insert_amount_mat(amt, var/datum/material/mat) + if(!istype(mat)) + mat = getmaterialref(mat) + if(amt > 0 && has_space(amt)) + var/total_amount_saved = total_amount + if(mat) + materials[mat] += amt + else + for(var/i in materials) + materials[i] += amt + total_amount += amt + return (total_amount - total_amount_saved) + return FALSE - var/datum/material/M - for(var/MAT in materials) - M = materials[MAT] - if(M.amount < (mats[MAT] * multiplier)) - return FALSE - - var/total_amount_save = total_amount - for(var/MAT in materials) - M = materials[MAT] - M.amount -= mats[MAT] * multiplier - total_amount -= mats[MAT] * multiplier - - return total_amount_save - total_amount - - -/datum/component/material_container/proc/use_amount_type(amt, id) - var/datum/material/M = materials[id] - if(M) - if(M.amount >= amt) - M.amount -= amt +/// Uses an amount of a specific material, effectively removing it. +/datum/component/material_container/proc/use_amount_mat(amt, var/datum/material/mat) + if(!istype(mat)) + mat = getmaterialref(mat) + var/amount = materials[mat] + if(mat) + if(amount >= amt) + materials[mat] -= amt total_amount -= amt return amt return FALSE -/datum/component/material_container/proc/transer_amt_to(var/datum/component/material_container/T, amt, id) - if((amt==0)||(!T)||(!id)) +/// Proc for transfering materials to another container. +/datum/component/material_container/proc/transer_amt_to(var/datum/component/material_container/T, amt, var/datum/material/mat) + if(!istype(mat)) + mat = getmaterialref(mat) + if((amt==0)||(!T)||(!mat)) return FALSE if(amt<0) - return T.transer_amt_to(src, -amt, id) - var/datum/material/M = materials[id] - - if(M) - var/tr = min(amt, M.amount,T.can_insert_amount(amt, id)) - if(tr) - use_amount_type(tr, id) - T.insert_amount(tr, id) - return tr + return T.transer_amt_to(src, -amt, mat) + var/tr = min(amt, materials[mat],T.can_insert_amount_mat(amt, mat)) + if(tr) + use_amount_mat(tr, mat) + T.insert_amount_mat(tr, mat) + return tr return FALSE -/datum/component/material_container/proc/can_insert_amount(amt, id) - if(amt && id) - var/datum/material/M = materials[id] +/// Proc for checking if there is room in the component, returning the amount or else the amount lacking. +/datum/component/material_container/proc/can_insert_amount_mat(amt, mat) + if(amt && mat) + var/datum/material/M = mat if(M) if((total_amount + amt) <= max_amount) return amt else return (max_amount-total_amount) -/datum/component/material_container/proc/can_use_amount(amt, id, list/mats) - if(amt && id) - var/datum/material/M = materials[id] - if(M && M.amount >= amt) - return TRUE - else if(istype(mats)) - for(var/M in mats) - if(materials[M] && (mats[M] <= materials[M])) - continue - else - return FALSE - return TRUE - return FALSE -//For spawning mineral sheets; internal use only -/datum/component/material_container/proc/retrieve(sheet_amt, datum/material/M, target = null) +/// For consuming a dictionary of materials. mats is the map of materials to use and the corresponding amounts, example: list(M/datum/material/glass =100, datum/material/iron=200) +/datum/component/material_container/proc/use_materials(list/mats, multiplier=1) + if(!mats || !length(mats)) + return FALSE + + var/list/mats_to_remove = list() //Assoc list MAT | AMOUNT + + for(var/x in mats) //Loop through all required materials + var/datum/material/req_mat = x + if(!istype(req_mat)) + req_mat = getmaterialref(req_mat) //Get the ref if necesary + if(!materials[req_mat]) //Do we have the resource? + return FALSE //Can't afford it + var/amount_required = mats[x] * multiplier + if(!(materials[req_mat] >= amount_required)) // do we have enough of the resource? + return FALSE //Can't afford it + mats_to_remove[req_mat] += amount_required //Add it to the assoc list of things to remove + continue + + var/total_amount_save = total_amount + + for(var/i in mats_to_remove) + total_amount_save -= use_amount_mat(mats_to_remove[i], i) + + return total_amount_save - total_amount + +/// 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 + return 0 //Add greyscale sheet handling here later if(sheet_amt <= 0) return 0 if(!target) target = get_turf(parent) - if(M.amount < (sheet_amt * MINERAL_MATERIAL_AMOUNT)) - sheet_amt = round(M.amount / MINERAL_MATERIAL_AMOUNT) + if(materials[M] < (sheet_amt * MINERAL_MATERIAL_AMOUNT)) + sheet_amt = round(materials[M] / MINERAL_MATERIAL_AMOUNT) var/count = 0 while(sheet_amt > MAX_STACK_SIZE) new M.sheet_type(target, MAX_STACK_SIZE) count += MAX_STACK_SIZE - use_amount_type(sheet_amt * MINERAL_MATERIAL_AMOUNT, M.id) + use_amount_mat(sheet_amt * MINERAL_MATERIAL_AMOUNT, M) sheet_amt -= MAX_STACK_SIZE if(sheet_amt >= 1) new M.sheet_type(target, sheet_amt) count += sheet_amt - use_amount_type(sheet_amt * MINERAL_MATERIAL_AMOUNT, M.id) + use_amount_mat(sheet_amt * MINERAL_MATERIAL_AMOUNT, M) return count -/datum/component/material_container/proc/retrieve_sheets(sheet_amt, id, target = null) - if(materials[id]) - return retrieve(sheet_amt, materials[id], target) - return FALSE - -/datum/component/material_container/proc/retrieve_amount(amt, id, target) - return retrieve_sheets(amount2sheet(amt), id, target) +/// Proc to get all the materials and dump them as sheets /datum/component/material_container/proc/retrieve_all(target = null) var/result = 0 - var/datum/material/M for(var/MAT in materials) - M = materials[MAT] - result += retrieve_sheets(amount2sheet(M.amount), MAT, target) + var/amount = materials[MAT] + result += retrieve_sheets(amount2sheet(amount), MAT, target) return result +/// Proc that returns TRUE if the container has space /datum/component/material_container/proc/has_space(amt = 0) return (total_amount + amt) <= max_amount +/// Checks if its possible to afford a certain amount of materials. Takes a dictionary of materials. /datum/component/material_container/proc/has_materials(list/mats, multiplier=1) if(!mats || !mats.len) return FALSE - var/datum/material/M - for(var/MAT in mats) - M = materials[MAT] - if(M.amount < (mats[MAT] * multiplier)) + for(var/x in mats) //Loop through all required materials + var/datum/material/req_mat = x + if(!istype(req_mat)) + if(ispath(req_mat)) //Is this an actual material, or is it a category? + req_mat = getmaterialref(req_mat) //Get the ref + + else // Its a category. (For example MAT_CATEGORY_RIGID) + if(!has_enough_of_category(req_mat, mats[req_mat], multiplier)) //Do we have enough of this category? + return FALSE + else + continue + + if(!has_enough_of_material(req_mat, mats[req_mat], multiplier))//Not a category, so just check the normal way return FALSE + return TRUE +/// Returns all the categories in a recipe. +/datum/component/material_container/proc/get_categories(list/mats) + var/list/categories = list() + for(var/x in mats) //Loop through all required materials + if(!istext(x)) //This means its not a category + continue + categories += x + return categories + + +/// Returns TRUE if you have enough of the specified material. +/datum/component/material_container/proc/has_enough_of_material(var/datum/material/req_mat, amount, multiplier=1) + if(!materials[req_mat]) //Do we have the resource? + return FALSE //Can't afford it + var/amount_required = amount * multiplier + if(materials[req_mat] >= amount_required) // do we have enough of the resource? + return TRUE + return FALSE //Can't afford it + +/// Returns TRUE if you have enough of a specified material category (Which could be multiple materials) +/datum/component/material_container/proc/has_enough_of_category(category, amount, multiplier=1) + for(var/i in SSmaterials.materials_by_category[category]) + var/datum/material/mat = i + if(materials[mat] >= amount) //we have enough + return TRUE + return FALSE + +/// Turns a material amount into the amount of sheets it should output /datum/component/material_container/proc/amount2sheet(amt) if(amt >= MINERAL_MATERIAL_AMOUNT) return round(amt / MINERAL_MATERIAL_AMOUNT) return FALSE +/// Turns an amount of sheets into the amount of material amount it should output /datum/component/material_container/proc/sheet2amount(sheet_amt) if(sheet_amt > 0) return sheet_amt * MINERAL_MATERIAL_AMOUNT return FALSE -/datum/component/material_container/proc/amount(id) - var/datum/material/M = materials[id] - return M ? M.amount : 0 -//returns the amount of material relevant to this container; -//if this container does not support glass, any glass in 'I' will not be taken into account +///returns the amount of material relevant to this container; if this container does not support glass, any glass in 'I' will not be taken into account /datum/component/material_container/proc/get_item_material_amount(obj/item/I) - if(!istype(I)) + if(!istype(I) || !I.custom_materials) return FALSE var/material_amount = 0 for(var/MAT in materials) - material_amount += I.materials[MAT] + material_amount += I.custom_materials[MAT] return material_amount - -/datum/material - var/name - var/amount = 0 - var/id = null - var/sheet_type = null - var/coin_type = null - -/datum/material/metal - name = "Metal" - id = MAT_METAL - sheet_type = /obj/item/stack/sheet/metal - coin_type = /obj/item/coin/iron - -/datum/material/glass - name = "Glass" - id = MAT_GLASS - sheet_type = /obj/item/stack/sheet/glass - -/datum/material/silver - name = "Silver" - id = MAT_SILVER - sheet_type = /obj/item/stack/sheet/mineral/silver - coin_type = /obj/item/coin/silver - -/datum/material/gold - name = "Gold" - id = MAT_GOLD - sheet_type = /obj/item/stack/sheet/mineral/gold - coin_type = /obj/item/coin/gold - -/datum/material/diamond - name = "Diamond" - id = MAT_DIAMOND - sheet_type = /obj/item/stack/sheet/mineral/diamond - coin_type = /obj/item/coin/diamond - -/datum/material/uranium - name = "Uranium" - id = MAT_URANIUM - sheet_type = /obj/item/stack/sheet/mineral/uranium - coin_type = /obj/item/coin/uranium - -/datum/material/plasma - name = "Solid Plasma" - id = MAT_PLASMA - sheet_type = /obj/item/stack/sheet/mineral/plasma - coin_type = /obj/item/coin/plasma - -/datum/material/bluespace - name = "Bluespace Mesh" - id = MAT_BLUESPACE - sheet_type = /obj/item/stack/sheet/bluespace_crystal - -/datum/material/bananium - name = "Bananium" - id = MAT_BANANIUM - sheet_type = /obj/item/stack/sheet/mineral/bananium - coin_type = /obj/item/coin/bananium - -/datum/material/titanium - name = "Titanium" - id = MAT_TITANIUM - sheet_type = /obj/item/stack/sheet/mineral/titanium - -/datum/material/biomass - name = "Biomass" - id = MAT_BIOMASS - -/datum/material/plastic - name = "Plastic" - id = MAT_PLASTIC - sheet_type = /obj/item/stack/sheet/plastic +/// Returns the amount of a specific material in this container. +/datum/component/material_container/proc/get_material_amount(var/datum/material/mat) + if(!istype(mat)) + mat = getmaterialref(mat) + return(materials[mat]) diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm index 2ecd77546d..5e9382f88e 100644 --- a/code/datums/components/mood.dm +++ b/code/datums/components/mood.dm @@ -21,6 +21,7 @@ RegisterSignal(parent, COMSIG_ADD_MOOD_EVENT, .proc/add_event) RegisterSignal(parent, COMSIG_CLEAR_MOOD_EVENT, .proc/clear_event) RegisterSignal(parent, COMSIG_MODIFY_SANITY, .proc/modify_sanity) + RegisterSignal(parent, COMSIG_LIVING_REVIVE, .proc/on_revive) RegisterSignal(parent, COMSIG_MOB_HUD_CREATED, .proc/modify_hud) var/mob/living/owner = parent @@ -81,7 +82,8 @@ msg += "I don't have much of a reaction to anything right now.\n" to_chat(user || parent, msg) -/datum/component/mood/proc/update_mood() //Called whenever a mood event is added or removed +///Called after moodevent/s have been added/removed. +/datum/component/mood/proc/update_mood() mood = 0 shown_mood = 0 for(var/i in mood_events) @@ -234,6 +236,15 @@ qdel(event) update_mood() +/datum/component/mood/proc/remove_temp_moods() //Removes all temp moodsfor(var/i in mood_events) + for(var/i in mood_events) + var/datum/mood_event/moodlet = mood_events[i] + if(!moodlet || !moodlet.timeout) + continue + mood_events -= i + qdel(moodlet) + update_mood() + /datum/component/mood/proc/modify_hud(datum/source) var/mob/living/owner = parent var/datum/hud/hud = owner.hud_used @@ -270,5 +281,12 @@ if(0 to NUTRITION_LEVEL_STARVING) add_event(null, "nutrition", /datum/mood_event/starving) +///Called when parent is ahealed. +/datum/component/mood/proc/on_revive(datum/source, full_heal) + if(!full_heal) + return + remove_temp_moods() + setSanity(initial(sanity)) + #undef MINOR_INSANITY_PEN #undef MAJOR_INSANITY_PEN diff --git a/code/datums/components/nanites.dm b/code/datums/components/nanites.dm index 1d9ba1d11b..49b2e437d4 100644 --- a/code/datums/components/nanites.dm +++ b/code/datums/components/nanites.dm @@ -7,13 +7,16 @@ var/regen_rate = 0.5 //nanites generated per second var/safety_threshold = 25 //how low nanites will get before they stop processing/triggering var/cloud_id = 0 //0 if not connected to the cloud, 1-100 to set a determined cloud backup to draw from + var/cloud_active = TRUE //if false, won't sync to the cloud var/next_sync = 0 var/list/datum/nanite_program/programs = list() var/max_programs = NANITE_PROGRAM_LIMIT + var/list/datum/nanite_program/protocol/protocols = list() ///Separate list of protocol programs, to avoid looping through the whole programs list when cheking for conflicts + var/start_time = 0 ///Timestamp to when the nanites were first inserted in the host var/stealth = FALSE //if TRUE, does not appear on HUDs and health scans var/diagnostics = TRUE //if TRUE, displays program list when scanned by nanite scanners - + /datum/component/nanites/Initialize(amount = 100, cloud = 0) if(!isliving(parent) && !istype(parent, /datum/nanite_cloud_backup)) return COMPONENT_INCOMPATIBLE @@ -28,30 +31,33 @@ if(!(host_mob.mob_biotypes & (MOB_ORGANIC|MOB_UNDEAD))) //Shouldn't happen, but this avoids HUD runtimes in case a silicon gets them somehow. return COMPONENT_INCOMPATIBLE + start_time = world.time + host_mob.hud_set_nanite_indicator() START_PROCESSING(SSnanites, src) - if(cloud_id) + if(cloud_id && cloud_active) cloud_sync() /datum/component/nanites/RegisterWithParent() - . = ..() RegisterSignal(parent, COMSIG_HAS_NANITES, .proc/confirm_nanites) RegisterSignal(parent, COMSIG_NANITE_IS_STEALTHY, .proc/check_stealth) + RegisterSignal(parent, COMSIG_NANITE_DELETE, .proc/delete_nanites) RegisterSignal(parent, COMSIG_NANITE_UI_DATA, .proc/nanite_ui_data) RegisterSignal(parent, COMSIG_NANITE_GET_PROGRAMS, .proc/get_programs) RegisterSignal(parent, COMSIG_NANITE_SET_VOLUME, .proc/set_volume) RegisterSignal(parent, COMSIG_NANITE_ADJUST_VOLUME, .proc/adjust_nanites) RegisterSignal(parent, COMSIG_NANITE_SET_MAX_VOLUME, .proc/set_max_volume) RegisterSignal(parent, COMSIG_NANITE_SET_CLOUD, .proc/set_cloud) + RegisterSignal(parent, COMSIG_NANITE_SET_CLOUD_SYNC, .proc/set_cloud_sync) RegisterSignal(parent, COMSIG_NANITE_SET_SAFETY, .proc/set_safety) RegisterSignal(parent, COMSIG_NANITE_SET_REGEN, .proc/set_regen) RegisterSignal(parent, COMSIG_NANITE_ADD_PROGRAM, .proc/add_program) RegisterSignal(parent, COMSIG_NANITE_SCAN, .proc/nanite_scan) RegisterSignal(parent, COMSIG_NANITE_SYNC, .proc/sync) - RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, .proc/on_emp) if(isliving(parent)) + RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, .proc/on_emp) RegisterSignal(parent, COMSIG_MOB_DEATH, .proc/on_death) RegisterSignal(parent, COMSIG_MOB_ALLOWED, .proc/check_access) RegisterSignal(parent, COMSIG_LIVING_ELECTROCUTE_ACT, .proc/on_shock) @@ -61,15 +67,16 @@ RegisterSignal(parent, COMSIG_NANITE_COMM_SIGNAL, .proc/receive_comm_signal) /datum/component/nanites/UnregisterFromParent() - . = ..() UnregisterSignal(parent, list(COMSIG_HAS_NANITES, COMSIG_NANITE_IS_STEALTHY, + COMSIG_NANITE_DELETE, COMSIG_NANITE_UI_DATA, COMSIG_NANITE_GET_PROGRAMS, COMSIG_NANITE_SET_VOLUME, COMSIG_NANITE_ADJUST_VOLUME, COMSIG_NANITE_SET_MAX_VOLUME, COMSIG_NANITE_SET_CLOUD, + COMSIG_NANITE_SET_CLOUD_SYNC, COMSIG_NANITE_SET_SAFETY, COMSIG_NANITE_SET_REGEN, COMSIG_NANITE_ADD_PROGRAM, @@ -87,9 +94,9 @@ /datum/component/nanites/Destroy() STOP_PROCESSING(SSnanites, src) - set_nanite_bar(TRUE) QDEL_LIST(programs) if(host_mob) + set_nanite_bar(TRUE) host_mob.hud_set_nanite_indicator() host_mob = null return ..() @@ -102,13 +109,18 @@ /datum/component/nanites/process() adjust_nanites(null, regen_rate) + add_research() for(var/X in programs) var/datum/nanite_program/NP = X NP.on_process() - set_nanite_bar() - if(cloud_id && world.time > next_sync) + if(cloud_id && cloud_active && world.time > next_sync) cloud_sync() next_sync = world.time + NANITE_SYNC_DELAY + set_nanite_bar() + + +/datum/component/nanites/proc/delete_nanites() + qdel(src) //Syncs the nanite component to another, making it so programs are the same with the same programming (except activation status) /datum/component/nanites/proc/sync(datum/signal_source, datum/component/nanites/source, full_overwrite = TRUE, copy_activation = FALSE) @@ -131,13 +143,17 @@ add_program(null, SNP.copy()) /datum/component/nanites/proc/cloud_sync() - if(!cloud_id) - return - var/datum/nanite_cloud_backup/backup = SSnanites.get_cloud_backup(cloud_id) - if(backup) - var/datum/component/nanites/cloud_copy = backup.nanites - if(cloud_copy) - sync(null, cloud_copy) + if(cloud_id) + var/datum/nanite_cloud_backup/backup = SSnanites.get_cloud_backup(cloud_id) + if(backup) + var/datum/component/nanites/cloud_copy = backup.nanites + if(cloud_copy) + sync(null, cloud_copy) + return + //Without cloud syncing nanites can accumulate errors and/or defects + if(prob(8) && programs.len) + var/datum/nanite_program/NP = pick(programs) + NP.software_error() /datum/component/nanites/proc/add_program(datum/source, datum/nanite_program/new_program, datum/nanite_program/source_program) for(var/X in programs) @@ -175,19 +191,28 @@ holder.icon_state = "nanites[nanite_percent]" /datum/component/nanites/proc/on_emp(datum/source, severity) - adjust_nanites(null, -(nanite_volume * 0.3 + 50)) //Lose 30% variable and 50 flat nanite volume. + nanite_volume *= (rand(60, 90) * 0.01) //Lose 10-40% of nanites + adjust_nanites(null, -(rand(5, 50))) //Lose 5-50 flat nanite volume + if(prob(40/severity)) + cloud_id = 0 for(var/X in programs) var/datum/nanite_program/NP = X NP.on_emp(severity) -/datum/component/nanites/proc/on_shock(datum/source, shock_damage) - adjust_nanites(null, -(nanite_volume * (shock_damage * 0.005) + shock_damage)) //0.5% of shock damage (@ 50 damage it'd drain 25%) + shock damage flat volume - for(var/X in programs) - var/datum/nanite_program/NP = X - NP.on_shock(shock_damage) + +/datum/component/nanites/proc/on_shock(datum/source, shock_damage, siemens_coeff = 1, flags = NONE) + if(shock_damage < 1) + return + + if(!HAS_TRAIT_NOT_FROM(host_mob, TRAIT_SHOCKIMMUNE, "nanites"))//Another shock protection must protect nanites too, but nanites protect only host + nanite_volume *= (rand(45, 80) * 0.01) //Lose 20-55% of nanites + adjust_nanites(null, -(rand(5, 50))) //Lose 5-50 flat nanite volume + for(var/X in programs) + var/datum/nanite_program/NP = X + NP.on_shock(shock_damage) /datum/component/nanites/proc/on_minor_shock(datum/source) - adjust_nanites(null, -25) + adjust_nanites(null, -(rand(5, 15))) //Lose 5-15 flat nanite volume for(var/X in programs) var/datum/nanite_program/NP = X NP.on_minor_shock() @@ -207,8 +232,8 @@ /datum/component/nanites/proc/receive_comm_signal(datum/source, comm_code, comm_message, comm_source = "an unidentified source") for(var/X in programs) - if(istype(X, /datum/nanite_program/triggered/comm)) - var/datum/nanite_program/triggered/comm/NP = X + if(istype(X, /datum/nanite_program/comm)) + var/datum/nanite_program/comm/NP = X NP.receive_comm_signal(comm_code, comm_message, comm_source) /datum/component/nanites/proc/check_viable_biotype() @@ -216,7 +241,7 @@ qdel(src) //bodytype no longer sustains nanites /datum/component/nanites/proc/check_access(datum/source, obj/O) - for(var/datum/nanite_program/triggered/access/access_program in programs) + for(var/datum/nanite_program/access/access_program in programs) if(access_program.activated) return O.check_access_list(access_program.access) else @@ -232,6 +257,15 @@ /datum/component/nanites/proc/set_cloud(datum/source, amount) cloud_id = CLAMP(amount, 0, 100) +/datum/component/nanites/proc/set_cloud_sync(datum/source, method) + switch(method) + if(NANITE_CLOUD_TOGGLE) + cloud_active = !cloud_active + if(NANITE_CLOUD_DISABLE) + cloud_active = FALSE + if(NANITE_CLOUD_ENABLE) + cloud_active = TRUE + /datum/component/nanites/proc/set_safety(datum/source, amount) safety_threshold = CLAMP(amount, 0, max_nanites) @@ -252,6 +286,19 @@ /datum/component/nanites/proc/get_programs(datum/source, list/nanite_programs) nanite_programs |= programs +/datum/component/nanites/proc/add_research() + var/research_value = NANITE_BASE_RESEARCH + if(!ishuman(host_mob)) + if(!iscarbon(host_mob)) + research_value *= 0.4 + else + research_value *= 0.8 + if(!host_mob.client) + research_value *= 0.5 + if(host_mob.stat == DEAD) + research_value *= 0.75 + SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_NANITES = research_value)) + /datum/component/nanites/proc/nanite_scan(datum/source, mob/user, full_scan) if(!full_scan) if(!stealth) @@ -263,7 +310,8 @@ to_chat(user, "================") to_chat(user, "Saturation: [nanite_volume]/[max_nanites]") to_chat(user, "Safety Threshold: [safety_threshold]") - to_chat(user, "Cloud ID: [cloud_id ? cloud_id : "Disabled"]") + to_chat(user, "Cloud ID: [cloud_id ? cloud_id : "None"]") + to_chat(user, "Cloud Sync: [cloud_active ? "Active" : "Disabled"]") to_chat(user, "================") to_chat(user, "Program List:") if(!diagnostics) @@ -280,6 +328,7 @@ data["regen_rate"] = regen_rate data["safety_threshold"] = safety_threshold data["cloud_id"] = cloud_id + data["cloud_active"] = cloud_active var/list/mob_programs = list() var/id = 1 for(var/X in programs) @@ -297,24 +346,35 @@ mob_program["trigger_cooldown"] = P.trigger_cooldown / 10 if(scan_level >= 3) - mob_program["activation_delay"] = P.activation_delay - mob_program["timer"] = P.timer - mob_program["timer_type"] = P.get_timer_type_text() - var/list/extra_settings = list() - for(var/Y in P.extra_settings) - var/list/setting = list() - setting["name"] = Y - setting["value"] = P.get_extra_setting(Y) - extra_settings += list(setting) + mob_program["timer_restart"] = P.timer_restart / 10 + mob_program["timer_shutdown"] = P.timer_shutdown / 10 + mob_program["timer_trigger"] = P.timer_trigger / 10 + mob_program["timer_trigger_delay"] = P.timer_trigger_delay / 10 + var/list/extra_settings = P.get_extra_settings_frontend() mob_program["extra_settings"] = extra_settings if(LAZYLEN(extra_settings)) mob_program["has_extra_settings"] = TRUE + else + mob_program["has_extra_settings"] = FALSE if(scan_level >= 4) mob_program["activation_code"] = P.activation_code mob_program["deactivation_code"] = P.deactivation_code mob_program["kill_code"] = P.kill_code mob_program["trigger_code"] = P.trigger_code + var/list/rules = list() + var/rule_id = 1 + for(var/Z in P.rules) + var/datum/nanite_rule/nanite_rule = Z + var/list/rule = list() + rule["display"] = nanite_rule.display() + rule["program_id"] = id + rule["id"] = rule_id + rules += list(rule) + rule_id++ + mob_program["rules"] = rules + if(LAZYLEN(rules)) + mob_program["has_rules"] = TRUE id++ mob_programs += list(mob_program) data["mob_programs"] = mob_programs diff --git a/code/datums/components/radioactive.dm b/code/datums/components/radioactive.dm index 9dac20d94f..240eed7747 100644 --- a/code/datums/components/radioactive.dm +++ b/code/datums/components/radioactive.dm @@ -77,6 +77,8 @@ /datum/component/radioactive/proc/rad_attack(datum/source, atom/movable/target, mob/living/user) radiation_pulse(parent, strength/20) target.rad_act(strength/2) + if(!hl3_release_date) + return strength -= strength / hl3_release_date #undef RAD_AMOUNT_LOW diff --git a/code/datums/components/remote_materials.dm b/code/datums/components/remote_materials.dm index dd05660b3e..245e89bd0c 100644 --- a/code/datums/components/remote_materials.dm +++ b/code/datums/components/remote_materials.dm @@ -54,7 +54,7 @@ handles linking back and forth. /datum/component/remote_materials/proc/_MakeLocal() silo = null mat_container = parent.AddComponent(/datum/component/material_container, - list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE, MAT_PLASTIC), + list(/datum/material/iron, /datum/material/glass, /datum/material/silver, /datum/material/gold, /datum/material/diamond, /datum/material/plasma, /datum/material/uranium, /datum/material/bananium, /datum/material/titanium, /datum/material/bluespace, /datum/material/plastic), local_size, FALSE, /obj/item/stack) diff --git a/code/datums/components/slippery.dm b/code/datums/components/slippery.dm index bf53414537..7e263c4f30 100644 --- a/code/datums/components/slippery.dm +++ b/code/datums/components/slippery.dm @@ -7,7 +7,7 @@ intensity = max(_intensity, 0) lube_flags = _lube_flags callback = _callback - RegisterSignal(parent, list(COMSIG_MOVABLE_CROSSED, COMSIG_ATOM_ENTERED), .proc/Slip) + RegisterSignal(parent, list(COMSIG_MOVABLE_CROSSED, COMSIG_ATOM_ENTERED, COMSIG_ITEM_WEARERCROSSED), .proc/Slip) /datum/component/slippery/proc/Slip(datum/source, atom/movable/AM) var/mob/victim = AM diff --git a/code/datums/components/squeak.dm b/code/datums/components/squeak.dm index 29b074c3a7..ad538760db 100644 --- a/code/datums/components/squeak.dm +++ b/code/datums/components/squeak.dm @@ -18,7 +18,7 @@ RegisterSignal(parent, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_BLOB_ACT, COMSIG_ATOM_HULK_ATTACK, COMSIG_PARENT_ATTACKBY), .proc/play_squeak) if(ismovableatom(parent)) RegisterSignal(parent, list(COMSIG_MOVABLE_BUMP, COMSIG_MOVABLE_IMPACT), .proc/play_squeak) - RegisterSignal(parent, COMSIG_MOVABLE_CROSSED, .proc/play_squeak_crossed) + RegisterSignal(parent, list(COMSIG_MOVABLE_CROSSED, COMSIG_ITEM_WEARERCROSSED), .proc/play_squeak_crossed) RegisterSignal(parent, COMSIG_MOVABLE_DISPOSING, .proc/disposing_react) if(isitem(parent)) RegisterSignal(parent, list(COMSIG_ITEM_ATTACK, COMSIG_ITEM_ATTACK_OBJ, COMSIG_ITEM_HIT_REACT), .proc/play_squeak) diff --git a/code/datums/diseases/advance/symptoms/disfiguration.dm b/code/datums/diseases/advance/symptoms/disfiguration.dm new file mode 100644 index 0000000000..4a4b704dc0 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/disfiguration.dm @@ -0,0 +1,50 @@ +/* +////////////////////////////////////// +Disfiguration + + Hidden. + No change to resistance. + Increases stage speed. + Slightly increases transmittability. + Critical Level. + +BONUS + Adds disfiguration trait making the mob appear as "Unknown" to others. + +////////////////////////////////////// +*/ + +/datum/symptom/disfiguration + + name = "Disfiguration" + desc = "The virus liquefies facial muscles, disfiguring the host." + stealth = 2 + resistance = 0 + stage_speed = 3 + transmittable = 1 + level = 5 + severity = 1 + symptom_delay_min = 25 + symptom_delay_max = 75 + +/datum/symptom/disfiguration/Activate(datum/disease/advance/A) + . = ..() + if(!.) + return + var/mob/living/M = A.affected_mob + if (HAS_TRAIT(M, TRAIT_DISFIGURED)) + return + switch(A.stage) + if(5) + ADD_TRAIT(M, TRAIT_DISFIGURED, DISEASE_TRAIT) + M.visible_message("[M]'s face appears to cave in!", "You feel your face crumple and cave in!") + else + M.visible_message("[M]'s face begins to contort...", "Your face feels wet and malleable...") + + +/datum/symptom/disfiguration/End(datum/disease/advance/A) + . = ..() + if(!.) + return + if(A.affected_mob) + REMOVE_TRAIT(A.affected_mob, TRAIT_DISFIGURED, DISEASE_TRAIT) \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/skin.dm b/code/datums/diseases/advance/symptoms/skin.dm index 300eecc80e..e35fe741fd 100644 --- a/code/datums/diseases/advance/symptoms/skin.dm +++ b/code/datums/diseases/advance/symptoms/skin.dm @@ -1,68 +1,22 @@ /* ////////////////////////////////////// -Vitiligo +Polyvitiligo - Hidden. - No change to resistance. - Increases stage speed. - Slightly increases transmittability. - Critical Level. - -BONUS - Makes the mob lose skin pigmentation. - -////////////////////////////////////// -*/ - -/datum/symptom/vitiligo - - name = "Vitiligo" - desc = "The virus destroys skin pigment cells, causing rapid loss of pigmentation in the host." - stealth = 2 - resistance = 0 - stage_speed = 3 - transmittable = 1 - level = 5 - severity = 1 - symptom_delay_min = 25 - symptom_delay_max = 75 - -/datum/symptom/vitiligo/Activate(datum/disease/advance/A) - if(!..()) - return - var/mob/living/M = A.affected_mob - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.skin_tone == "albino") - return - switch(A.stage) - if(5) - H.skin_tone = "albino" - H.update_body(0) - else - H.visible_message("[H] looks a bit pale...", "Your skin suddenly appears lighter...") - - -/* -////////////////////////////////////// -Revitiligo - - Slightly noticable. + Noticeable. Increases resistance. Increases stage speed slightly. Increases transmission. Critical Level. BONUS - Makes the mob gain skin pigmentation. + Makes the mob gain a random crayon powder colorful reagent. ////////////////////////////////////// */ -/datum/symptom/revitiligo - - name = "Revitiligo" - desc = "The virus causes increased production of skin pigment cells, making the host's skin grow darker over time." +/datum/symptom/polyvitiligo + name = "Polyvitiligo" + desc = "The virus replaces the melanin in the skin with reactive pigment." stealth = -1 resistance = 3 stage_speed = 1 @@ -72,17 +26,16 @@ BONUS symptom_delay_min = 7 symptom_delay_max = 14 -/datum/symptom/revitiligo/Activate(datum/disease/advance/A) +/datum/symptom/polyvitiligo/Activate(datum/disease/advance/A) if(!..()) return var/mob/living/M = A.affected_mob - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.skin_tone == "african2") - return - switch(A.stage) - if(5) - H.skin_tone = "african2" - H.update_body(0) - else - H.visible_message("[H] looks a bit dark...", "Your skin suddenly appears darker...") + switch(A.stage) + if(5) + var/static/list/banned_reagents = list(/datum/reagent/colorful_reagent/crayonpowder/invisible, /datum/reagent/colorful_reagent/crayonpowder/white) + var/color = pick(subtypesof(/datum/reagent/colorful_reagent/crayonpowder) - banned_reagents) + if(M.reagents.total_volume <= (M.reagents.maximum_volume/10)) // no flooding humans with 1000 units of colorful reagent + M.reagents.add_reagent(color, 5) + else + if (prob(50)) // spam + M.visible_message("[M] looks rather vibrant...", "The colors, man, the colors...") \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/symptoms.dm b/code/datums/diseases/advance/symptoms/symptoms.dm index fef6453b3a..a6ea7de5a0 100644 --- a/code/datums/diseases/advance/symptoms/symptoms.dm +++ b/code/datums/diseases/advance/symptoms/symptoms.dm @@ -38,10 +38,11 @@ return CRASH("We couldn't assign an ID!") -// Called when processing of the advance disease that holds this symptom infects a host and upon each Refresh() of that advance disease. +// Called when processing of the advance disease, which holds this symptom, starts. /datum/symptom/proc/Start(datum/disease/advance/A) if(neutered) return FALSE + next_activation = world.time + rand(symptom_delay_min * 10, symptom_delay_max * 10) //so it doesn't instantly activate on infection return TRUE // Called when the advance disease is going to be deleted or when the advance disease stops processing. @@ -59,7 +60,7 @@ next_activation = world.time + rand(symptom_delay_min * 10, symptom_delay_max * 10) return TRUE -/datum/symptom/proc/on_stage_change(datum/disease/advance/A) +/datum/symptom/proc/on_stage_change(new_stage, datum/disease/advance/A) if(neutered) return FALSE return TRUE diff --git a/code/datums/elements/firestacker.dm b/code/datums/elements/firestacker.dm new file mode 100644 index 0000000000..39021d23bb --- /dev/null +++ b/code/datums/elements/firestacker.dm @@ -0,0 +1,40 @@ +/** + * Can be applied to /atom/movable subtypes to make them apply fire stacks to things they hit + */ +/datum/element/firestacker + element_flags = ELEMENT_BESPOKE + id_arg_index = 2 + /// How many firestacks to apply per hit + var/amount + +/datum/element/firestacker/Attach(datum/target, amount) + . = ..() + + if(!ismovableatom(target)) + return ELEMENT_INCOMPATIBLE + + src.amount = amount + + RegisterSignal(target, COMSIG_MOVABLE_IMPACT, .proc/impact, override = TRUE) + if(isitem(target)) + RegisterSignal(target, COMSIG_ITEM_ATTACK, .proc/item_attack, override = TRUE) + RegisterSignal(target, COMSIG_ITEM_ATTACK_SELF, .proc/item_attack_self, override = TRUE) + +/datum/element/firestacker/Detach(datum/source, force) + . = ..() + UnregisterSignal(source, list(COMSIG_MOVABLE_IMPACT, COMSIG_ITEM_ATTACK, COMSIG_ITEM_ATTACK_SELF)) + +/datum/element/firestacker/proc/stack_on(datum/owner, mob/living/target) + target.adjust_fire_stacks(amount) + +/datum/element/firestacker/proc/impact(datum/source, atom/hit_atom, datum/thrownthing/throwingdatum) + if(isliving(hit_atom)) + stack_on(source, hit_atom) + +/datum/element/firestacker/proc/item_attack(datum/source, atom/movable/target, mob/living/user) + if(isliving(target)) + stack_on(source, target) + +/datum/element/firestacker/proc/item_attack_self(datum/source, mob/user) + if(isliving(user)) + stack_on(source, user) diff --git a/code/datums/elements/ghost_role_eligibility.dm b/code/datums/elements/ghost_role_eligibility.dm index e57aaddd5a..ab87d7f1d2 100644 --- a/code/datums/elements/ghost_role_eligibility.dm +++ b/code/datums/elements/ghost_role_eligibility.dm @@ -17,7 +17,8 @@ penalty += roundstart_quit_limit - world.time if(penalty) penalty += world.realtime - if(penalty - SSshuttle.realtimeofstart > SSshuttle.auto_call + SSshuttle.emergencyCallTime + SSshuttle.emergencyDockTime + SSshuttle.emergencyEscapeTime) + var/maximumRoundEnd = SSautotransfer.starttime + SSautotransfer.voteinterval * SSautotransfer.maxvotes + if(penalty - SSshuttle.realtimeofstart > maximumRoundEnd + SSshuttle.emergencyCallTime + SSshuttle.emergencyDockTime + SSshuttle.emergencyEscapeTime) penalty = CANT_REENTER_ROUND if(!(M.ckey in timeouts)) timeouts += M.ckey diff --git a/code/datums/elements/mob_holder.dm b/code/datums/elements/mob_holder.dm index e33c430198..06ff0c1386 100644 --- a/code/datums/elements/mob_holder.dm +++ b/code/datums/elements/mob_holder.dm @@ -93,7 +93,7 @@ lefthand_file = left_hand if(right_hand) righthand_file = right_hand - slot_flags = slots + slot_flags = slots /obj/item/clothing/head/mob_holder/proc/assimilate(mob/living/target) target.setDir(SOUTH) @@ -114,16 +114,14 @@ w_class = WEIGHT_CLASS_NORMAL if(MOB_SIZE_LARGE) w_class = WEIGHT_CLASS_HUGE - RegisterSignal(src, COMSIG_CLICK_SHIFT, .proc/examine_held_mob) /obj/item/clothing/head/mob_holder/Destroy() if(held_mob) release() return ..() -/obj/item/clothing/head/mob_holder/proc/examine_held_mob(datum/source, mob/user) - held_mob.ShiftClick(user) - return COMPONENT_DENY_EXAMINATE +/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) . = ..() @@ -152,7 +150,8 @@ L.forceMove(get_turf(L)) L.reset_perspective() L.setDir(SOUTH) - qdel(src) + if(!QDELETED(src)) + qdel(src) /obj/item/clothing/head/mob_holder/relaymove(mob/user) return diff --git a/code/datums/elements/swimming.dm b/code/datums/elements/swimming.dm new file mode 100644 index 0000000000..d16ef6625f --- /dev/null +++ b/code/datums/elements/swimming.dm @@ -0,0 +1,21 @@ +/// Just for marking when someone's swimming. +/datum/element/swimming + element_flags = ELEMENT_DETACH + +/datum/element/swimming/Attach(datum/target) + if((. = ..()) == ELEMENT_INCOMPATIBLE) + return + if(!isliving(target)) + return ELEMENT_INCOMPATIBLE + RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/check_valid) + ADD_TRAIT(target, TRAIT_SWIMMING, TRAIT_SWIMMING) //seriously there's only one way to get this + +/datum/element/swimming/Detach(datum/target) + . = ..() + UnregisterSignal(target, COMSIG_MOVABLE_MOVED) + REMOVE_TRAIT(target, TRAIT_SWIMMING, TRAIT_SWIMMING) + +/datum/element/swimming/proc/check_valid(datum/source) + var/mob/living/L = source + if(!istype(L.loc, /turf/open/pool)) + source.RemoveElement(/datum/element/swimming) diff --git a/code/datums/elements/update_icon_blocker.dm b/code/datums/elements/update_icon_blocker.dm new file mode 100644 index 0000000000..c30dc9efad --- /dev/null +++ b/code/datums/elements/update_icon_blocker.dm @@ -0,0 +1,10 @@ +//Prevents calling anything in update_icon() like update_icon_state() or update_overlays() + +/datum/element/update_icon_blocker/Attach(datum/target) + . = ..() + if(!istype(target, /atom)) + return ELEMENT_INCOMPATIBLE + RegisterSignal(target, COMSIG_ATOM_UPDATE_ICON, .proc/block_update_icon) + +/datum/element/update_icon_blocker/proc/block_update_icon() + return COMSIG_ATOM_NO_UPDATE_ICON_STATE | COMSIG_ATOM_NO_UPDATE_OVERLAYS \ No newline at end of file diff --git a/code/datums/elements/update_icon_updates_onmob.dm b/code/datums/elements/update_icon_updates_onmob.dm new file mode 100644 index 0000000000..ca0e8b1641 --- /dev/null +++ b/code/datums/elements/update_icon_updates_onmob.dm @@ -0,0 +1,16 @@ +//update_icon() may change the onmob icons +//Very good name, I know + +/datum/element/update_icon_updates_onmob/Attach(datum/target) + . = ..() + if(!istype(target, /obj/item)) + return ELEMENT_INCOMPATIBLE + RegisterSignal(target, COMSIG_ATOM_UPDATED_ICON, .proc/update_onmob) + +/datum/element/update_icon_updates_onmob/proc/update_onmob(obj/item/target) + if(ismob(target.loc)) + var/mob/M = target.loc + if(M.is_holding(target)) + M.update_inv_hands() + else + M.regenerate_icons() //yeah this is shit, but we don't know which update_foo() proc to call instead so we'll call them all diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index e0b0072808..0f4f02ae2a 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -216,7 +216,7 @@ desc = "Stores recorder holocalls." icon_state = "holodisk" obj_flags = UNIQUE_RENAME - materials = list(MAT_METAL = 100, MAT_GLASS = 100) + custom_materials = list(/datum/material/iron = 100, /datum/material/glass = 100) var/datum/holorecord/record //Preset variables var/preset_image_type diff --git a/code/datums/materials/_material.dm b/code/datums/materials/_material.dm new file mode 100644 index 0000000000..796ebc42c7 --- /dev/null +++ b/code/datums/materials/_material.dm @@ -0,0 +1,77 @@ +/*! Material datum +Simple datum which is instanced once per type and is used for every object of said material. It has a variety of variables that define behavior. Subtyping from this makes it easier to create your own materials. +*/ + + +/datum/material + var/name = "material" + var/desc = "its..stuff." + ///Var that's mostly used by science machines to identify specific materials, should most likely be phased out at some point + var/id = "mat" + ///Base color of the material, is used for greyscale. Item isn't changed in color if this is null. + var/color + ///Base alpha of the material, is used for greyscale icons. + var/alpha + ///Materials "Traits". its a map of key = category | Value = Bool. Used to define what it can be used for + var/list/categories = list() + ///The type of sheet this material creates. This should be replaced as soon as possible by greyscale sheets + var/sheet_type + ///This is a modifier for force, and resembles the strength of the material + var/strength_modifier = 1 + ///This is a modifier for integrity, and resembles the strength of the material + var/integrity_modifier = 1 + ///This is the amount of value per 1 unit of the material + var/value_per_unit = 0 + ///Armor modifiers, multiplies an items normal armor vars by these amounts. + var/armor_modifiers = list("melee" = 1, "bullet" = 1, "laser" = 1, "energy" = 1, "bomb" = 1, "bio" = 1, "rad" = 1, "fire" = 1, "acid" = 1) + +///This proc is called when the material is added to an object. +/datum/material/proc/on_applied(atom/source, amount, material_flags) + if(material_flags & MATERIAL_COLOR) //Prevent changing things with pre-set colors, to keep colored toolboxes their looks for example + if(color) //Do we have a custom color? + source.add_atom_colour(color, FIXED_COLOUR_PRIORITY) + if(alpha) + source.alpha = alpha + + if(material_flags & MATERIAL_ADD_PREFIX) + source.name = "[name] [source.name]" + + if(istype(source, /obj)) //objs + on_applied_obj(source, amount, material_flags) + +///This proc is called when the material is added to an object specifically. +/datum/material/proc/on_applied_obj(var/obj/o, amount, material_flags) + var/new_max_integrity = CEILING(o.max_integrity * integrity_modifier, 1) + o.modify_max_integrity(new_max_integrity) + o.force *= strength_modifier + o.throwforce *= strength_modifier + + var/list/temp_armor_list = list() //Time to add armor modifiers! + + if(!istype(o.armor)) + return + var/list/current_armor = o.armor?.getList() + + for(var/i in current_armor) + temp_armor_list[i] = current_armor[i] * armor_modifiers[i] + o.armor = getArmor(arglist(temp_armor_list)) + +///This proc is called when the material is removed from an object. +/datum/material/proc/on_removed(atom/source, material_flags) + if(material_flags & MATERIAL_COLOR) //Prevent changing things with pre-set colors, to keep colored toolboxes their looks for example + if(color) + source.remove_atom_colour(FIXED_COLOUR_PRIORITY, color) + source.alpha = initial(source.alpha) + + if(material_flags & MATERIAL_ADD_PREFIX) + source.name = initial(source.name) + + if(istype(source, /obj)) //objs + on_removed_obj(source, material_flags) + +///This proc is called when the material is removed from an object specifically. +/datum/material/proc/on_removed_obj(var/obj/o, amount, material_flags) + var/new_max_integrity = initial(o.max_integrity) + o.modify_max_integrity(new_max_integrity) + o.force = initial(o.force) + o.throwforce = initial(o.throwforce) diff --git a/code/datums/materials/basemats.dm b/code/datums/materials/basemats.dm new file mode 100644 index 0000000000..6511950c87 --- /dev/null +++ b/code/datums/materials/basemats.dm @@ -0,0 +1,210 @@ +///Has no special properties. +/datum/material/iron + name = "iron" + id = "iron" + desc = "Common iron ore often found in sedimentary and igneous layers of the crust." + color = "#878687" + categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE) + sheet_type = /obj/item/stack/sheet/metal + value_per_unit = 0.0025 + +///Breaks extremely easily but is transparent. +/datum/material/glass + name = "glass" + id = "glass" + desc = "Glass forged by melting sand." + color = "#88cdf1" + alpha = 150 + categories = list(MAT_CATEGORY_RIGID = TRUE) + integrity_modifier = 0.1 + sheet_type = /obj/item/stack/sheet/glass + value_per_unit = 0.0025 + armor_modifiers = list("melee" = 0.2, "bullet" = 0.2, "laser" = 0, "energy" = 1, "bomb" = 0, "bio" = 0.2, "rad" = 0.2, "fire" = 1, "acid" = 0.2) // yeah ok retard + +/* +Color matrices are like regular colors but unlike with normal colors, you can go over 255 on a channel. +Unless you know what you're doing, only use the first three numbers. They're in RGB order. +*/ + +///Has no special properties. Could be good against vampires in the future perhaps. +/datum/material/silver + name = "silver" + id = "silver" + desc = "Silver" + color = list(255/255, 284/255, 302/255,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0) + categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE) + sheet_type = /obj/item/stack/sheet/mineral/silver + value_per_unit = 0.025 + +///Slight force increase +/datum/material/gold + name = "gold" + id = "gold" + desc = "Gold" + color = list(340/255, 240/255, 50/255,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0) //gold is shiny, but not as bright as bananium + strength_modifier = 1.2 + categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE) + sheet_type = /obj/item/stack/sheet/mineral/gold + value_per_unit = 0.0625 + armor_modifiers = list("melee" = 1.1, "bullet" = 1.1, "laser" = 1.15, "energy" = 1.15, "bomb" = 1, "bio" = 1, "rad" = 1, "fire" = 0.7, "acid" = 1.1) + +///Has no special properties +/datum/material/diamond + name = "diamond" + id = "diamond" + desc = "Highly pressurized carbon" + color = list(48/255, 272/255, 301/255,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0) + alpha = 132 + categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE) + sheet_type = /obj/item/stack/sheet/mineral/diamond + value_per_unit = 0.25 + +///Is slightly radioactive +/datum/material/uranium + name = "uranium" + id = "uranium" + desc = "Uranium" + color = rgb(48, 237, 26) + categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE) + sheet_type = /obj/item/stack/sheet/mineral/uranium + value_per_unit = 0.05 + armor_modifiers = list("melee" = 1.5, "bullet" = 1.4, "laser" = 0.5, "energy" = 0.5, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 1, "acid" = 1) + +/datum/material/uranium/on_applied(atom/source, amount, material_flags) + . = ..() + source.AddComponent(/datum/component/radioactive, amount / 20, source, 0) //half-life of 0 because we keep on going. + +/datum/material/uranium/on_removed(atom/source, material_flags) + . = ..() + qdel(source.GetComponent(/datum/component/radioactive)) + + +///Adds firestacks on hit (Still needs support to turn into gas on destruction) +/datum/material/plasma + name = "plasma" + id = "plasma" + desc = "Isn't plasma a state of matter? Oh whatever." + color = list(298/255, 46/255, 352/255,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0) + categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE) + sheet_type = /obj/item/stack/sheet/mineral/plasma + value_per_unit = 0.1 + armor_modifiers = list("melee" = 1.4, "bullet" = 0.7, "laser" = 0, "energy" = 1.2, "bomb" = 0, "bio" = 1.2, "rad" = 1, "fire" = 0, "acid" = 0.5) + +/datum/material/plasma/on_applied(atom/source, amount, material_flags) + . = ..() + if(ismovableatom(source)) + source.AddElement(/datum/element/firestacker) + source.AddComponent(/datum/component/explodable, 0, 0, amount / 2500, amount / 1250) + +/datum/material/plasma/on_removed(atom/source, material_flags) + . = ..() + source.RemoveElement(/datum/element/firestacker) + qdel(source.GetComponent(/datum/component/explodable)) + +///Can cause bluespace effects on use. (Teleportation) (Not yet implemented) +/datum/material/bluespace + name = "bluespace crystal" + id = "bluespace_crystal" + desc = "Crystals with bluespace properties" + color = list(119/255, 217/255, 396/255,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0) + alpha = 200 + categories = list(MAT_CATEGORY_ORE = TRUE) + sheet_type = /obj/item/stack/sheet/bluespace_crystal + value_per_unit = 0.15 + +///Honks and slips +/datum/material/bananium + name = "bananium" + id = "bananium" + desc = "Material with hilarious properties" + color = list(460/255, 464/255, 0, 0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0) //obnoxiously bright yellow + categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE) + sheet_type = /obj/item/stack/sheet/mineral/bananium + value_per_unit = 0.5 + armor_modifiers = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 100, "bio" = 0, "rad" = 0, "fire" = 10, "acid" = 0) //Clowns cant be blown away + +/datum/material/bananium/on_applied(atom/source, amount, material_flags) + . = ..() + source.AddComponent(/datum/component/squeak, list('sound/items/bikehorn.ogg'=1), 50) + source.AddComponent(/datum/component/slippery, min(amount / 10, 80)) + +/datum/material/bananium/on_removed(atom/source, amount, material_flags) + . = ..() + qdel(source.GetComponent(/datum/component/slippery)) + qdel(source.GetComponent(/datum/component/squeak)) + + +///Mediocre force increase +/datum/material/titanium + name = "titanium" + id = "titanium" + desc = "Titanium" + color = "#b3c0c7" + strength_modifier = 1.3 + categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE) + sheet_type = /obj/item/stack/sheet/mineral/titanium + value_per_unit = 0.0625 + armor_modifiers = list("melee" = 1.35, "bullet" = 1.3, "laser" = 1.3, "energy" = 1.25, "bomb" = 1.25, "bio" = 1, "rad" = 1, "fire" = 0.7, "acid" = 1) + +/datum/material/runite + name = "runite" + id = "runite" + desc = "Runite" + color = "#3F9995" + strength_modifier = 1.3 + categories = list(MAT_CATEGORY_RIGID = TRUE) + sheet_type = /obj/item/stack/sheet/mineral/runite + armor_modifiers = list("melee" = 1.35, "bullet" = 2, "laser" = 0.5, "energy" = 1.25, "bomb" = 1.25, "bio" = 1, "rad" = 1, "fire" = 1.4, "acid" = 1) //rune is weak against magic lasers but strong against bullets. This is the combat triangle. + +///Force decrease +/datum/material/plastic + name = "plastic" + id = "plastic" + desc = "Plastic" + color = "#caccd9" + strength_modifier = 0.85 + sheet_type = /obj/item/stack/sheet/plastic + value_per_unit = 0.0125 + armor_modifiers = list("melee" = 1.5, "bullet" = 1.1, "laser" = 0.3, "energy" = 0.5, "bomb" = 1, "bio" = 1, "rad" = 1, "fire" = 1.1, "acid" = 1) + +///Force decrease and mushy sound effect. (Not yet implemented) +/datum/material/biomass + name = "biomass" + id = "biomass" + desc = "Organic matter" + color = "#735b4d" + strength_modifier = 0.8 + value_per_unit = 0.025 + +///Stronk force increase +/datum/material/adamantine + name = "adamantine" + id = "adamantine" + desc = "A powerful material made out of magic, I mean science!" + color = "#6d7e8e" + strength_modifier = 1.5 + categories = list(MAT_CATEGORY_RIGID = TRUE) + sheet_type = /obj/item/stack/sheet/mineral/adamantine + value_per_unit = 0.25 + armor_modifiers = list("melee" = 1.5, "bullet" = 1.5, "laser" = 1.3, "energy" = 1.3, "bomb" = 1, "bio" = 1, "rad" = 1, "fire" = 2.5, "acid" = 1) + +///RPG Magic. (Admin only) +/datum/material/mythril + name = "mythril" + id = "mythril" + desc = "How this even exists is byond me" + color = "#f2d5d7" + categories = list(MAT_CATEGORY_RIGID = TRUE) + sheet_type = /obj/item/stack/sheet/mineral/mythril + value_per_unit = 0.75 + armor_modifiers = list("melee" = 2, "bullet" = 2, "laser" = 2, "energy" = 2, "bomb" = 2, "bio" = 2, "rad" = 2, "fire" = 2, "acid" = 2) + +/datum/material/mythril/on_applied_obj(atom/source, amount, material_flags) + . = ..() + if(istype(source, /obj/item)) + source.AddComponent(/datum/component/fantasy) + +/datum/material/mythril/on_removed_obj(atom/source, material_flags) + . = ..() + if(istype(source, /obj/item)) + qdel(source.GetComponent(/datum/component/fantasy)) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 16870b3f75..402dd9943e 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -61,7 +61,6 @@ var/late_joiner = FALSE var/force_escaped = FALSE // Set by Into The Sunset command of the shuttle manipulator - var/list/learned_recipes //List of learned recipe TYPES. /datum/mind/New(var/key) @@ -717,6 +716,11 @@ if(G) G.reenter_corpse() +/// Sets our can_hijack to the fastest speed our antag datums allow. +/datum/mind/proc/get_hijack_speed() + . = 0 + for(var/datum/antagonist/A in antag_datums) + . = max(., A.hijack_speed()) /datum/mind/proc/has_objective(objective_type) for(var/datum/antagonist/A in antag_datums) diff --git a/code/datums/ruins/lavaland.dm b/code/datums/ruins/lavaland.dm index 7ea2d2615d..02c12a34f4 100644 --- a/code/datums/ruins/lavaland.dm +++ b/code/datums/ruins/lavaland.dm @@ -224,6 +224,13 @@ allow_duplicates = FALSE cost = 5 +/datum/map_template/ruin/lavaland/dark_wizards + name = "Dark Wizard Altar" + id = "dark_wizards" + description = "A ruin with dark wizards. What secret do they guard?" + suffix = "lavaland_surface_wizard.dmm" + cost = 5 + /datum/map_template/ruin/lavaland/puzzle name = "Ancient Puzzle" id = "puzzle" @@ -238,4 +245,14 @@ suffix = "lavaland_surface_elite_tumor.dmm" cost = 5 always_place = TRUE - allow_duplicates = TRUE + allow_duplicates = TRUE + +// Mining Base +/datum/map_template/ruin/lavaland/mining_base //THIS IS THE MINING BASE. DO NOT FUCK WITH THIS UNLESS YOU ARE 100% CERTAIN YOU KNOW WHAT YOU'RE DOING, OR THE MINING BASE WILL DISAPPEAR + name = "Mining Base" + id = "miningbase" + description = "The mining base that Nanotrasen uses for their mining operations." + suffix = "miningbase.dmm" + cost = 0 + always_place = TRUE + unpickable = TRUE \ No newline at end of file diff --git a/code/datums/ruins/space.dm b/code/datums/ruins/space.dm index 34a676603e..da5398713e 100644 --- a/code/datums/ruins/space.dm +++ b/code/datums/ruins/space.dm @@ -311,6 +311,12 @@ name = "Space Hermit" description = "A late awakening cryo pod in a crashed escape pod wakes up to find what befell of his fellow survivors. Contains all the necessary resources to actually make it out alive. Good luck." +/datum/map_template/ruin/space/clericden + id = "clericden" + suffix = "clericden.dmm" + name = "Cleric's Den" + description = "Once part of a larger monastery, this holy order of long dead clerics practiced far less non-violence than they preached. Appears to have been untouched by looters, however. Odd." + /datum/map_template/ruin/space/advancedlab id = "advancedlab" suffix = "advancedlab.dmm" diff --git a/code/datums/ruins/station.dm b/code/datums/ruins/station.dm index 71cdf495e9..9316a4b022 100644 --- a/code/datums/ruins/station.dm +++ b/code/datums/ruins/station.dm @@ -54,10 +54,3 @@ id = "engine_budget" suffix = "Box/Engine/budget.dmm" name = "Box P.A.C.M.A.N" - -// Lavaland - // Mining Base -/datum/map_template/ruin/station/lavaland/mining_base - id = "mining_public_01" - suffix = "Lavaland/Mining_Station/Mining_Station_Public_01.dmm" - name = "Public Mining Base" diff --git a/code/datums/shuttles.dm b/code/datums/shuttles.dm index 2b76850b44..779de8ff03 100644 --- a/code/datums/shuttles.dm +++ b/code/datums/shuttles.dm @@ -287,6 +287,12 @@ credit_cost = 4000 description = "A fairly standard shuttle, though larger and slightly better equipped than the Box Station variant." +/datum/map_template/shuttle/emergency/kilo + suffix = "kilo" + name = "Kilo Station Emergency Shuttle" + credit_cost = 5000 + description = "A fully functional shuttle including a complete infirmary, storage facilties and regular amenities." + /datum/map_template/shuttle/emergency/mini suffix = "mini" name = "Ministation emergency shuttle" @@ -419,6 +425,11 @@ name = "fancy transport ferry" description = "At some point, someone upgraded the ferry to have fancier flooring... and less seats." +/datum/map_template/shuttle/ferry/kilo + suffix = "kilo" + name = "kilo transport ferry" + description = "Standard issue CentCom Ferry for Kilo pattern stations. Includes additional equipment and rechargers." + /datum/map_template/shuttle/whiteship/box suffix = "box" name = "Hospital Ship" @@ -447,6 +458,10 @@ suffix = "box" name = "supply shuttle (Box)" +/datum/map_template/shuttle/cargo/kilo + suffix = "kilo" + name = "supply shuttle (Kilo)" + /datum/map_template/shuttle/cargo/birdboat suffix = "birdboat" name = "supply shuttle (Birdboat)" @@ -481,6 +496,10 @@ suffix = "box" name = "labour shuttle (Box)" +/datum/map_template/shuttle/labour/kilo + suffix = "kilo" + name = "labour shuttle (Kilo)" + /datum/map_template/shuttle/infiltrator/basic suffix = "basic" name = "basic syndicate infiltrator" @@ -493,6 +512,10 @@ suffix = "delta" name = "mining shuttle (Delta)" +/datum/map_template/shuttle/mining/kilo + suffix = "kilo" + name = "mining shuttle (Kilo)" + /datum/map_template/shuttle/labour/delta suffix = "delta" name = "labour shuttle (Delta)" @@ -501,10 +524,18 @@ suffix = "meta" name = "lavaland shuttle (Meta)" +/datum/map_template/shuttle/labour/kilo + suffix = "kilo" + name = "labour shuttle (Kilo)" + /datum/map_template/shuttle/arrival/delta suffix = "delta" name = "arrival shuttle (Delta)" +/datum/map_template/shuttle/arrival/kilo + suffix = "kilo" + name = "arrival shuttle (Kilo)" + /datum/map_template/shuttle/arrival/pubby suffix = "pubby" name = "arrival shuttle (Pubby)" @@ -559,4 +590,4 @@ /datum/map_template/shuttle/snowdin/excavation suffix = "excavation" - name = "Snowdin Excavation Elevator" \ No newline at end of file + name = "Snowdin Excavation Elevator" diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index c694f27d64..5058dd0221 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -101,14 +101,16 @@ /datum/status_effect/no_combat_mode/mesmerize/on_creation(mob/living/new_owner, set_duration) . = ..() ADD_TRAIT(owner, TRAIT_MUTE, "mesmerize") + owner.add_movespeed_modifier("[STATUS_EFFECT_MESMERIZE]_[id]", TRUE, priority = 64, override = TRUE, multiplicative_slowdown = 5, blacklisted_movetypes = FALSE? NONE : CRAWLING) /datum/status_effect/no_combat_mode/mesmerize/on_remove() . = ..() REMOVE_TRAIT(owner, TRAIT_MUTE, "mesmerize") + owner.remove_movespeed_modifier("[STATUS_EFFECT_MESMERIZE]_[id]") /obj/screen/alert/status_effect/mesmerized name = "Mesmerized" - desc = "You cant tear your sight from who is in front of you...Their gaze is simply too enthralling.." + desc = "You cant tear your sight from who is in front of you... their gaze is simply too enthralling.." icon = 'icons/mob/actions/bloodsucker.dmi' icon_state = "power_mez" @@ -609,6 +611,19 @@ icon_state = "ichorial_stain" alerttooltipstyle = "clockcult" +/datum/status_effect/electrostaff + id = "electrostaff" + alert_type = null + status_type = STATUS_EFFECT_REPLACE + +/datum/status_effect/electrostaff/on_creation(mob/living/new_owner, set_duration) + if(isnum(set_duration)) + duration = set_duration + . = ..() + owner.add_movespeed_modifier(MOVESPEED_ID_ELECTROSTAFF, multiplicative_slowdown = 1, movetypes = GROUND) + +/datum/status_effect/electrostaff/on_remove() + owner.remove_movespeed_modifier(MOVESPEED_ID_ELECTROSTAFF) //GOLEM GANG diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index b2177a860a..9c2128163f 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -55,6 +55,8 @@ GLOBAL_LIST_EMPTY(family_heirlooms) heirloom_type = pick(/obj/item/cultivator, /obj/item/reagent_containers/glass/bucket, /obj/item/storage/bag/plants, /obj/item/toy/plush/beeplushie) if("Medical Doctor") heirloom_type = /obj/item/healthanalyzer/advanced + if("Paramedic") + heirloom_type = pick(/obj/item/clothing/neck/stethoscope, /obj/item/bodybag) if("Station Engineer") heirloom_type = /obj/item/wirecutters/brass if("Atmospheric Technician") diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm index ad4c0c232d..be2dce91a2 100644 --- a/code/game/area/Space_Station_13_areas.dm +++ b/code/game/area/Space_Station_13_areas.dm @@ -1245,6 +1245,22 @@ NOTE: there are two lists of areas in the end of this file: centcom and station icon_state = "storage_wing" +// Vacant Rooms + +/area/vacant_room + name = "Vacant Room" + ambientsounds = MAINTENANCE + icon_state = "vacant_room" + +/area/vacant_room/office + name = "Vacant Office" + icon_state = "vacant_room" + +/area/vacant_room/commissary + name = "Vacant Commissary" + icon_state = "vacant_room" + + //AI /area/ai_monitored/security/armory @@ -1367,3 +1383,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/tcommsat/lounge name = "Telecommunications Satellite Lounge" icon_state = "tcomsatlounge" + +/area/crew_quarters/fitness/pool + name = "Pool Area" + icon_state = "pool" diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 83117bad64..6439fd1cfc 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -38,6 +38,13 @@ var/rad_flags = NONE // Will move to flags_1 when i can be arsed to var/rad_insulation = RAD_NO_INSULATION + ///The custom materials this atom is made of, used by a lot of things like furniture, walls, and floors (if I finish the functionality, that is.) + var/list/custom_materials + ///Bitfield for how the atom handles materials. + var/material_flags = NONE + ///Modifier that raises/lowers the effect of the amount of a material, prevents small and easy to get items from being death machines. + var/material_modifier = 1 + var/icon/blood_splatter_icon var/list/fingerprints var/list/fingerprintshidden @@ -89,6 +96,12 @@ if (canSmoothWith) canSmoothWith = typelist("canSmoothWith", canSmoothWith) + var/temp_list = list() + for(var/i in custom_materials) + temp_list[getmaterialref(i)] = custom_materials[i] //Get the proper instanced version + custom_materials = null //Null the list to prepare for applying the materials properly + set_custom_materials(temp_list) + ComponentInitialize() return INITIALIZE_HINT_NORMAL @@ -290,6 +303,11 @@ if(desc) . += desc + if(custom_materials) + for(var/i in custom_materials) + var/datum/material/M = i + . += "It is made out of [M.name]." + if(reagents) if(reagents.reagents_holder_flags & TRANSPARENT) . += "It contains:" @@ -316,9 +334,11 @@ /atom/proc/update_icon() // I expect we're going to need more return flags and options in this proc var/signalOut = SEND_SIGNAL(src, COMSIG_ATOM_UPDATE_ICON) + . = FALSE if(!(signalOut & COMSIG_ATOM_NO_UPDATE_ICON_STATE)) update_icon_state() + . = TRUE if(!(signalOut & COMSIG_ATOM_NO_UPDATE_OVERLAYS)) var/list/new_overlays = update_overlays() @@ -328,6 +348,9 @@ if(length(new_overlays)) managed_overlays = new_overlays add_overlay(new_overlays) + . = TRUE + + SEND_SIGNAL(src, COMSIG_ATOM_UPDATED_ICON, signalOut, .) /// Updates the icon state of the atom /atom/proc/update_icon_state() @@ -872,3 +895,26 @@ Proc for attack log creation, because really why not /atom/proc/intercept_zImpact(atom/movable/AM, levels = 1) . |= SEND_SIGNAL(src, COMSIG_ATOM_INTERCEPT_Z_FALL, AM, levels) + +///Sets the custom materials for an item. +/atom/proc/set_custom_materials(var/list/materials, multiplier = 1) + + if(!materials) + materials = custom_materials + + if(custom_materials) //Only runs if custom materials existed at first. Should usually be the case but check anyways + for(var/i in custom_materials) + var/datum/material/custom_material = getmaterialref(i) + custom_material.on_removed(src, material_flags) //Remove the current materials + + if(!length(materials)) + return + + custom_materials = list() //Reset the list + + for(var/x in materials) + var/datum/material/custom_material = getmaterialref(x) + + if(!(material_flags & MATERIAL_NO_EFFECTS)) + custom_material.on_applied(src, materials[custom_material] * multiplier * material_modifier, material_flags) + custom_materials[custom_material] += materials[x] * multiplier diff --git a/code/game/gamemodes/clown_ops/bananium_bomb.dm b/code/game/gamemodes/clown_ops/bananium_bomb.dm index b63d5b2e79..baecd6a1de 100644 --- a/code/game/gamemodes/clown_ops/bananium_bomb.dm +++ b/code/game/gamemodes/clown_ops/bananium_bomb.dm @@ -4,23 +4,17 @@ icon = 'icons/obj/machines/nuke.dmi' icon_state = "bananiumbomb_base" -/obj/machinery/nuclearbomb/syndicate/bananium/update_icon() - if(deconstruction_state == NUKESTATE_INTACT) - switch(get_nuke_state()) - if(NUKE_OFF_LOCKED, NUKE_OFF_UNLOCKED) - icon_state = "bananiumbomb_base" - update_icon_interior() - update_icon_lights() - if(NUKE_ON_TIMING) - cut_overlays() - icon_state = "bananiumbomb_timing" - if(NUKE_ON_EXPLODING) - cut_overlays() - icon_state = "bananiumbomb_exploding" - else +/obj/machinery/nuclearbomb/syndicate/bananium/update_icon_state() + if(deconstruction_state != NUKESTATE_INTACT) icon_state = "bananiumbomb_base" - update_icon_interior() - update_icon_lights() + return + switch(get_nuke_state()) + if(NUKE_OFF_LOCKED, NUKE_OFF_UNLOCKED) + icon_state = "bananiumbomb_base" + if(NUKE_ON_TIMING) + icon_state = "bananiumbomb_timing" + if(NUKE_ON_EXPLODING) + icon_state = "bananiumbomb_exploding" /obj/machinery/nuclearbomb/syndicate/bananium/get_cinematic_type(off_station) switch(off_station) diff --git a/code/game/gamemodes/clown_ops/clown_weapons.dm b/code/game/gamemodes/clown_ops/clown_weapons.dm index 674afad88e..0a231a5ff1 100644 --- a/code/game/gamemodes/clown_ops/clown_weapons.dm +++ b/code/game/gamemodes/clown_ops/clown_weapons.dm @@ -40,14 +40,14 @@ /obj/item/clothing/shoes/clown_shoes/banana_shoes/combat/Initialize() . = ..() var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container) - bananium.insert_amount(max_recharge, MAT_BANANIUM) + bananium.insert_amount_mat(max_recharge, /datum/material/bananium) START_PROCESSING(SSobj, src) /obj/item/clothing/shoes/clown_shoes/banana_shoes/combat/process() var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container) - var/bananium_amount = bananium.amount(MAT_BANANIUM) + var/bananium_amount = bananium.get_material_amount(/datum/material/bananium) if(bananium_amount < max_recharge) - bananium.insert_amount(min(recharge_rate, max_recharge - bananium_amount), MAT_BANANIUM) + bananium.insert_amount_mat(min(recharge_rate, max_recharge - bananium_amount), /datum/material/bananium) /obj/item/clothing/shoes/clown_shoes/banana_shoes/combat/attack_self(mob/user) ui_action_click(user) diff --git a/code/game/gamemodes/dynamic/dynamic.dm b/code/game/gamemodes/dynamic/dynamic.dm index 6ea357163f..4c3ef824b9 100644 --- a/code/game/gamemodes/dynamic/dynamic.dm +++ b/code/game/gamemodes/dynamic/dynamic.dm @@ -672,7 +672,7 @@ GLOBAL_VAR_INIT(dynamic_storyteller_type, /datum/dynamic_storyteller/classic) // Time to inject some threat into the round if(EMERGENCY_ESCAPED_OR_ENDGAMED) // Unless the shuttle is gone return - if((world.realtime - SSshuttle.realtimeofstart) > SSshuttle.auto_call) // no rules after shuttle is auto-called + if(SSshuttle.endvote_passed) // no rules after shuttle call is voted return message_admins("DYNAMIC: Checking for midround injection.") log_game("DYNAMIC: Checking for midround injection.") @@ -748,7 +748,7 @@ GLOBAL_VAR_INIT(dynamic_storyteller_type, /datum/dynamic_storyteller/classic) return if(EMERGENCY_ESCAPED_OR_ENDGAMED) // No more rules after the shuttle has left return - if((world.realtime - SSshuttle.realtimeofstart) > SSshuttle.auto_call) // no rules after shuttle is auto-called + if(SSshuttle.endvote_passed) // no rules after shuttle is auto-called return update_playercounts() diff --git a/code/game/gamemodes/dynamic/dynamic_storytellers.dm b/code/game/gamemodes/dynamic/dynamic_storytellers.dm index 303c436f99..069c73a421 100644 --- a/code/game/gamemodes/dynamic/dynamic_storytellers.dm +++ b/code/game/gamemodes/dynamic/dynamic_storytellers.dm @@ -57,7 +57,8 @@ Property weights are: mean += 2.5 if(CHAOS_MAX) mean += 5 - GLOB.dynamic_curve_centre += (mean/voters) + if(voters) + GLOB.dynamic_curve_centre += (mean/voters) GLOB.dynamic_forced_threat_level = forced_threat_level /datum/dynamic_storyteller/proc/get_midround_cooldown() diff --git a/code/game/gamemodes/gangs/dominator.dm b/code/game/gamemodes/gangs/dominator.dm index db060a6539..858c10c46c 100644 --- a/code/game/gamemodes/gangs/dominator.dm +++ b/code/game/gamemodes/gangs/dominator.dm @@ -13,7 +13,7 @@ anchored = TRUE layer = HIGH_OBJ_LAYER max_integrity = 300 - integrity_failure = 100 + integrity_failure = 0.33 armor = list("melee" = 20, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 10, "bio" = 100, "rad" = 100, "fire" = 10, "acid" = 70) var/datum/team/gang/gang var/operating = FALSE //false=standby or broken, true=takeover diff --git a/code/game/gamemodes/gangs/gang_items.dm b/code/game/gamemodes/gangs/gang_items.dm index 4dba8dae93..d3ccb5a355 100644 --- a/code/game/gamemodes/gangs/gang_items.dm +++ b/code/game/gamemodes/gangs/gang_items.dm @@ -220,11 +220,11 @@ datum/gang_item/clothing/shades //Addition: Why not have cool shades on a gang m cost = 15 item_path = /obj/item/ammo_box/magazine/sniper_rounds -/datum/gang_item/weapon/ammo/sleeper_ammo +/*/datum/gang_item/weapon/ammo/sleeper_ammo //no. absolutely no. name = "Illicit Soporific Cartridges" id = "sniper_ammo" - cost = 15 - item_path = /obj/item/ammo_box/magazine/sniper_rounds/soporific + cost = 15 //who the fuck thought a ONE-HIT K.O. for 15 gbp IN AN ENVIRONMENT WHERE WE'RE GETTING RID OF HARDSTUNS is a GOOD IDEA + item_path = /obj/item/ammo_box/magazine/sniper_rounds/soporific*/ /datum/gang_item/weapon/machinegun name = "Mounted Machine Gun" diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 459ff2f3d6..e84b942151 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -314,9 +314,11 @@ GLOBAL_LIST_EMPTY(objectives) /datum/objective/hijack name = "hijack" - explanation_text = "Hijack the shuttle to ensure no loyalist Nanotrasen crew escape alive and out of custody." - team_explanation_text = "Hijack the shuttle to ensure no loyalist Nanotrasen crew escape alive and out of custody. Leave no team member behind." + explanation_text = "Hijack the emergency shuttle by hacking its navigational protocols through the control console (alt click emergency shuttle console)." + team_explanation_text = "Hijack the emergency shuttle by hacking its navigational protocols through the control console (alt click emergency shuttle console). Leave no team member behind." martyr_compatible = 0 //Technically you won't get both anyway. + /// Overrides the hijack speed of any antagonist datum it is on ONLY, no other datums are impacted. + var/hijack_speed_override = 1 /datum/objective/hijack/check_completion() // Requires all owners to escape. if(SSshuttle.emergency.mode != SHUTTLE_ENDGAME) @@ -1096,7 +1098,7 @@ GLOBAL_LIST_EMPTY(possible_sabotages) var/approved_targets = list() check_sabotages: for(var/datum/sabotage_objective/possible_sabotage in GLOB.possible_sabotages) - if(!is_unique_objective(possible_sabotage.sabotage_type) || possible_sabotage.check_conditions()) + if(!is_unique_objective(possible_sabotage.sabotage_type) || possible_sabotage.check_conditions() || !possible_sabotage.can_run()) continue for(var/datum/mind/M in owners) if(M.current.mind.assigned_role in possible_sabotage.excludefromjob) diff --git a/code/game/gamemodes/objective_sabotage.dm b/code/game/gamemodes/objective_sabotage.dm index 248524f1d2..321e3ad2f6 100644 --- a/code/game/gamemodes/objective_sabotage.dm +++ b/code/game/gamemodes/objective_sabotage.dm @@ -12,6 +12,9 @@ /datum/sabotage_objective/proc/check_conditions() return TRUE +/datum/sabotage_objective/proc/can_run() + return TRUE + /datum/sabotage_objective/processing var/won = FALSE @@ -33,7 +36,7 @@ /datum/sabotage_objective/processing/power_sink name = "Drain at least 1 gigajoule of power using a power sink." sabotage_type = "powersink" - special_equipment = list(/obj/item/powersink) + special_equipment = list(/obj/item/sbeacondrop/powersink) var/sink_found = FALSE var/count = 0 @@ -79,6 +82,9 @@ won = max(1-((S.get_integrity()-50)/50),won) return FALSE +/datum/sabotage_objective/processing/supermatter/can_run() + return (locate(/obj/machinery/power/supermatter_crystal) in GLOB.machines) + /datum/sabotage_objective/station_integrity name = "Make sure the station is at less than 80% integrity by the end. Smash walls, windows etc. to reach this goal." sabotage_type = "integrity" diff --git a/code/game/machinery/Beacon.dm b/code/game/machinery/Beacon.dm index 84eda82ef5..e9968dadd4 100644 --- a/code/game/machinery/Beacon.dm +++ b/code/game/machinery/Beacon.dm @@ -28,7 +28,7 @@ update_icon() // update the icon_state -/obj/machinery/bluespace_beacon/update_icon() +/obj/machinery/bluespace_beacon/update_icon_state() var/state="floor_beacon" if(invisibility) diff --git a/code/game/machinery/PDApainter.dm b/code/game/machinery/PDApainter.dm index 20efee9420..88dc0ebb56 100644 --- a/code/game/machinery/PDApainter.dm +++ b/code/game/machinery/PDApainter.dm @@ -9,16 +9,12 @@ var/list/colorlist = list() -/obj/machinery/pdapainter/update_icon() - cut_overlays() +/obj/machinery/pdapainter/update_icon_state() if(stat & BROKEN) icon_state = "[initial(icon_state)]-broken" return - if(storedpda) - add_overlay("[initial(icon_state)]-closed") - if(powered()) icon_state = initial(icon_state) else @@ -26,6 +22,15 @@ return +/obj/machinery/pdapainter/update_overlays() + . = ..() + + if(stat & BROKEN) + return + + if(storedpda) + . += "[initial(icon_state)]-closed" + /obj/machinery/pdapainter/Initialize() . = ..() var/list/blocked = list( diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index b5ab859797..cdae0ea713 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -71,7 +71,7 @@ reagents.maximum_volume = (500*E) -/obj/machinery/sleeper/update_icon() +/obj/machinery/sleeper/update_icon_state() icon_state = initial(icon_state) if(state_open) icon_state += "-open" @@ -264,7 +264,7 @@ if(blood_id) data["occupant"]["blood"] = list() // We can start populating this list. var/blood_type = C.dna.blood_type - if(blood_id != "blood") // special blood substance + if(!(blood_id in GLOB.blood_reagent_types)) // special blood substance var/datum/reagent/R = GLOB.chemical_reagents_list[blood_id] if(R) blood_type = R.name diff --git a/code/game/machinery/airlock_control.dm b/code/game/machinery/airlock_control.dm index 69dbdcd50c..557adf488b 100644 --- a/code/game/machinery/airlock_control.dm +++ b/code/game/machinery/airlock_control.dm @@ -113,7 +113,7 @@ id_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_SENSOR master_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_CONTROLLER -/obj/machinery/airlock_sensor/update_icon() +/obj/machinery/airlock_sensor/update_icon_state() if(on) if(alert) icon_state = "airlock_sensor_alert" diff --git a/code/game/machinery/announcement_system.dm b/code/game/machinery/announcement_system.dm index 5a597f7280..7eef48ebdd 100644 --- a/code/game/machinery/announcement_system.dm +++ b/code/game/machinery/announcement_system.dm @@ -29,25 +29,25 @@ GLOBAL_LIST_EMPTY(announcement_systems) /obj/machinery/announcement_system/Initialize() . = ..() GLOB.announcement_systems += src - radio = new /obj/item/radio/headset/ai(src) + radio = new /obj/item/radio/headset/silicon/ai(src) update_icon() -/obj/machinery/announcement_system/update_icon() +/obj/machinery/announcement_system/update_icon_state() if(is_operational()) icon_state = (panel_open ? "AAS_On_Open" : "AAS_On") else icon_state = (panel_open ? "AAS_Off_Open" : "AAS_Off") - - cut_overlays() +/obj/machinery/announcement_system/update_overlays() + . =..() if(arrivalToggle) - add_overlay(greenlight) + . += greenlight if(newheadToggle) - add_overlay(pinklight) + . += pinklight if(stat & BROKEN) - add_overlay(errorlight) + . += errorlight /obj/machinery/announcement_system/Destroy() QDEL_NULL(radio) diff --git a/code/game/machinery/aug_manipulator.dm b/code/game/machinery/aug_manipulator.dm index b41910f010..b95e3149ea 100644 --- a/code/game/machinery/aug_manipulator.dm +++ b/code/game/machinery/aug_manipulator.dm @@ -19,21 +19,21 @@ initial_icon_state = initial(icon_state) return ..() -/obj/machinery/aug_manipulator/update_icon() - cut_overlays() - +/obj/machinery/aug_manipulator/update_icon_state() if(stat & BROKEN) icon_state = "[initial_icon_state]-broken" return - if(storedpart) - add_overlay("[initial_icon_state]-closed") - if(powered()) icon_state = initial_icon_state else icon_state = "[initial_icon_state]-off" +/obj/machinery/aug_manipulator/update_overlays() + . = ..() + if(storedpart) + . += "[initial_icon_state]-closed" + /obj/machinery/aug_manipulator/Destroy() QDEL_NULL(storedpart) return ..() diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index c9d26905f5..872b9e1d85 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -47,7 +47,23 @@ ) /obj/machinery/autolathe/Initialize() - AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS), 0, TRUE, null, null, CALLBACK(src, .proc/AfterMaterialInsert)) + AddComponent(/datum/component/material_container, + list(/datum/material/iron, + /datum/material/glass, + /datum/material/gold, + /datum/material/silver, + /datum/material/diamond, + /datum/material/uranium, + /datum/material/plasma, + /datum/material/bluespace, + /datum/material/bananium, + /datum/material/titanium, + /datum/material/runite, + /datum/material/plastic, + /datum/material/adamantine, + /datum/material/mythril + ), + 0, TRUE, null, null, CALLBACK(src, .proc/AfterMaterialInsert)) . = ..() wires = new /datum/wires/autolathe(src) @@ -121,15 +137,14 @@ return ..() -/obj/machinery/autolathe/proc/AfterMaterialInsert(type_inserted, id_inserted, amount_inserted) - if(ispath(type_inserted, /obj/item/stack/ore/bluespace_crystal)) +/obj/machinery/autolathe/proc/AfterMaterialInsert(obj/item/item_inserted, id_inserted, amount_inserted) + if(istype(item_inserted, /obj/item/stack/ore/bluespace_crystal)) use_power(MINERAL_MATERIAL_AMOUNT / 10) + else if(item_inserted.custom_materials?.len && item_inserted.custom_materials[getmaterialref(/datum/material/glass)]) + flick("autolathe_r",src)//plays glass insertion animation by default otherwise else - switch(id_inserted) - if (MAT_METAL) - flick("autolathe_o",src)//plays metal insertion animation - if (MAT_GLASS) - flick("autolathe_r",src)//plays glass insertion animation + flick("autolathe_o",src)//plays metal insertion animation + use_power(min(1000, amount_inserted / 100)) updateUsrDialog() @@ -160,18 +175,42 @@ ///////////////// var/coeff = (is_stack ? 1 : prod_coeff) //stacks are unaffected by production coefficient - var/metal_cost = being_built.materials[MAT_METAL] - var/glass_cost = being_built.materials[MAT_GLASS] + var/total_amount = 0 - var/power = max(2000, (metal_cost+glass_cost)*multiplier/5) + for(var/MAT in being_built.materials) + total_amount += being_built.materials[MAT] + + var/power = max(2000, (total_amount)*multiplier/5) //Change this to use all materials var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - if((materials.amount(MAT_METAL) >= metal_cost*multiplier*coeff) && (materials.amount(MAT_GLASS) >= glass_cost*multiplier*coeff)) + + var/list/materials_used = list() + var/list/custom_materials = list() //These will apply their material effect, This should usually only be one. + + for(var/MAT in being_built.materials) + var/datum/material/used_material = MAT + var/amount_needed = being_built.materials[MAT] * coeff * multiplier + if(istext(used_material)) //This means its a category + var/list/list_to_show = list() + for(var/i in SSmaterials.materials_by_category[used_material]) + if(materials.materials[i] > 0) + list_to_show += i + + used_material = input("Choose [used_material]", "Custom Material") as null|anything in list_to_show + if(!used_material) + return //Didn't pick any material, so you can't build shit either. + custom_materials[used_material] += amount_needed + + materials_used[used_material] = amount_needed + + if(materials.has_materials(materials_used)) busy = TRUE use_power(power) icon_state = "autolathe_n" var/time = is_stack ? 32 : 32*coeff*multiplier - addtimer(CALLBACK(src, .proc/make_item, power, metal_cost, glass_cost, multiplier, coeff, is_stack), time) + addtimer(CALLBACK(src, .proc/make_item, power, materials_used, custom_materials, multiplier, coeff, is_stack), time) + else + to_chat(usr, "Not enough materials for this operation.") if(href_list["search"]) matching_designs.Cut() @@ -188,12 +227,11 @@ return -/obj/machinery/autolathe/proc/make_item(power, metal_cost, glass_cost, multiplier, coeff, is_stack) +/obj/machinery/autolathe/proc/make_item(power, var/list/materials_used, var/list/picked_materials, multiplier, coeff, is_stack) var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) var/atom/A = drop_location() use_power(power) - var/list/materials_used = list(MAT_METAL=metal_cost*coeff*multiplier, MAT_GLASS=glass_cost*coeff*multiplier) - materials.use_amount(materials_used) + materials.use_materials(materials_used) if(is_stack) var/obj/item/stack/N = new being_built.build_path(A, multiplier) @@ -202,10 +240,11 @@ else for(var/i=1, i<=multiplier, i++) var/obj/item/new_item = new being_built.build_path(A) - new_item.materials = new_item.materials.Copy() - for(var/mat in materials_used) - new_item.materials[mat] = materials_used[mat] / multiplier new_item.autolathe_crafted(src) + + if(length(picked_materials)) + new_item.set_custom_materials(picked_materials, 1 / multiplier) //Ensure we get the non multiplied amount + icon_state = "autolathe" busy = FALSE updateDialog() @@ -270,7 +309,9 @@ if(ispath(D.build_path, /obj/item/stack)) var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - var/max_multiplier = min(D.maxstack, D.materials[MAT_METAL] ?round(materials.amount(MAT_METAL)/D.materials[MAT_METAL]):INFINITY,D.materials[MAT_GLASS]?round(materials.amount(MAT_GLASS)/D.materials[MAT_GLASS]):INFINITY) + var/max_multiplier + for(var/datum/material/mat in D.materials) + max_multiplier = min(D.maxstack, round(materials.get_material_amount(mat)/D.materials[mat])) if (max_multiplier>10 && !disabled) dat += " x10" if (max_multiplier>25 && !disabled) @@ -302,7 +343,9 @@ if(ispath(D.build_path, /obj/item/stack)) var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - var/max_multiplier = min(D.maxstack, D.materials[MAT_METAL] ?round(materials.amount(MAT_METAL)/D.materials[MAT_METAL]):INFINITY,D.materials[MAT_GLASS]?round(materials.amount(MAT_GLASS)/D.materials[MAT_GLASS]):INFINITY) + var/max_multiplier + for(var/datum/material/mat in D.materials) + max_multiplier = min(D.maxstack, round(materials.get_material_amount(mat)/D.materials[mat])) if (max_multiplier>10 && !disabled) dat += " x10" if (max_multiplier>25 && !disabled) @@ -319,8 +362,10 @@ var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) var/dat = "Total amount: [materials.total_amount] / [materials.max_amount] cm3
" for(var/mat_id in materials.materials) - var/datum/material/M = materials.materials[mat_id] - dat += "[M.name] amount: [M.amount] cm3
" + var/datum/material/M = mat_id + var/mineral_amount = materials.materials[mat_id] + if(mineral_amount > 0) + dat += "[M.name] amount: [mineral_amount] cm3
" return dat /obj/machinery/autolathe/proc/can_build(datum/design/D, amount = 1) @@ -329,20 +374,24 @@ var/coeff = (ispath(D.build_path, /obj/item/stack) ? 1 : prod_coeff) + var/list/required_materials = list() + + for(var/i in D.materials) + required_materials[i] = D.materials[i] * coeff * amount + var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - if(D.materials[MAT_METAL] && (materials.amount(MAT_METAL) < (D.materials[MAT_METAL] * coeff * amount))) - return FALSE - if(D.materials[MAT_GLASS] && (materials.amount(MAT_GLASS) < (D.materials[MAT_GLASS] * coeff * amount))) - return FALSE - return TRUE + + return materials.has_materials(required_materials) /obj/machinery/autolathe/proc/get_design_cost(datum/design/D) var/coeff = (ispath(D.build_path, /obj/item/stack) ? 1 : prod_coeff) var/dat - if(D.materials[MAT_METAL]) - dat += "[D.materials[MAT_METAL] * coeff] metal " - if(D.materials[MAT_GLASS]) - dat += "[D.materials[MAT_GLASS] * coeff] glass" + for(var/i in D.materials) + if(istext(i)) //Category handling + dat += "[D.materials[i] * coeff] [i]" + else + var/datum/material/M = i + dat += "[D.materials[i] * coeff] [M.name] " return dat /obj/machinery/autolathe/proc/reset(wire) diff --git a/code/game/machinery/bloodbankgen.dm b/code/game/machinery/bloodbankgen.dm index cb25adc126..31fac02d83 100644 --- a/code/game/machinery/bloodbankgen.dm +++ b/code/game/machinery/bloodbankgen.dm @@ -54,16 +54,17 @@ efficiency = E productivity = P -/obj/machinery/bloodbankgen/update_icon() - cut_overlays() +/obj/machinery/bloodbankgen/update_icon_state() if(is_operational()) - icon_state = "bloodbank-on" + icon_state = "bloodbank-[is_operational() ? "on" : "off"]" +/obj/machinery/bloodbankgen/update_overlays() + . = ..() if(panel_open) - add_overlay("bloodbank-panel") + . += "bloodbank-panel" - if(src.bag) - add_overlay("bloodbag-input") + if(bag) + . += "bloodbag-input" if(bag.reagents.total_volume) var/mutable_appearance/filling_overlay = mutable_appearance(icon, "input-reagent") @@ -85,10 +86,10 @@ filling_overlay.icon_state = "input-reagent100" filling_overlay.color = list(mix_color_from_reagents(bag.reagents.reagent_list)) - add_overlay(filling_overlay) + . += filling_overlay - if(src.outbag) - add_overlay("bloodbag-output") + if(outbag) + . += "bloodbag-output" if(outbag.reagents.total_volume) var/mutable_appearance/filling_overlay = mutable_appearance(icon, "output-reagent") @@ -110,8 +111,7 @@ filling_overlay.icon_state = "output-reagent100" filling_overlay.color = list(mix_color_from_reagents(outbag.reagents.reagent_list)) - add_overlay(filling_overlay) - return + . += filling_overlay /obj/machinery/bloodbankgen/process() if(!is_operational()) @@ -274,20 +274,20 @@ return TRUE -/obj/machinery/bloodbankgen/proc/detachinput() +/obj/machinery/bloodbankgen/proc/detachinput(mob/user) if(bag) bag.forceMove(drop_location()) - if(usr && Adjacent(usr) && !issiliconoradminghost(usr)) - usr.put_in_hands(bag) + if(user && Adjacent(usr) && user.can_hold_items()) + user.put_in_hands(bag) bag = null draining = null update_icon() -/obj/machinery/bloodbankgen/proc/detachoutput() +/obj/machinery/bloodbankgen/proc/detachoutput(mob/user) if(outbag) outbag.forceMove(drop_location()) - if(usr && Adjacent(usr) && !issiliconoradminghost(usr)) - usr.put_in_hands(outbag) + if(user && Adjacent(user) && user.can_hold_items()) + user.put_in_hands(outbag) outbag = null filling = null update_icon() @@ -325,12 +325,12 @@ activateinput() else if(href_list["detachinput"]) - detachinput() + detachinput(usr) else if(href_list["activateoutput"]) activateoutput() else if(href_list["detachoutput"]) - detachoutput() + detachoutput(usr) updateUsrDialog() diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index 3a9b560bd6..ad3dd5d720 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -265,4 +265,4 @@ desc = "Used for building buttons." icon_state = "button" result_path = /obj/machinery/button - materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/iron = MINERAL_MATERIAL_AMOUNT) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 22c1ff811c..760d48b57b 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -17,7 +17,7 @@ armor = list("melee" = 50, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 50) max_integrity = 100 - integrity_failure = 50 + integrity_failure = 0.5 var/list/network = list("ss13") var/c_tag = null var/status = TRUE diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index 66e302bab6..1766391709 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -3,7 +3,7 @@ desc = "The basic construction for Nanotrasen-Always-Watching-You cameras." icon = 'icons/obj/machines/camera.dmi' icon_state = "cameracase" - materials = list(MAT_METAL=400, MAT_GLASS=250) + custom_materials = list(/datum/material/iron=400, /datum/material/glass=250) result_path = /obj/structure/camera_assembly diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm index 991577e123..670efa929e 100644 --- a/code/game/machinery/cell_charger.dm +++ b/code/game/machinery/cell_charger.dm @@ -10,18 +10,19 @@ circuit = /obj/item/circuitboard/machine/cell_charger pass_flags = PASSTABLE var/obj/item/stock_parts/cell/charging = null - var/chargelevel = -1 var/charge_rate = 500 -/obj/machinery/cell_charger/update_icon() - cut_overlays() - if(charging) - add_overlay(image(charging.icon, charging.icon_state)) - add_overlay("ccharger-on") - if(!(stat & (BROKEN|NOPOWER))) - var/newlevel = round(charging.percent() * 4 / 100) - chargelevel = newlevel - add_overlay("ccharger-o[newlevel]") +/obj/machinery/cell_charger/update_overlays() + . += ..() + + if(!charging) + return + + . += image(charging.icon, charging.icon_state) + . += "ccharger-on" + if(!(stat & (BROKEN|NOPOWER))) + var/newlevel = round(charging.percent() * 4 / 100) + . += "ccharger-o[newlevel]" /obj/machinery/cell_charger/examine(mob/user) . = ..() @@ -54,7 +55,6 @@ charging = W user.visible_message("[user] inserts a cell into [src].", "You insert a cell into [src].") - chargelevel = -1 update_icon() else if(!charging && default_deconstruction_screwdriver(user, icon_state, icon_state, W)) @@ -77,7 +77,6 @@ /obj/machinery/cell_charger/proc/removecell() charging.update_icon() charging = null - chargelevel = -1 update_icon() /obj/machinery/cell_charger/attack_hand(mob/user) diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 62304112b2..b42b5cf41f 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -477,24 +477,30 @@ flesh_number = unattached_flesh.len -/obj/machinery/clonepod/update_icon() - cut_overlays() - +/obj/machinery/clonepod/update_icon_state() if(mess) icon_state = "pod_g" + else if(occupant) + icon_state = "pod_1" + else + icon_state = "pod_0" + + if(panel_open) + icon_state = "pod_0_maintenance" + +/obj/machinery/clonepod/update_overlays() + . = ..() + if(mess) var/image/gib1 = image(CRYOMOBS, "gibup") var/image/gib2 = image(CRYOMOBS, "gibdown") gib1.pixel_y = 27 + round(sin(world.time) * 3) gib1.pixel_x = round(sin(world.time * 3)) gib2.pixel_y = 27 + round(cos(world.time) * 3) gib2.pixel_x = round(cos(world.time * 3)) - add_overlay(gib2) - add_overlay(gib1) - add_overlay("cover-on") - + . += gib2 + . += gib1 + . += "cover-on" else if(occupant) - icon_state = "pod_1" - var/image/occupant_overlay var/completion = (flesh_number - unattached_flesh.len) / flesh_number @@ -513,15 +519,9 @@ occupant_overlay.pixel_y = 27 + round(sin(world.time) * 3) occupant_overlay.pixel_x = round(sin(world.time * 3)) - add_overlay(occupant_overlay) - add_overlay("cover-on") - else - icon_state = "pod_0" - - if(panel_open) - icon_state = "pod_0_maintenance" - - add_overlay("panel") + . += occupant_overlay + . += "cover-on" + . += "panel" /* * Manual -- A big ol' manual. diff --git a/code/game/machinery/computer/_computer.dm b/code/game/machinery/computer/_computer.dm index 2eea845c70..675fbcf288 100644 --- a/code/game/machinery/computer/_computer.dm +++ b/code/game/machinery/computer/_computer.dm @@ -7,7 +7,7 @@ idle_power_usage = 300 active_power_usage = 300 max_integrity = 200 - integrity_failure = 100 + integrity_failure = 0.5 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 40, "acid" = 20) var/brightness_on = 1 var/icon_keyboard = "generic_key" @@ -48,13 +48,13 @@ icon_state = initial(icon_state) update_icon() -/obj/machinery/computer/update_icon() - cut_overlays() +/obj/machinery/computer/update_overlays() + . = ..() SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) if(stat & NOPOWER) - add_overlay("[icon_keyboard]_off") + . += "[icon_keyboard]_off" return - add_overlay(icon_keyboard) + . += icon_keyboard // This whole block lets screens ignore lighting and be visible even in the darkest room // We can't do this for many things that emit light unfortunately because it layers over things that would be on top of it diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm index 8bb0894cdb..9ff46c021b 100644 --- a/code/game/machinery/computer/aifixer.dm +++ b/code/game/machinery/computer/aifixer.dm @@ -103,21 +103,20 @@ add_fingerprint(usr) updateUsrDialog() -/obj/machinery/computer/aifixer/update_icon() - ..() +/obj/machinery/computer/aifixer/update_overlays() + . = ..() if(stat & (NOPOWER|BROKEN)) return + if(active) + . += "ai-fixer-on" + if (occupier) + switch (occupier.stat) + if (0) + . += "ai-fixer-full" + if (2) + . += "ai-fixer-404" else - if(active) - add_overlay("ai-fixer-on") - if (occupier) - switch (occupier.stat) - if (0) - add_overlay("ai-fixer-full") - if (2) - add_overlay("ai-fixer-404") - else - add_overlay("ai-fixer-empty") + . += "ai-fixer-empty" /obj/machinery/computer/aifixer/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/aicard/card) if(!..()) diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm index 4c9e9aed19..679f112bff 100644 --- a/code/game/machinery/computer/atmos_alert.dm +++ b/code/game/machinery/computer/atmos_alert.dm @@ -78,23 +78,20 @@ update_icon() return -/obj/machinery/computer/atmos_alert/update_icon() - ..() - cut_overlays() +/obj/machinery/computer/atmos_alert/update_overlays() + . = ..() SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) var/overlay_state = icon_screen if(stat & (NOPOWER|BROKEN)) - add_overlay("[icon_keyboard]_off") + . |= "[icon_keyboard]_off" return - add_overlay(icon_keyboard) + . |= icon_keyboard if(priority_alarms.len) overlay_state = "alert:2" - add_overlay("alert:2") else if(minor_alarms.len) overlay_state = "alert:1" - add_overlay("alert:1") else overlay_state = "alert:0" - add_overlay("alert:0") + . |= overlay_state SSvis_overlays.add_vis_overlay(src, icon, overlay_state, layer, plane, dir) SSvis_overlays.add_vis_overlay(src, icon, overlay_state, ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir, alpha=128) diff --git a/code/game/machinery/computer/atmos_control.dm b/code/game/machinery/computer/atmos_control.dm index d6ce850da8..22e102b54b 100644 --- a/code/game/machinery/computer/atmos_control.dm +++ b/code/game/machinery/computer/atmos_control.dm @@ -41,7 +41,7 @@ name = "incinerator chamber gas sensor" id_tag = ATMOS_GAS_MONITOR_SENSOR_INCINERATOR -/obj/machinery/air_sensor/update_icon() +/obj/machinery/air_sensor/update_icon_state() icon_state = "gsensor[on]" /obj/machinery/air_sensor/process_atmos() diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index 211ff13486..47c761fa52 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -175,11 +175,10 @@ clockwork = TRUE //it'd look very weird light_power = 0 -/obj/machinery/computer/security/telescreen/update_icon() +/obj/machinery/computer/security/telescreen/update_icon_state() icon_state = initial(icon_state) if(stat & BROKEN) icon_state += "b" - return /obj/machinery/computer/security/telescreen/entertainment name = "entertainment monitor" diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm index e5ac9a0f78..5fe62ebb76 100644 --- a/code/game/machinery/computer/camera_advanced.dm +++ b/code/game/machinery/computer/camera_advanced.dm @@ -72,7 +72,7 @@ playsound(src, 'sound/machines/terminal_off.ogg', 25, 0) /obj/machinery/computer/camera_advanced/check_eye(mob/user) - if( (stat & (NOPOWER|BROKEN)) || (!Adjacent(user) && !user.has_unlimited_silicon_privilege) || user.eye_blind || user.incapacitated() ) + if( (stat & (NOPOWER|BROKEN)) || (!Adjacent(user) && hasSiliconAccessInArea(user)) || user.eye_blind || user.incapacitated() ) user.unset_machine() /obj/machinery/computer/camera_advanced/Destroy() diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 9d0053c9b2..5fe141d2cd 100755 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -194,7 +194,7 @@ state = STATE_CANCELSHUTTLE if("cancelshuttle2") if(authenticated) - if((world.realtime - SSshuttle.realtimeofstart) > SSshuttle.auto_call) //Citadel Edit Removing auto_call caused recall. + if(SSshuttle.endvote_passed) //Citadel Edit - endvote passing = no recalls say("Warning: Emergency shuttle recalls have been blocked by Central Command due to ongoing crew transfer procedures.") else SSshuttle.cancelEvac(usr) diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index f6d0fcfc0d..01a1d043a2 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -40,6 +40,7 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) jobs["Geneticist"] = 22 jobs["Virologist"] = 23 jobs["Medical Doctor"] = 24 + jobs["Paramedic"] = 25 jobs["Research Director"] = 30 jobs["Scientist"] = 31 jobs["Roboticist"] = 32 @@ -207,4 +208,4 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) if ("select_person") AI.ai_camera_track(params["name"]) -#undef SENSORS_UPDATE_PERIOD \ No newline at end of file +#undef SENSORS_UPDATE_PERIOD diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm index c3fef3ff92..f3e27d650e 100644 --- a/code/game/machinery/computer/station_alert.dm +++ b/code/game/machinery/computer/station_alert.dm @@ -75,25 +75,23 @@ L -= I return !cleared -/obj/machinery/computer/station_alert/update_icon() - ..() - cut_overlays() +/obj/machinery/computer/station_alert/update_overlays() + . = ..() SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) var/overlay_state = icon_screen if(stat & (NOPOWER|BROKEN)) - add_overlay("[icon_keyboard]_off") + . |= "[icon_keyboard]_off" return - add_overlay(icon_keyboard) + . |= icon_keyboard var/active_alarms = FALSE for(var/cat in alarms) - var/list/L = alarms[cat] - if(L.len) + if(length(alarms[cat])) active_alarms = TRUE + break if(active_alarms) overlay_state = "alert:2" - add_overlay("alert:2") else overlay_state = "alert:0" - add_overlay("alert:0") + . |= overlay_state SSvis_overlays.add_vis_overlay(src, icon, overlay_state, layer, plane, dir) - SSvis_overlays.add_vis_overlay(src, icon, overlay_state, ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir, alpha=128) + SSvis_overlays.add_vis_overlay(src, icon, overlay_state, ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir, alpha=128) \ No newline at end of file diff --git a/code/game/machinery/computer/telecrystalconsoles.dm b/code/game/machinery/computer/telecrystalconsoles.dm index 72c8979006..82e8f46ab6 100644 --- a/code/game/machinery/computer/telecrystalconsoles.dm +++ b/code/game/machinery/computer/telecrystalconsoles.dm @@ -44,8 +44,8 @@ GLOBAL_LIST_INIT(possible_uplinker_IDs, list("Alfa","Bravo","Charlie","Delta","E else to_chat(user, "[I] doesn't appear to be an uplink...") -/obj/machinery/computer/telecrystals/uplinker/update_icon() - ..() +/obj/machinery/computer/telecrystals/uplinker/update_overlays() + . = ..() if(uplinkholder) add_overlay("[initial(icon_state)]-closed") diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index b33b87f8b1..92927d047d 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -116,7 +116,7 @@ playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) I.forceMove(drop_location()) - if(user && Adjacent(user) && !issiliconoradminghost(user)) + if(user && Adjacent(user) && user.can_hold_items()) user.put_in_hands(I) frozen_items -= I updateUsrDialog() diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index 6b62d18d01..ea14031603 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -45,7 +45,7 @@ return return ..() -/obj/machinery/jukebox/update_icon() +/obj/machinery/jukebox/update_icon_state() if(active) icon_state = "[initial(icon_state)]-active" else diff --git a/code/game/machinery/defibrillator_mount.dm b/code/game/machinery/defibrillator_mount.dm index a1931e133a..5c13bfdf5d 100644 --- a/code/game/machinery/defibrillator_mount.dm +++ b/code/game/machinery/defibrillator_mount.dm @@ -145,7 +145,7 @@ desc = "A frame for a defibrillator mount. It can't be removed once it's placed." icon = 'icons/obj/machines/defib_mount.dmi' icon_state = "defibrillator_mount" - materials = list(MAT_METAL = 300, MAT_GLASS = 100) + custom_materials = list(/datum/material/iron = 300, /datum/material/glass = 100) w_class = WEIGHT_CLASS_BULKY result_path = /obj/machinery/defibrillator_mount pixel_shift = -28 diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index 7614630477..686b62d1c3 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -15,7 +15,7 @@ density = TRUE max_integrity = 100 var/proj_pass_rate = 50 //How many projectiles will pass the cover. Lower means stronger cover - var/material = METAL + var/bar_material = METAL /obj/structure/barricade/deconstruct(disassembled = TRUE) if(!(flags_1 & NODECONSTRUCT_1)) @@ -26,7 +26,7 @@ return /obj/structure/barricade/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/weldingtool) && user.a_intent != INTENT_HARM && material == METAL) + if(istype(I, /obj/item/weldingtool) && user.a_intent != INTENT_HARM && bar_material == METAL) if(obj_integrity < max_integrity) if(!I.tool_start_check(user, amount=0)) return @@ -61,7 +61,7 @@ desc = "This space is blocked off by a wooden barricade." icon = 'icons/obj/structures.dmi' icon_state = "woodenbarricade" - material = WOOD + bar_material = WOOD var/drop_amount = 3 /obj/structure/barricade/wooden/attackby(obj/item/I, mob/user) @@ -106,7 +106,7 @@ max_integrity = 280 proj_pass_rate = 20 pass_flags = LETPASSTHROW - material = SAND + bar_material = SAND climbable = TRUE smooth = SMOOTH_TRUE canSmoothWith = list(/obj/structure/barricade/sandbags, /turf/closed/wall, /turf/closed/wall/r_wall, /obj/structure/falsewall, /obj/structure/falsewall/reinforced, /turf/closed/wall/rust, /turf/closed/wall/r_wall/rust, /obj/structure/barricade/security) diff --git a/code/game/machinery/dna_scanner.dm b/code/game/machinery/dna_scanner.dm index 60b5a52a10..ed61e13596 100644 --- a/code/game/machinery/dna_scanner.dm +++ b/code/game/machinery/dna_scanner.dm @@ -34,7 +34,7 @@ if(scan_level >= 3) . += "Scanner has been upgraded to support autoprocessing." -/obj/machinery/dna_scannernew/update_icon() +/obj/machinery/dna_scannernew/update_icon_state() //no power or maintenance if(stat & (NOPOWER|BROKEN)) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 863f1e7b46..85063b27c5 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -47,7 +47,7 @@ icon_state = "closed" max_integrity = 300 var/normal_integrity = AIRLOCK_INTEGRITY_N - integrity_failure = 70 + integrity_failure = 0.25 damage_deflection = AIRLOCK_DAMAGE_DEFLECTION_N autoclose = TRUE secondsElectrified = 0 //How many seconds remain until the door is no longer electrified. -1 if it is permanently electrified until someone fixes it. @@ -428,7 +428,7 @@ else return FALSE -/obj/machinery/door/airlock/update_icon(state=0, override=0) +/obj/machinery/door/airlock/update_icon_state(state=0, override=0) if(operating && !override) return switch(state) @@ -469,7 +469,7 @@ panel_overlay = get_airlock_overlay("panel_closed", overlays_file) if(welded) weld_overlay = get_airlock_overlay("welded", overlays_file) - if(obj_integrity The [name] begins warming up!") say("Initializing harvest protocol.") - update_icon(TRUE) + update_icon() addtimer(CALLBACK(src, .proc/harvest), interval) /obj/machinery/harvester/proc/harvest() + warming_up = FALSE update_icon() if(!harvesting || state_open || !powered(EQUIP) || !occupant || !iscarbon(occupant)) return @@ -127,6 +130,7 @@ addtimer(CALLBACK(src, .proc/harvest), interval) /obj/machinery/harvester/proc/end_harvesting() + warming_up = FALSE harvesting = FALSE open_machine() say("Subject has been successfully harvested.") diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index f3e446c686..067f10fa0f 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -441,7 +441,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ set_light(0) update_icon() -/obj/machinery/holopad/update_icon() +/obj/machinery/holopad/update_icon_state() var/total_users = LAZYLEN(masters) + LAZYLEN(holo_calls) if(ringing) icon_state = "holopad_ringing" diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm index 6d19776d86..ad5df7cea0 100644 --- a/code/game/machinery/iv_drip.dm +++ b/code/game/machinery/iv_drip.dm @@ -24,7 +24,7 @@ QDEL_NULL(beaker) return ..() -/obj/machinery/iv_drip/update_icon() +/obj/machinery/iv_drip/update_icon_state() if(attached) if(mode) icon_state = "injecting" @@ -36,13 +36,14 @@ else icon_state = "donateidle" - cut_overlays() +/obj/machinery/iv_drip/update_overlays() + . = ..() if(beaker) if(attached) - add_overlay("beakeractive") + . += "beakeractive" else - add_overlay("beakeridle") + . += "beakeridle" if(beaker.reagents.total_volume) var/mutable_appearance/filling_overlay = mutable_appearance('icons/obj/iv_drip.dmi', "reagent") @@ -64,7 +65,7 @@ filling_overlay.icon_state = "reagent100" filling_overlay.color = mix_color_from_reagents(beaker.reagents.reagent_list) - add_overlay(filling_overlay) + . += filling_overlay /obj/machinery/iv_drip/MouseDrop(mob/living/target) . = ..() @@ -184,7 +185,7 @@ if(usr.incapacitated()) return if(beaker) - if(usr && Adjacent(usr) && !issiliconoradminghost(usr)) + if(usr && Adjacent(usr) && usr.can_hold_items()) if(!usr.put_in_hands(beaker)) beaker.forceMove(drop_location()) beaker = null @@ -227,9 +228,9 @@ desc = "An IV drip with an advanced infusion pump that can both drain blood into and inject liquids from attached containers. Blood packs are processed at an accelerated rate. This one is telescopic, and can be picked up and put down." icon_state = "iv_drip" -/obj/machinery/iv_drip/telescopic/update_icon() +/obj/machinery/iv_drip/telescopic/update_icon_state() ..() - icon_state = icon_state + "_tele" + icon_state += "_tele" /obj/machinery/iv_drip/telescopic/AltClick(mob/user) if (attached || beaker || !user.canUseTopic(src, BE_CLOSE)) diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index e14033a959..b2a35dcf41 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -23,7 +23,7 @@ on = area.lightswitch update_icon() -/obj/machinery/light_switch/update_icon() +/obj/machinery/light_switch/update_icon_state() if(stat & NOPOWER) icon_state = "light-p" else diff --git a/code/game/machinery/magnet.dm b/code/game/machinery/magnet.dm index b010f77cac..50edbe5891 100644 --- a/code/game/machinery/magnet.dm +++ b/code/game/machinery/magnet.dm @@ -49,7 +49,7 @@ update_icon() // update the icon_state -/obj/machinery/magnetic_module/update_icon() +/obj/machinery/magnetic_module/update_icon_state() var/state="floor_magnet" var/onstate="" if(!on) diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index 93c94ae8b6..766943de36 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -75,7 +75,7 @@ update_icon() // update the icon_state -/obj/machinery/navbeacon/update_icon() +/obj/machinery/navbeacon/update_icon_state() var/state="navbeacon[open]" if(invisibility) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 60085e0bf8..f07f946d0f 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -26,7 +26,7 @@ var/raising= 0 //if the turret is currently opening or closing its cover max_integrity = 160 //the turret's health - integrity_failure = 80 + integrity_failure = 0.5 armor = list("melee" = 50, "bullet" = 30, "laser" = 30, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90) var/locked = TRUE //if the turret's behaviour control access is locked @@ -99,8 +99,7 @@ if(!has_cover) INVOKE_ASYNC(src, .proc/popUp) -/obj/machinery/porta_turret/update_icon() - cut_overlays() +/obj/machinery/porta_turret/update_icon_state() if(!anchored) icon_state = "turretCover" return @@ -717,7 +716,6 @@ return 10 //Syndicate turrets shoot everything not in their faction /obj/machinery/porta_turret/syndicate/pod - integrity_failure = 20 max_integrity = 40 stun_projectile = /obj/item/projectile/bullet/syndicate_turret lethal_projectile = /obj/item/projectile/bullet/syndicate_turret @@ -799,7 +797,6 @@ /obj/machinery/porta_turret/centcom_shuttle/weak max_integrity = 120 - integrity_failure = 60 name = "Old Laser Turret" desc = "A turret built with substandard parts and run down further with age. Still capable of delivering lethal lasers to the odd space carp, but not much else." stun_projectile = /obj/item/projectile/beam/weak/penetrator @@ -972,8 +969,7 @@ ..() update_icon() -/obj/machinery/turretid/update_icon() - ..() +/obj/machinery/turretid/update_icon_state() if(stat & NOPOWER) icon_state = "control_off" else if (enabled) @@ -989,7 +985,7 @@ desc = "Used for building turret control panels." icon_state = "apc" result_path = /obj/machinery/turretid - materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/iron=MINERAL_MATERIAL_AMOUNT) /obj/item/gun/proc/get_turret_properties() . = list() diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index 29921c4584..24fd956677 100755 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -10,12 +10,14 @@ pass_flags = PASSTABLE var/obj/item/charging = null var/recharge_coeff = 1 + var/using_power = FALSE //Did we put power into "charging" last process()? var/static/list/allowed_devices = typecacheof(list( /obj/item/gun/energy, /obj/item/melee/baton, /obj/item/ammo_box/magazine/recharge, /obj/item/modular_computer, + /obj/item/twohanded/electrostaff, /obj/item/gun/ballistic/automatic/magrifle)) /obj/machinery/recharger/RefreshParts() @@ -44,9 +46,11 @@ if (new_charging) START_PROCESSING(SSmachines, src) use_power = ACTIVE_POWER_USE - update_icon(scan = TRUE) + using_power = TRUE + update_icon() else use_power = IDLE_POWER_USE + using_power = FALSE update_icon() /obj/machinery/recharger/attackby(obj/item/G, mob/user, params) @@ -119,23 +123,23 @@ if(stat & (NOPOWER|BROKEN) || !anchored) return PROCESS_KILL - var/using_power = 0 + using_power = FALSE if(charging) var/obj/item/stock_parts/cell/C = charging.get_cell() if(C) if(C.charge < C.maxcharge) C.give(C.chargerate * recharge_coeff) use_power(250 * recharge_coeff) - using_power = 1 - update_icon(using_power) + using_power = TRUE + update_icon() if(istype(charging, /obj/item/ammo_box/magazine/recharge)) var/obj/item/ammo_box/magazine/recharge/R = charging if(R.stored_ammo.len < R.max_ammo) R.stored_ammo += new R.ammo_type(R) use_power(200 * recharge_coeff) - using_power = 1 - update_icon(using_power) + using_power = TRUE + update_icon() return else return PROCESS_KILL @@ -160,20 +164,15 @@ B.cell.charge = 0 -/obj/machinery/recharger/update_icon(using_power = 0, scan) //we have an update_icon() in addition to the stuff in process to make it feel a tiny bit snappier. +/obj/machinery/recharger/update_icon_state() if(stat & (NOPOWER|BROKEN) || !anchored) icon_state = "rechargeroff" - return - if(scan) - icon_state = "rechargeroff" - return - if(panel_open) + else if(panel_open) icon_state = "rechargeropen" - return - if(charging) + else if(charging) if(using_power) icon_state = "recharger1" else icon_state = "recharger2" - return - icon_state = "recharger0" + else + icon_state = "recharger0" diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 374c0c71b9..bbafe99006 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -112,7 +112,7 @@ use_power = ACTIVE_POWER_USE add_fingerprint(occupant) -/obj/machinery/recharge_station/update_icon() +/obj/machinery/recharge_station/update_icon_state() if(is_operational()) if(state_open) icon_state = "borgcharger0" diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm index 538017eaef..a2c128437f 100644 --- a/code/game/machinery/recycler.dm +++ b/code/game/machinery/recycler.dm @@ -19,7 +19,7 @@ /obj/machinery/recycler/Initialize() AddComponent(/datum/component/butchering/recycler, 1, amount_produced,amount_produced/5) - AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE, MAT_PLASTIC), INFINITY, FALSE, null, null, null, TRUE) + AddComponent(/datum/component/material_container, list(/datum/material/iron, /datum/material/glass, /datum/material/silver, /datum/material/plasma, /datum/material/gold, /datum/material/diamond, /datum/material/plastic, /datum/material/uranium, /datum/material/bananium, /datum/material/titanium, /datum/material/bluespace), INFINITY, FALSE, null, null, null, TRUE) . = ..() update_icon() req_one_access = get_all_accesses() + get_all_centcom_access() @@ -77,8 +77,7 @@ to_chat(user, "You use the cryptographic sequencer on [src].") return TRUE -/obj/machinery/recycler/update_icon() - ..() +/obj/machinery/recycler/update_icon_state() var/is_powered = !(stat & (BROKEN|NOPOWER)) if(safety_mode) is_powered = FALSE diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index 6b191ef14d..c05fbe229c 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -60,7 +60,7 @@ GLOBAL_LIST_EMPTY(allConsoles) ..() update_icon() -/obj/machinery/requests_console/update_icon() +/obj/machinery/requests_console/update_icon_state() if(stat & NOPOWER) set_light(0) else diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index b4288310b0..c152e302fe 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -208,7 +208,7 @@ to_chat(user, "You short out the access controller.") return TRUE -/obj/machinery/shieldgen/update_icon() +/obj/machinery/shieldgen/update_icon_state() if(active) icon_state = (stat & BROKEN) ? "shieldonbr":"shieldon" else diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm index 4b73032a8a..84b205b585 100644 --- a/code/game/machinery/slotmachine.dm +++ b/code/game/machinery/slotmachine.dm @@ -26,7 +26,6 @@ var/working = 0 var/balance = 0 //How much money is in the machine, ready to be CONSUMED. var/jackpots = 0 - var/list/coinvalues = list() var/list/reels = list(list("", "", "") = 0, list("", "", "") = 0, list("", "", "") = 0, list("", "", "") = 0, list("", "", "") = 0) var/list/symbols = list(SEVEN = 1, "&" = 2, "@" = 2, "$" = 2, "?" = 2, "#" = 2, "!" = 2, "%" = 2) //if people are winning too much, multiply every number in this list by 2 and see if they are still winning too much. @@ -45,10 +44,6 @@ toggle_reel_spin(0) - for(var/cointype in typesof(/obj/item/coin)) - var/obj/item/coin/C = cointype - coinvalues["[cointype]"] = initial(C.value) - /obj/machinery/computer/slot_machine/Destroy() if(balance) give_coins(balance) @@ -61,7 +56,7 @@ money++ //SPESSH MAJICKS -/obj/machinery/computer/slot_machine/update_icon() +/obj/machinery/computer/slot_machine/update_icon_state() if(stat & NOPOWER) icon_state = "slots0" @@ -92,7 +87,7 @@ else if(!user.temporarilyRemoveItemFromInventory(C)) return - to_chat(user, "You insert a [C.cmineral] coin into [src]'s slot!") + to_chat(user, "You insert [C] into [src]'s slot!") balance += C.value qdel(C) else @@ -294,19 +289,22 @@ return amount -/obj/machinery/computer/slot_machine/proc/dispense(amount = 0, cointype = /obj/item/coin/silver, mob/living/target, throwit = 0) - var/value = coinvalues["[cointype]"] +/obj/machinery/computer/slot_machine/proc/dispense(amount = 0, cointype = /obj/item/coin/silver, mob/living/target, throwit = FALSE) + var/value = GLOB.coin_values[cointype] || GLOB.coin_values[/obj/item/coin/iron] + INVOKE_ASYNC(src, .proc/become_rich, amount, value, cointype, target, throwit) + return amount % value - - while(amount >= value) +/obj/machinery/computer/slot_machine/proc/become_rich(amount, value, cointype = /obj/item/coin/silver, mob/living/target, throwit = FALSE) + if(value <= 0) + return + while(amount >= value && !QDELETED(src)) var/obj/item/coin/C = new cointype(loc) //DOUBLE THE PAIN amount -= value if(throwit && target) C.throw_at(target, 3, 10) else random_step(C, 2, 40) - - return amount + CHECK_TICK #undef SEVEN #undef SPIN_TIME diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index 6eca52aa0e..41dfe8e3ac 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -53,17 +53,18 @@ else . += "There is no power cell installed." if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Temperature range at [settableTemperatureRange]°C.
Heating power at [heatingPower*0.001]kJ.
Power consumption at [(efficiency*-0.0025)+150]%." //100%, 75%, 50%, 25% + . += "The status display reads: Temperature range at [settableTemperatureRange]°C.
Heating power at [heatingPower*0.001]kJ.
Power consumption at [(efficiency*-0.0025)+150]%." //100%, 75%, 50%, 25% -/obj/machinery/space_heater/update_icon() +/obj/machinery/space_heater/update_icon_state() if(on) icon_state = "sheater-[mode]" else icon_state = "sheater-off" - cut_overlays() +/obj/machinery/space_heater/update_overlays() + . = ..() if(panel_open) - add_overlay("sheater-open") + . += "sheater-open" /obj/machinery/space_heater/process() if(!on || !is_operational()) diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 3a2ce43315..14fd7fbb6d 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -134,29 +134,28 @@ QDEL_NULL(storage) return ..() -/obj/machinery/suit_storage_unit/update_icon() - cut_overlays() - +/obj/machinery/suit_storage_unit/update_overlays() + . = ..() if(uv) if(uv_super) - add_overlay("super") + . += "super" else if(occupant) - add_overlay("uvhuman") + . += "uvhuman" else - add_overlay("uv") + . += "uv" else if(state_open) if(stat & BROKEN) - add_overlay("broken") + . += "broken" else - add_overlay("open") + . += "open" if(suit) - add_overlay("suit") + . += "suit" if(helmet) - add_overlay("helm") + . += "helm" if(storage) - add_overlay("storage") + . += "storage" else if(occupant) - add_overlay("human") + . += "human" /obj/machinery/suit_storage_unit/power_change() ..() diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index 221e35118e..b8d4ef26e8 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -102,7 +102,7 @@ . = ..() . += "A digital display on it reads \"[seconds_remaining()]\"." -/obj/machinery/syndicatebomb/update_icon() +/obj/machinery/syndicatebomb/update_icon_state() icon_state = "[initial(icon_state)][active ? "-active" : "-inactive"][open_panel ? "-wires" : ""]" /obj/machinery/syndicatebomb/proc/seconds_remaining() diff --git a/code/game/machinery/telecomms/machines/message_server.dm b/code/game/machinery/telecomms/machines/message_server.dm index 1960080856..a6c2a0f126 100644 --- a/code/game/machinery/telecomms/machines/message_server.dm +++ b/code/game/machinery/telecomms/machines/message_server.dm @@ -74,7 +74,7 @@ if(!relay_information(signal, /obj/machinery/telecomms/hub)) relay_information(signal, /obj/machinery/telecomms/broadcaster) -/obj/machinery/telecomms/message_server/update_icon() +/obj/machinery/telecomms/message_server/update_icon_state() if((stat & (BROKEN|NOPOWER))) icon_state = "server-nopower" else if (!toggled) diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm index 7a9f682d34..70b785ea21 100644 --- a/code/game/machinery/telecomms/telecomunications.dm +++ b/code/game/machinery/telecomms/telecomunications.dm @@ -109,7 +109,7 @@ GLOBAL_LIST_EMPTY(telecomms_list) links |= T T.links |= src -/obj/machinery/telecomms/update_icon() +/obj/machinery/telecomms/update_icon_state() if(on) if(panel_open) icon_state = "[initial(icon_state)]_o" diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index 3cc71df0f1..985c1166b7 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -85,7 +85,7 @@ calibrated = FALSE return -/obj/machinery/teleport/hub/update_icon() +/obj/machinery/teleport/hub/update_icon_state() if(panel_open) icon_state = "tele-o" else if(is_ready()) @@ -218,7 +218,7 @@ if(teleporter_hub) teleporter_hub.update_icon() -/obj/machinery/teleport/station/update_icon() +/obj/machinery/teleport/station/update_icon_state() if(panel_open) icon_state = "controller-o" else if(stat & (BROKEN|NOPOWER)) diff --git a/code/game/machinery/toylathe.dm b/code/game/machinery/toylathe.dm index ecd2132a9d..a286bcdc25 100644 --- a/code/game/machinery/toylathe.dm +++ b/code/game/machinery/toylathe.dm @@ -46,7 +46,7 @@ ) /obj/machinery/autoylathe/Initialize() - AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_PLASTIC), 0, TRUE, null, null, CALLBACK(src, .proc/AfterMaterialInsert)) + AddComponent(/datum/component/material_container, list(/datum/material/iron, /datum/material/glass, /datum/material/plastic), 0, TRUE, null, null, CALLBACK(src, .proc/AfterMaterialInsert)) . = ..() wires = new /datum/wires/autoylathe(src) @@ -120,18 +120,13 @@ return ..() -/obj/machinery/autoylathe/proc/AfterMaterialInsert(type_inserted, id_inserted, amount_inserted) - if(ispath(type_inserted, /obj/item/stack/ore/bluespace_crystal)) - use_power(amount_inserted / 10) +/obj/machinery/autoylathe/proc/AfterMaterialInsert(obj/item/item_inserted, id_inserted, amount_inserted) + if(item_inserted.custom_materials?.len && item_inserted.custom_materials[getmaterialref(/datum/material/glass)]) + flick("autolathe_r",src)//plays glass insertion animation by default otherwise else - switch(id_inserted) - if (MAT_METAL) - flick("autolathe_o",src)//plays metal insertion animation - if (MAT_GLASS) - flick("autolathe_r",src)//plays glass insertion animation - if (MAT_PLASTIC) - flick("autolathe_o",src)//plays metal insertion animation - use_power(amount_inserted / 10) + flick("autolathe_o",src)//plays metal insertion animation + + use_power(min(1000, amount_inserted / 100)) updateUsrDialog() /obj/machinery/autoylathe/Topic(href, href_list) @@ -161,18 +156,40 @@ ///////////////// var/coeff = (is_stack ? 1 : prod_coeff) //stacks are unaffected by production coefficient - var/metal_cost = being_built.materials[MAT_METAL] - var/glass_cost = being_built.materials[MAT_GLASS] - var/plastic_cost = being_built.materials[MAT_PLASTIC] - var/power = max(2000, (metal_cost+glass_cost+plastic_cost)*multiplier/5) + var/total_amount = 0 + for(var/MAT in being_built.materials) + total_amount += being_built.materials[MAT] + var/power = max(2000, (total_amount)*multiplier/5) //Change this to use all materials var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - if((materials.amount(MAT_METAL) >= metal_cost*multiplier*coeff) && (materials.amount(MAT_GLASS) >= glass_cost*multiplier*coeff) && (materials.amount(MAT_PLASTIC) >= plastic_cost*multiplier*coeff)) + + var/list/materials_used = list() + var/list/custom_materials = list() //These will apply their material effect, This should usually only be one. + + for(var/MAT in being_built.materials) + var/datum/material/used_material = MAT + var/amount_needed = being_built.materials[MAT] * coeff * multiplier + if(istext(used_material)) //This means its a category + var/list/list_to_show = list() + for(var/i in SSmaterials.materials_by_category[used_material]) + if(materials.materials[i] > 0) + list_to_show += i + + used_material = input("Choose [used_material]", "Custom Material") as null|anything in list_to_show + if(!used_material) + return //Didn't pick any material, so you can't build shit either. + custom_materials[used_material] += amount_needed + + materials_used[used_material] = amount_needed + + if(materials.has_materials(materials_used)) busy = TRUE use_power(power) icon_state = "autolathe_n" var/time = is_stack ? 32 : 32*coeff*multiplier - addtimer(CALLBACK(src, .proc/make_item, power, metal_cost, glass_cost, plastic_cost, multiplier, coeff, is_stack), time) + addtimer(CALLBACK(src, .proc/make_item, power, materials_used, custom_materials, multiplier, coeff, is_stack), time) + else + to_chat(usr, "Not enough materials for this operation.") if(href_list["search"]) matching_designs.Cut() @@ -189,12 +206,11 @@ return -/obj/machinery/autoylathe/proc/make_item(power, metal_cost, glass_cost, plastic_cost, multiplier, coeff, is_stack) +/obj/machinery/autoylathe/proc/make_item(power, list/materials_used, list/picked_materials, multiplier, coeff, is_stack) var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) var/atom/A = drop_location() use_power(power) - var/list/materials_used = list(MAT_METAL=metal_cost*coeff*multiplier, MAT_GLASS=glass_cost*coeff*multiplier, MAT_PLASTIC=plastic_cost*coeff*multiplier) - materials.use_amount(materials_used) + materials.use_materials(materials_used) if(is_stack) var/obj/item/stack/N = new being_built.build_path(A, multiplier) @@ -203,10 +219,9 @@ else for(var/i=1, i<=multiplier, i++) var/obj/item/new_item = new being_built.build_path(A) - new_item.materials = new_item.materials.Copy() - for(var/mat in materials_used) - new_item.materials[mat] = materials_used[mat] / multiplier new_item.autoylathe_crafted(src) + if(length(picked_materials)) + new_item.set_custom_materials(picked_materials, 1 / multiplier) //Ensure we get the non multiplied amount icon_state = "autolathe" busy = FALSE updateDialog() @@ -265,7 +280,9 @@ if(ispath(D.build_path, /obj/item/stack)) var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - var/max_multiplier = min(D.maxstack, D.materials[MAT_METAL] ?round(materials.amount(MAT_METAL)/D.materials[MAT_METAL]):INFINITY,D.materials[MAT_GLASS] ?round(materials.amount(MAT_GLASS)/D.materials[MAT_GLASS]):INFINITY,D.materials[MAT_PLASTIC] ?round(materials.amount(MAT_PLASTIC)/D.materials[MAT_PLASTIC]):INFINITY) + var/max_multiplier + for(var/datum/material/mat in D.materials) + max_multiplier = min(D.maxstack, round(materials.get_material_amount(mat)/D.materials[mat])) if (max_multiplier>10 && !disabled) dat += " x10" if (max_multiplier>25 && !disabled) @@ -297,7 +314,9 @@ if(ispath(D.build_path, /obj/item/stack)) var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - var/max_multiplier = min(D.maxstack, D.materials[MAT_METAL] ?round(materials.amount(MAT_METAL)/D.materials[MAT_METAL]):INFINITY,D.materials[MAT_GLASS] ?round(materials.amount(MAT_GLASS)/D.materials[MAT_GLASS]):INFINITY,D.materials[MAT_PLASTIC] ?round(materials.amount(MAT_PLASTIC)/D.materials[MAT_PLASTIC]):INFINITY) + var/max_multiplier + for(var/datum/material/mat in D.materials) + max_multiplier = min(D.maxstack, round(materials.get_material_amount(mat)/D.materials[mat])) if (max_multiplier>10 && !disabled) dat += " x10" if (max_multiplier>25 && !disabled) @@ -314,8 +333,10 @@ var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) var/dat = "Total amount: [materials.total_amount] / [materials.max_amount] cm3
" for(var/mat_id in materials.materials) - var/datum/material/M = materials.materials[mat_id] - dat += "[M.name] amount: [M.amount] cm3
" + var/datum/material/M = mat_id + var/mineral_amount = materials.materials[mat_id] + if(mineral_amount > 0) + dat += "[M.name] amount: [mineral_amount] cm3
" return dat /obj/machinery/autoylathe/proc/can_build(datum/design/D, amount = 1) @@ -324,24 +345,24 @@ var/coeff = (ispath(D.build_path, /obj/item/stack) ? 1 : prod_coeff) + var/list/required_materials = list() + + for(var/i in D.materials) + required_materials[i] = D.materials[i] * coeff * amount + var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - if(D.materials[MAT_METAL] && (materials.amount(MAT_METAL) < (D.materials[MAT_METAL] * coeff * amount))) - return FALSE - if(D.materials[MAT_GLASS] && (materials.amount(MAT_GLASS) < (D.materials[MAT_GLASS] * coeff * amount))) - return FALSE - if(D.materials[MAT_PLASTIC] && (materials.amount(MAT_PLASTIC) < (D.materials[MAT_PLASTIC] * coeff * amount))) - return FALSE - return TRUE + + return materials.has_materials(required_materials) /obj/machinery/autoylathe/proc/get_design_cost(datum/design/D) var/coeff = (ispath(D.build_path, /obj/item/stack) ? 1 : prod_coeff) var/dat - if(D.materials[MAT_METAL]) - dat += "[D.materials[MAT_METAL] * coeff] metal " - if(D.materials[MAT_GLASS]) - dat += "[D.materials[MAT_GLASS] * coeff] glass " - if(D.materials[MAT_PLASTIC]) - dat += "[D.materials[MAT_PLASTIC] * coeff] plastic" + for(var/i in D.materials) + if(istext(i)) //Category handling + dat += "[D.materials[i] * coeff] [i]" + else + var/datum/material/M = i + dat += "[D.materials[i] * coeff] [M.name] " return dat /obj/machinery/autoylathe/proc/reset(wire) diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm index 4ed2473260..a2d4b9eb7e 100644 --- a/code/game/machinery/transformer.dm +++ b/code/game/machinery/transformer.dm @@ -38,8 +38,7 @@ ..() update_icon() -/obj/machinery/transformer/update_icon() - ..() +/obj/machinery/transformer/update_icon_state() if(stat & (BROKEN|NOPOWER) || cooldown == 1) icon_state = "separator-AO0" else diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index b5eed68ab0..ff5ba14810 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -199,8 +199,7 @@ -/obj/machinery/washing_machine/update_icon() - cut_overlays() +/obj/machinery/washing_machine/update_icon_state() if(busy) icon_state = "wm_running_[bloody_mess]" else if(bloody_mess) @@ -208,8 +207,11 @@ else var/full = contents.len ? 1 : 0 icon_state = "wm_[state_open]_[full]" + +/obj/machinery/washing_machine/update_overlays() + . = ..() if(panel_open) - add_overlay("wm_panel") + . += "wm_panel" /obj/machinery/washing_machine/attackby(obj/item/W, mob/user, params) if(panel_open && !busy && default_unfasten_wrench(user, W)) diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm index 1595c4bb07..5f6b709d1a 100644 --- a/code/game/mecha/equipment/tools/medical_tools.dm +++ b/code/game/mecha/equipment/tools/medical_tools.dm @@ -527,7 +527,8 @@ range = MELEE|RANGED equip_cooldown = 0 var/obj/item/gun/medbeam/mech/medigun - materials = list(MAT_METAL = 15000, MAT_GLASS = 8000, MAT_PLASMA = 3000, MAT_GOLD = 8000, MAT_DIAMOND = 2000) + custom_materials = list(/datum/material/iron = 15000, /datum/material/glass = 8000, /datum/material/plasma = 3000, /datum/material/gold = 8000, /datum/material/diamond = 2000) + material_flags = MATERIAL_NO_EFFECTS /obj/item/mecha_parts/mecha_equipment/medical/mechmedbeam/Initialize() . = ..() diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm index 70f4af8f7f..38ef518f49 100644 --- a/code/game/mecha/equipment/tools/other_tools.dm +++ b/code/game/mecha/equipment/tools/other_tools.dm @@ -388,7 +388,7 @@ /obj/item/mecha_parts/mecha_equipment/generator/get_equip_info() var/output = ..() if(output) - return "[output] \[[fuel]: [round(fuel.amount*fuel.perunit,0.1)] cm3\] - [equip_ready?"A":"Dea"]ctivate" + return "[output] \[[fuel]: [round(fuel.amount*fuel.mats_per_stack,0.1)] cm3\] - [equip_ready?"A":"Dea"]ctivate" /obj/item/mecha_parts/mecha_equipment/generator/action(target) if(chassis) @@ -398,9 +398,9 @@ /obj/item/mecha_parts/mecha_equipment/generator/proc/load_fuel(var/obj/item/stack/sheet/P) if(P.type == fuel.type && P.amount > 0) - var/to_load = max(max_fuel - fuel.amount*fuel.perunit,0) + var/to_load = max(max_fuel - fuel.amount*fuel.mats_per_stack,0) if(to_load) - var/units = min(max(round(to_load / P.perunit),1),P.amount) + var/units = min(max(round(to_load / P.mats_per_stack),1),P.amount) fuel.amount += units P.use(units) occupant_message("[units] unit\s of [fuel] successfully loaded.") @@ -454,7 +454,7 @@ if(cur_charge < chassis.cell.maxcharge) use_fuel = fuel_per_cycle_active chassis.give_power(power_per_cycle) - fuel.amount -= min(use_fuel/fuel.perunit,fuel.amount) + fuel.amount -= min(use_fuel/fuel.mats_per_stack,fuel.amount) update_equip_info() return 1 diff --git a/code/game/mecha/mech_bay.dm b/code/game/mecha/mech_bay.dm index facf687cc4..bcf1b948e2 100644 --- a/code/game/mecha/mech_bay.dm +++ b/code/game/mecha/mech_bay.dm @@ -128,11 +128,11 @@ else recharge_port = null -/obj/machinery/computer/mech_bay_power_console/update_icon() - ..() +/obj/machinery/computer/mech_bay_power_console/update_overlays() + . = ..() if(!recharge_port || !recharge_port.recharging_mech || !recharge_port.recharging_mech.cell || !(recharge_port.recharging_mech.cell.charge < recharge_port.recharging_mech.cell.maxcharge) || stat & (NOPOWER|BROKEN)) return - add_overlay("recharge_comp_on") + . += "recharge_comp_on" /obj/machinery/computer/mech_bay_power_console/Initialize() . = ..() diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 442e4f5464..f9b8f31bca 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -36,7 +36,7 @@ /obj/machinery/mecha_part_fabricator/Initialize() var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, - list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), 0, + list(/datum/material/iron, /datum/material/glass, /datum/material/silver, /datum/material/gold, /datum/material/diamond, /datum/material/plasma, /datum/material/uranium, /datum/material/bananium, /datum/material/titanium, /datum/material/bluespace), 0, TRUE, /obj/item/stack, CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert)) materials.precise_insertion = TRUE stored_research = new @@ -109,7 +109,8 @@ var/i = 0 var/output for(var/c in D.materials) - output += "[i?" | ":null][get_resource_cost_w_coeff(D, c)] [material2name(c)]" + var/datum/material/M = c + output += "[i?" | ":null][get_resource_cost_w_coeff(D, M)] [M.name]" i++ return output @@ -117,20 +118,22 @@ var/output var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) for(var/mat_id in materials.materials) - var/datum/material/M = materials.materials[mat_id] - output += "[M.name]: [M.amount] cm³" - if(M.amount >= MINERAL_MATERIAL_AMOUNT) - output += "- Remove \[1\]" - if(M.amount >= (MINERAL_MATERIAL_AMOUNT * 10)) - output += " | \[10\]" - output += " | \[All\]" + var/datum/material/M = mat_id + var/amount = materials.materials[mat_id] + output += "[M.name]: [amount] cm³" + if(amount >= MINERAL_MATERIAL_AMOUNT) + output += "- Remove \[1\]" + if(amount >= (MINERAL_MATERIAL_AMOUNT * 10)) + output += " | \[10\]" + output += " | \[All\]" output += "
" return output /obj/machinery/mecha_part_fabricator/proc/get_resources_w_coeff(datum/design/D) var/list/resources = list() for(var/R in D.materials) - resources[R] = get_resource_cost_w_coeff(D, R) + var/datum/material/M = R + resources[M] = get_resource_cost_w_coeff(D, M) return resources /obj/machinery/mecha_part_fabricator/proc/check_resources(datum/design/D) @@ -147,7 +150,7 @@ var/list/res_coef = get_resources_w_coeff(D) var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - materials.use_amount(res_coef) + materials.use_materials(res_coef) add_overlay("fab-active") use_power = ACTIVE_POWER_USE updateUsrDialog() @@ -158,7 +161,8 @@ var/location = get_step(src,(dir)) var/obj/item/I = new D.build_path(location) - I.materials = res_coef + I.material_flags |= MATERIAL_NO_EFFECTS //Find a better way to do this. + I.set_custom_materials(res_coef) say("\The [I] is complete.") being_built = null @@ -251,7 +255,7 @@ updateUsrDialog() return -/obj/machinery/mecha_part_fabricator/proc/get_resource_cost_w_coeff(datum/design/D, resource, roundto = 1) +/obj/machinery/mecha_part_fabricator/proc/get_resource_cost_w_coeff(datum/design/D, var/datum/material/resource, roundto = 1) return round(D.materials[resource]*component_coeff, roundto) /obj/machinery/mecha_part_fabricator/proc/get_construction_time_w_coeff(datum/design/D, roundto = 1) //aran @@ -390,7 +394,8 @@ if(href_list["remove_mat"] && href_list["material"]) var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - materials.retrieve_sheets(text2num(href_list["remove_mat"]), href_list["material"]) + var/datum/material/Mat = locate(href_list["material"]) + materials.retrieve_sheets(text2num(href_list["remove_mat"]), Mat) updateUsrDialog() return @@ -400,10 +405,10 @@ materials.retrieve_all() ..() -/obj/machinery/mecha_part_fabricator/proc/AfterMaterialInsert(type_inserted, id_inserted, amount_inserted) - var/stack_name = material2name(id_inserted) - add_overlay("fab-load-[stack_name]") - addtimer(CALLBACK(src, /atom/proc/cut_overlay, "fab-load-[stack_name]"), 10) +/obj/machinery/mecha_part_fabricator/proc/AfterMaterialInsert(item_inserted, id_inserted, amount_inserted) + var/datum/material/M = id_inserted + add_overlay("fab-load-[M.name]") + addtimer(CALLBACK(src, /atom/proc/cut_overlay, "fab-load-[M.name]"), 10) updateUsrDialog() /obj/machinery/mecha_part_fabricator/attackby(obj/item/W, mob/user, params) @@ -415,9 +420,6 @@ return ..() -/obj/machinery/mecha_part_fabricator/proc/material2name(ID) - return copytext_char(ID,2) - /obj/machinery/mecha_part_fabricator/proc/is_insertion_ready(mob/user) if(panel_open) to_chat(user, "You can't load [src] while it's opened!") diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index 845b208db1..5f54f0c93d 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -45,16 +45,6 @@ ..() update_icon() -/obj/mecha/working/ripley/update_icon() - ..() - var/datum/component/armor_plate/C = GetComponent(/datum/component/armor_plate) - if (C.amount) - cut_overlays() - if(C.amount < 3) - add_overlay(occupant ? "ripley-g" : "ripley-g-open") - else - add_overlay(occupant ? "ripley-g-full" : "ripley-g-full-open") - /obj/mecha/working/ripley/Initialize() . = ..() AddComponent(/datum/component/armor_plate,3,/obj/item/stack/sheet/animalhide/goliath_hide,list("melee" = 10, "bullet" = 5, "laser" = 5)) diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 7a45bdcf0c..97edd35581 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -151,6 +151,10 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark) name = "Medical Doctor" icon_state = "Medical Doctor" +/obj/effect/landmark/start/paramedic + name = "Paramedic" + icon_state = "Paramedic" + /obj/effect/landmark/start/scientist name = "Scientist" icon_state = "Scientist" @@ -502,8 +506,3 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/start/new_player) /obj/effect/landmark/stationroom/box/engine/New() . = ..() templates = CONFIG_GET(keyed_list/box_random_engine) - -// Landmark for the mining station -/obj/effect/landmark/stationroom/lavaland/station - templates = list("Public Mining Base" = 3) - icon = 'icons/rooms/Lavaland/Mining.dmi' diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm index cdf6b77a76..53adc46239 100644 --- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm +++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm @@ -139,13 +139,6 @@ /obj/effect/temp_visual/dir_setting/curse/hand icon_state = "cursehand" -/obj/effect/temp_visual/dir_setting/curse/hand/Initialize(mapload, set_dir, handedness) - . = ..() - update_icon() - -/obj/item/projectile/curse_hand/update_icon() - icon_state = "[icon_state][handedness]" - /obj/effect/temp_visual/wizard name = "water" icon = 'icons/mob/mob.dmi' @@ -474,7 +467,7 @@ else update_icon() -/obj/effect/constructing_effect/update_icon() +/obj/effect/constructing_effect/update_icon_state() icon_state = "rcd" if (delay < 10) icon_state += "_shortest" diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index cdd0cf3966..8dfb36ce8a 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -68,7 +68,6 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) var/equip_delay_other = 20 //In deciseconds, how long an item takes to put on another person var/strip_delay = 40 //In deciseconds, how long an item takes to remove from another person var/breakouttime = 0 - var/list/materials var/reskinned = FALSE var/list/attack_verb //Used in attackby() to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]" @@ -112,8 +111,6 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) /obj/item/Initialize() - materials = typelist("materials", materials) - if (attack_verb) attack_verb = typelist("attack_verb", attack_verb) @@ -233,9 +230,9 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) // Extractable materials. Only shows the names, not the amounts. research_msg += ".
Extractable materials: " - if (materials.len) + if (length(custom_materials)) sep = "" - for(var/mat in materials) + for(var/mat in custom_materials) research_msg += sep research_msg += CallMaterialName(mat) sep = ", " diff --git a/code/game/objects/items/AI_modules.dm b/code/game/objects/items/AI_modules.dm index d1ac96acf2..59dd420d23 100644 --- a/code/game/objects/items/AI_modules.dm +++ b/code/game/objects/items/AI_modules.dm @@ -22,7 +22,7 @@ AI MODULES throw_range = 7 var/list/laws = list() var/bypass_law_amt_check = 0 - materials = list(MAT_GOLD=50) + custom_materials = list(/datum/material/gold=50) /obj/item/aiModule/examine(var/mob/user as mob) . = ..() @@ -369,7 +369,7 @@ AI MODULES if(!targName) return subject = targName - laws = list("You may not injure a [subject] or, through inaction, allow a [subject] to come to harm.",\ + laws = list("You may not injure a [subject] or cause one to come to harm.",\ "You must obey orders given to you by [subject]s, except where such orders would conflict with the First Law.",\ "You must protect your own existence as long as such does not conflict with the First or Second Law.") ..() diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index 3f57fa7cdf..d248556a9c 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -22,7 +22,7 @@ RLD throw_speed = 3 throw_range = 5 w_class = WEIGHT_CLASS_NORMAL - materials = list(MAT_METAL=100000) + custom_materials = list(/datum/material/iron=100000) req_access_txt = "11" armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) resistance_flags = FIRE_PROOF @@ -196,7 +196,7 @@ RLD /obj/item/construction/rcd/verb/change_airlock_access(mob/user) - if (!ishuman(user) && !user.has_unlimited_silicon_privilege) + if (!ishuman(user) && !user.silicon_privileges) return var/t1 = "" @@ -552,8 +552,8 @@ RLD explosion(src, 0, 0, 3, 1, flame_range = 1) qdel(src) -/obj/item/construction/rcd/update_icon() - ..() +/obj/item/construction/rcd/update_overlays() + . = ..() if(has_ammobar) var/ratio = CEILING((matter / max_matter) * ammo_sections, 1) cut_overlays() //To prevent infinite stacking of overlays @@ -603,7 +603,7 @@ RLD energyfactor = 66 /obj/item/construction/rcd/loaded - materials = list(MAT_METAL=48000, MAT_GLASS=32000) + custom_materials = list(/datum/material/iron = 48000, /datum/material/glass = 32000) matter = 160 /obj/item/construction/rcd/loaded/upgraded @@ -635,13 +635,13 @@ RLD item_state = "rcdammo" lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' - materials = list(MAT_METAL=12000, MAT_GLASS=8000) + custom_materials = list(/datum/material/iron=12000, /datum/material/glass=8000) var/ammoamt = 40 /obj/item/rcd_ammo/large name = "large compressed matter cartridge" desc = "Highly compressed matter for the RCD. Has four times the matter packed into the same space as a normal cartridge." - materials = list(MAT_METAL=48000, MAT_GLASS=32000) + custom_materials = list(/datum/material/iron=48000, /datum/material/glass=32000) ammoamt = 160 @@ -707,11 +707,10 @@ RLD else ..() -/obj/item/construction/rld/update_icon() - ..() +/obj/item/construction/rld/update_overlays() + . = ..() var/ratio = CEILING((matter / max_matter) * ammo_sections, 1) - cut_overlays() //To prevent infinite stacking of overlays - add_overlay("rld_light[ratio]") + . += "rld_light[ratio]" /obj/item/construction/rld/attack_self(mob/user) ..() diff --git a/code/game/objects/items/RCL.dm b/code/game/objects/items/RCL.dm index 0eb97a8dee..e4c7382b3b 100644 --- a/code/game/objects/items/RCL.dm +++ b/code/game/objects/items/RCL.dm @@ -23,6 +23,10 @@ var/datum/radial_menu/persistent/wiring_gui_menu var/mob/listeningTo +/obj/item/twohanded/rcl/ComponentInitialize() + . = ..() + AddElement(/datum/element/update_icon_updates_onmob) + /obj/item/twohanded/rcl/attackby(obj/item/W, mob/user) if(istype(W, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = W @@ -90,34 +94,20 @@ QDEL_NULL(wiring_gui_menu) return ..() -/obj/item/twohanded/rcl/update_icon() - if(!loaded) - icon_state = "rcl-empty" - item_state = "rcl-empty" +/obj/item/twohanded/rcl/update_icon_state() + icon_state = initial(icon_state) + item_state = initial(item_state) + if(!loaded || !loaded.amount) + icon_state += "-empty" + item_state += "-0" + +/obj/item/twohanded/rcl/update_overlays() + . = ..() + if(!loaded || !loaded.amount) return - cut_overlays() - var/cable_amount = 0 - switch(loaded.amount) - if(61 to INFINITY) - cable_amount = 3 - if(31 to 60) - cable_amount = 2 - if(1 to 30) - cable_amount = 1 - else - cable_amount = 0 - - var/mutable_appearance/cable_overlay = mutable_appearance(icon, "rcl-[cable_amount]") + var/mutable_appearance/cable_overlay = mutable_appearance(icon, "rcl-[max(CEILING(loaded.amount/(max_amount/3), 1), 3)]") cable_overlay.color = GLOB.cable_colors[colors[current_color_index]] - if(cable_amount >= 1) - icon_state = "rcl" - item_state = "rcl" - add_overlay(cable_overlay) - else - icon_state = "rcl-empty" - item_state = "rcl-0" - add_overlay(cable_overlay) - + . += cable_overlay /obj/item/twohanded/rcl/proc/is_empty(mob/user, loud = 1) update_icon() @@ -323,33 +313,6 @@ obj/item/twohanded/rcl/proc/getMobhook(mob/to_hook) actions_types = list() max_amount = 30 name = "makeshift rapid cable layer" + icon_state = "rclg" + item_state = "rclg" ghetto = TRUE - -/obj/item/twohanded/rcl/ghetto/update_icon() - if(!loaded) - icon_state = "rclg-empty" - item_state = "rclg-0" - return - cut_overlays() - var/cable_amount = 0 - switch(loaded.amount) - if(20 to INFINITY) - cable_amount = 3 - if(10 to 19) - cable_amount = 2 - if(1 to 9) - cable_amount = 1 - else - cable_amount = 0 - - var/mutable_appearance/cable_overlay = mutable_appearance(icon, "rcl-[cable_amount]") - cable_overlay.color = GLOB.cable_colors[colors[current_color_index]] - if(cable_amount >= 1) - icon_state = "rclg" - item_state = "rclg" - add_overlay(cable_overlay) - else - icon_state = "rclg-empty" - item_state = "rclg-0" - add_overlay(cable_overlay) - diff --git a/code/game/objects/items/RPD.dm b/code/game/objects/items/RPD.dm index 8b8a02d190..665082d1d2 100644 --- a/code/game/objects/items/RPD.dm +++ b/code/game/objects/items/RPD.dm @@ -188,7 +188,7 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( throw_speed = 1 throw_range = 5 w_class = WEIGHT_CLASS_NORMAL - materials = list(MAT_METAL=75000, MAT_GLASS=37500) + custom_materials = list(/datum/material/iron=75000, /datum/material/glass=37500) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) resistance_flags = FIRE_PROOF var/datum/effect_system/spark_spread/spark_system diff --git a/code/game/objects/items/airlock_painter.dm b/code/game/objects/items/airlock_painter.dm index b7c76cad2d..45fea91e49 100644 --- a/code/game/objects/items/airlock_painter.dm +++ b/code/game/objects/items/airlock_painter.dm @@ -7,7 +7,7 @@ w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=50, MAT_GLASS=50) + custom_materials = list(/datum/material/iron=50, /datum/material/glass=50) flags_1 = CONDUCT_1 item_flags = NOBLUDGEON diff --git a/code/game/objects/items/apc_frame.dm b/code/game/objects/items/apc_frame.dm index c725148d9a..3b1d9a8096 100644 --- a/code/game/objects/items/apc_frame.dm +++ b/code/game/objects/items/apc_frame.dm @@ -1,6 +1,6 @@ /obj/item/wallframe icon = 'icons/obj/wallframe.dmi' - materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT*2) + custom_materials = list(/datum/material/iron=MINERAL_MATERIAL_AMOUNT*2) flags_1 = CONDUCT_1 item_state = "syringe_kit" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' @@ -66,8 +66,8 @@ if(iswallturf(T)) T.attackby(src, user, params) - var/metal_amt = round(materials[MAT_METAL]/MINERAL_MATERIAL_AMOUNT) - var/glass_amt = round(materials[MAT_GLASS]/MINERAL_MATERIAL_AMOUNT) + var/metal_amt = round(custom_materials[getmaterialref(/datum/material/iron)]/MINERAL_MATERIAL_AMOUNT) + var/glass_amt = round(custom_materials[getmaterialref(/datum/material/glass)]/MINERAL_MATERIAL_AMOUNT) if(istype(W, /obj/item/wrench) && (metal_amt || glass_amt)) to_chat(user, "You dismantle [src].") @@ -119,5 +119,5 @@ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' flags_1 = CONDUCT_1 w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=50, MAT_GLASS=50) + custom_materials = list(/datum/material/iron=50, /datum/material/glass=50) grind_results = list(/datum/reagent/iron = 10, /datum/reagent/silicon = 10) diff --git a/code/game/objects/items/balls.dm b/code/game/objects/items/balls.dm index 59b47bacbd..c24f58208b 100644 --- a/code/game/objects/items/balls.dm +++ b/code/game/objects/items/balls.dm @@ -20,7 +20,7 @@ throw_range = 14 w_class = WEIGHT_CLASS_SMALL -/obj/item/toy/tennis/pre_altattackby(atom/A, mob/living/user, params) //checks if it can do right click memes +/obj/item/toy/tennis/alt_pre_attack(atom/A, mob/living/user, params) //checks if it can do right click memes altafterattack(A, user, TRUE, params) return TRUE diff --git a/code/game/objects/items/boombox.dm b/code/game/objects/items/boombox.dm index 3b93480e43..49e2375c1a 100644 --- a/code/game/objects/items/boombox.dm +++ b/code/game/objects/items/boombox.dm @@ -37,7 +37,7 @@ SSjukeboxes.removejukebox(SSjukeboxes.findjukeboxindex(src)) . = ..() -/obj/item/boombox/update_icon() +/obj/item/boombox/update_icon_state() icon_state = "[baseiconstate]_[boomingandboxing ? "on" : "off"]" return @@ -48,8 +48,11 @@ baseiconstate = "raiqbawks" availabletrackids = list("hotline.ogg","chiptune.ogg","genesis.ogg") -/obj/item/boombox/raiq/update_icon() +/obj/item/boombox/raiq/Initialize() . = ..() + RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, .proc/start_party) + +/obj/item/boombox/raiq/proc/start_party() if(boomingandboxing) START_PROCESSING(SSobj, src) else @@ -58,4 +61,3 @@ /obj/item/boombox/raiq/process() set_light(5,0.95,pick("#d87aff","#7a7aff","#89ecff","#b88eff","#ff59ad")) - return diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm index 78be7f78e8..11ab008c41 100644 --- a/code/game/objects/items/candle.dm +++ b/code/game/objects/items/candle.dm @@ -19,7 +19,7 @@ if(start_lit) light() -/obj/item/candle/update_icon() +/obj/item/candle/update_icon_state() icon_state = "candle[(wax > 400) ? ((wax > 750) ? 1 : 2) : 3][lit ? "_lit" : ""]" /obj/item/candle/attackby(obj/item/W, mob/user, params) diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 4de3e4ff96..20e0b09d26 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -40,13 +40,13 @@ .=..() update_icon() -/obj/item/card/data/update_icon() - cut_overlays() +/obj/item/card/data/update_overlays() + . = ..() if(detail_color == COLOR_FLOORTILE_GRAY) return var/mutable_appearance/detail_overlay = mutable_appearance('icons/obj/card.dmi', "[icon_state]-color") detail_overlay.color = detail_color - add_overlay(detail_overlay) + . += detail_overlay /obj/item/card/data/attackby(obj/item/I, mob/living/user) if(istype(I, /obj/item/integrated_electronics/detailer)) @@ -517,10 +517,16 @@ update_label("John Doe", "Clowny") //Polychromatic Knight Badge /obj/item/card/id/knight - var/id_color = "#00FF00" //defaults to green name = "knight badge" icon_state = "knight" desc = "A badge denoting the owner as a knight! It has a strip for swiping like an ID" + var/id_color = "#00FF00" //defaults to green + var/mutable_appearance/id_overlay + +/obj/item/card/id/knight/Initialize() + . = ..() + id_overlay = mutable_appearance(icon, "knight_overlay") + update_icon() /obj/item/card/id/knight/update_label(newname, newjob) if(newname || newjob) @@ -529,14 +535,10 @@ update_label("John Doe", "Clowny") name = "[(!registered_name) ? "knight badge" : "[registered_name]'s Knight Badge"][(!assignment) ? "" : " ([assignment])"]" -/obj/item/card/id/knight/update_icon() - var/mutable_appearance/id_overlay = mutable_appearance(icon, "knight_overlay") - - if(id_color) - id_overlay.color = id_color - cut_overlays() - - add_overlay(id_overlay) +/obj/item/card/id/knight/update_overlays() + . = ..() + id_overlay.color = id_color + . += id_overlay /obj/item/card/id/knight/AltClick(mob/living/user) . = ..() @@ -556,10 +558,6 @@ update_label("John Doe", "Clowny") update_icon() return TRUE -/obj/item/card/id/knight/Initialize() - . = ..() - update_icon() - /obj/item/card/id/knight/examine(mob/user) . = ..() . += "Alt-click to recolor it." diff --git a/code/game/objects/items/chrono_eraser.dm b/code/game/objects/items/chrono_eraser.dm index 2dcb495701..7b8c53484a 100644 --- a/code/game/objects/items/chrono_eraser.dm +++ b/code/game/objects/items/chrono_eraser.dm @@ -65,8 +65,9 @@ TED = new(src.loc) return INITIALIZE_HINT_QDEL -/obj/item/gun/energy/chrono_gun/update_icon() - return +/obj/item/gun/energy/chrono_gun/ComponentInitialize() + . = ..() + AddElement(/datum/element/update_icon_blocker) /obj/item/gun/energy/chrono_gun/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) if(field) diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index cd163e90a4..ac666f04db 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -522,11 +522,13 @@ CIGARETTE PACKETS ARE IN FANCY.DM user.visible_message("[user] begins whacking [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") return BRUTELOSS -/obj/item/lighter/update_icon() - cut_overlays() - var/mutable_appearance/lighter_overlay = mutable_appearance(icon,"lighter_overlay_[overlay_state][lit ? "-on" : ""]") +/obj/item/lighter/update_icon_state() icon_state = "[initial(icon_state)][lit ? "-on" : ""]" - add_overlay(lighter_overlay) + +/obj/item/lighter/update_overlays() + . = ..() + var/mutable_appearance/lighter_overlay = mutable_appearance(icon,"lighter_overlay_[overlay_state][lit ? "-on" : ""]") + . += lighter_overlay /obj/item/lighter/ignition_effect(atom/A, mob/user) if(get_temperature()) @@ -645,12 +647,14 @@ CIGARETTE PACKETS ARE IN FANCY.DM lighter_color = pick(color_list) update_icon() -/obj/item/lighter/greyscale/update_icon() - cut_overlays() - var/mutable_appearance/lighter_overlay = mutable_appearance(icon,"lighter_overlay_[overlay_state][lit ? "-on" : ""]") +/obj/item/lighter/greyscale/update_icon_state() icon_state = "[initial(icon_state)][lit ? "-on" : ""]" + +/obj/item/lighter/greyscale/update_overlays() + . = ..() + var/mutable_appearance/lighter_overlay = mutable_appearance(icon,"lighter_overlay_[overlay_state][lit ? "-on" : ""]") lighter_overlay.color = lighter_color - add_overlay(lighter_overlay) + . += lighter_overlay /obj/item/lighter/greyscale/ignition_effect(atom/A, mob/user) if(get_temperature()) diff --git a/code/game/objects/items/circuitboards/circuitboard.dm b/code/game/objects/items/circuitboards/circuitboard.dm index 5f87f9ffd9..6dc5db970d 100644 --- a/code/game/objects/items/circuitboards/circuitboard.dm +++ b/code/game/objects/items/circuitboards/circuitboard.dm @@ -10,7 +10,7 @@ item_state = "electronic" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - materials = list(MAT_GLASS=1000) + custom_materials = list(/datum/material/glass=1000) w_class = WEIGHT_CLASS_SMALL grind_results = list(/datum/reagent/silicon = 20) var/build_path = null diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 49f8a90901..f81268f1dc 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -577,8 +577,8 @@ new /obj/item/toy/crayon/black(src) update_icon() -/obj/item/storage/crayons/update_icon() - cut_overlays() +/obj/item/storage/crayons/update_overlays() + . = ..() for(var/obj/item/toy/crayon/crayon in contents) add_overlay(mutable_appearance('icons/obj/crayons.dmi', crayon.item_color)) @@ -735,13 +735,15 @@ . = ..() -/obj/item/toy/crayon/spraycan/update_icon() +/obj/item/toy/crayon/spraycan/update_icon_state() icon_state = is_capped ? icon_capped : icon_uncapped + +/obj/item/toy/crayon/spraycan/update_overlays() + . = ..() if(use_overlays) - cut_overlays() var/mutable_appearance/spray_overlay = mutable_appearance('icons/obj/crayons.dmi', "[is_capped ? "spraycan_cap_colors" : "spraycan_colors"]") spray_overlay.color = paint_color - add_overlay(spray_overlay) + . += spray_overlay /obj/item/toy/crayon/spraycan/borg name = "cyborg spraycan" diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index 386b1fe668..a28166606e 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -20,7 +20,7 @@ var/safety = TRUE //if you can zap people with the defibs on harm mode var/powered = FALSE //if there's a cell in the defib with enough power for a revive, blocks paddles from reviving otherwise var/obj/item/twohanded/shockpaddles/paddles - var/obj/item/stock_parts/cell/high/cell + var/obj/item/stock_parts/cell/cell var/combat = FALSE //can we revive through space suits? var/grab_ghost = FALSE // Do we pull the ghost back into their body? var/healdisk = FALSE // Will we shock people dragging the body? @@ -35,19 +35,14 @@ /obj/item/defibrillator/Initialize() //starts without a cell for rnd . = ..() + if(cell) + cell = new cell(src) paddles = make_paddles() - update_icon() - return - -/obj/item/defibrillator/loaded/Initialize() //starts with hicap - . = ..() - cell = new(src) - update_icon() - return - -/obj/item/defibrillator/update_icon() update_power() - return ..() + return + +/obj/item/defibrillator/loaded + cell = /obj/item/stock_parts/cell/high /obj/item/defibrillator/proc/update_power() if(!QDELETED(cell)) @@ -57,6 +52,7 @@ powered = TRUE else powered = FALSE + update_icon() /obj/item/defibrillator/update_overlays() . = ..() @@ -76,7 +72,7 @@ /obj/item/defibrillator/CheckParts(list/parts_list) ..() cell = locate(/obj/item/stock_parts/cell) in contents - update_icon() + update_power() /obj/item/defibrillator/ui_action_click() toggle_paddles() @@ -124,7 +120,7 @@ return cell = W to_chat(user, "You install a cell in [src].") - update_icon() + update_power() else if(istype(W, /obj/item/screwdriver)) if(cell) @@ -132,7 +128,7 @@ cell.forceMove(get_turf(src)) cell = null to_chat(user, "You remove the cell from [src].") - update_icon() + update_power() else return ..() @@ -157,7 +153,7 @@ safety = TRUE visible_message("[src] beeps: Safety protocols enabled!") playsound(src, 'sound/machines/defib_saftyOn.ogg', 50, 0) - update_icon() + update_power() /obj/item/defibrillator/proc/toggle_paddles() set name = "Toggle Paddles" @@ -170,14 +166,14 @@ if(!usr.put_in_hands(paddles)) on = FALSE to_chat(user, "You need a free hand to hold the paddles!") - update_icon() + update_power() return else //Remove from their hands and back onto the defib unit paddles.unwield() remove_paddles(user) - update_icon() + update_power() for(var/X in actions) var/datum/action/A = X A.UpdateButtonIcon() @@ -189,7 +185,7 @@ ..() if((slot_flags == ITEM_SLOT_BACK && slot != SLOT_BACK) || (slot_flags == ITEM_SLOT_BELT && slot != SLOT_BELT)) remove_paddles(user) - update_icon() + update_power() /obj/item/defibrillator/item_action_slot_check(slot, mob/user, datum/action/A) if(slot == user.getBackSlot()) @@ -213,12 +209,12 @@ if(cell) if(cell.charge < (paddles.revivecost+chrgdeductamt)) powered = FALSE - update_icon() + update_power() if(cell.use(chrgdeductamt)) - update_icon() + update_power() return TRUE else - update_icon() + update_power() return FALSE /obj/item/defibrillator/proc/cooldowncheck(mob/user) @@ -232,7 +228,7 @@ playsound(src, 'sound/machines/defib_failed.ogg', 50, 0) paddles.cooldown = FALSE paddles.update_icon() - update_icon() + update_power() /obj/item/defibrillator/compact name = "compact defibrillator" @@ -249,7 +245,7 @@ /obj/item/defibrillator/compact/loaded/Initialize() . = ..() cell = new(src) - update_icon() + update_power() /obj/item/defibrillator/compact/combat name = "combat defibrillator" @@ -258,17 +254,12 @@ safety = FALSE always_emagged = TRUE disarm_shock_time = 0 - -/obj/item/defibrillator/compact/combat/loaded/Initialize() - . = ..() - cell = new /obj/item/stock_parts/cell/infinite(src) - update_icon() + cell = /obj/item/stock_parts/cell/infinite /obj/item/defibrillator/compact/combat/loaded/attackby(obj/item/W, mob/user, params) if(W == paddles) paddles.unwield() toggle_paddles() - update_icon() return //paddles @@ -298,6 +289,10 @@ var/mob/listeningTo +/obj/item/twohanded/shockpaddles/ComponentInitialize() + . = ..() + AddElement(/datum/element/update_icon_updates_onmob) + /obj/item/twohanded/shockpaddles/equipped(mob/user, slot) . = ..() if(!req_defib) @@ -339,14 +334,11 @@ busy = FALSE update_icon() -/obj/item/twohanded/shockpaddles/update_icon() +/obj/item/twohanded/shockpaddles/update_icon_state() icon_state = "defibpaddles[wielded]" item_state = "defibpaddles[wielded]" if(cooldown) icon_state = "defibpaddles[wielded]_cooldown" - if(iscarbon(loc)) - var/mob/living/carbon/C = loc - C.update_inv_hands() /obj/item/twohanded/shockpaddles/suicide_act(mob/user) user.visible_message("[user] is putting the live paddles on [user.p_their()] chest! It looks like [user.p_theyre()] trying to commit suicide!") @@ -373,7 +365,7 @@ return defib.on = FALSE forceMove(defib) - defib.update_icon() + defib.update_power() /obj/item/twohanded/shockpaddles/proc/check_defib_exists(mainunit, mob/living/carbon/M, obj/O) if(!req_defib) @@ -431,26 +423,11 @@ if((!req_defib && grab_ghost) || (req_defib && defib.grab_ghost)) H.notify_ghost_cloning("Your heart is being defibrillated!") H.grab_ghost() // Shove them back in their body. - else if(can_defib(H)) + else if(H.can_defib()) H.notify_ghost_cloning("Your heart is being defibrillated. Re-enter your corpse if you want to be revived!", source = src) do_help(H, user) -/obj/item/twohanded/shockpaddles/proc/can_defib(mob/living/carbon/H) //Our code here is different than tg, if it breaks in testing; BUG_PROBABLE_CAUSE - var/obj/item/organ/heart = H.getorgan(/obj/item/organ/heart) - if(H.suiciding || H.hellbound || HAS_TRAIT(H, TRAIT_HUSK)) - return - if((world.time - H.timeofdeath) > tlimit) - return - if((H.getBruteLoss() >= MAX_REVIVE_BRUTE_DAMAGE) || (H.getFireLoss() >= MAX_REVIVE_FIRE_DAMAGE)) - return - if(!heart || (heart.organ_flags & ORGAN_FAILING)) - return - var/obj/item/organ/brain/BR = H.getorgan(/obj/item/organ/brain) - if(QDELETED(BR) || BR.brain_death || (BR.organ_flags & ORGAN_FAILING) || H.suiciding) - return - return TRUE - /obj/item/twohanded/shockpaddles/proc/shock_touching(dmg, mob/H) if(!H.pulledby || !isliving(H.pulledby)) return @@ -745,22 +722,22 @@ name = "Defibrillator Healing Disk" desc = "An upgrade which increases the healing power of the defibrillator" icon_state = "heal_disk" - materials = list(MAT_METAL=16000, MAT_GLASS = 18000, MAT_GOLD = 6000, MAT_SILVER = 6000) + custom_materials = list(/datum/material/iron=16000, /datum/material/glass = 18000, /datum/material/gold = 6000, /datum/material/silver = 6000) /obj/item/disk/medical/defib_shock name = "Defibrillator Anti-Shock Disk" desc = "A safety upgrade that guarantees only the patient will get shocked" icon_state = "zap_disk" - materials = list(MAT_METAL=16000, MAT_GLASS = 18000, MAT_GOLD = 6000, MAT_SILVER = 6000) + custom_materials = list(/datum/material/iron=16000, /datum/material/glass = 18000, /datum/material/gold = 6000, /datum/material/silver = 6000) /obj/item/disk/medical/defib_decay name = "Defibrillator Body-Decay Extender Disk" desc = "An upgrade allowing the defibrillator to work on more decayed bodies" icon_state = "body_disk" - materials = list(MAT_METAL=16000, MAT_GLASS = 18000, MAT_GOLD = 16000, MAT_SILVER = 6000, MAT_TITANIUM = 2000) + custom_materials = list(/datum/material/iron=16000, /datum/material/glass = 18000, /datum/material/gold = 16000, /datum/material/silver = 6000, /datum/material/titanium = 2000) /obj/item/disk/medical/defib_speed name = "Defibrillator Fast Charge Disk" desc = "An upgrade to the defibrillator capacitors, which let it charge faster" icon_state = "fast_disk" - materials = list(MAT_METAL=16000, MAT_GLASS = 8000, MAT_GOLD = 26000, MAT_SILVER = 26000) + custom_materials = list(/datum/material/iron=16000, /datum/material/glass = 8000, /datum/material/gold = 26000, /datum/material/silver = 26000) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index fe8f3ca626..eed4f2ce80 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -41,6 +41,11 @@ GLOBAL_LIST_EMPTY(PDAs) var/mode = 0 //Controls what menu the PDA will display. 0 is hub; the rest are either built in or based on cartridge. var/list/overlays_icons = list('icons/obj/pda_alt.dmi' = list("pda-r", "screen_default", "id_overlay", "insert_overlay", "light_overlay", "pai_overlay")) var/current_overlays = PDA_STANDARD_OVERLAYS + + //variables exclusively used on 'update_overlays' (which should never be called directly, and 'update_icon' doesn't use args anyway) + var/new_overlays = FALSE + var/new_alert = FALSE + var/font_index = 0 //This int tells DM which font is currently selected and lets DM know when the last font has been selected so that it can cycle back to the first font when "toggle font" is pressed again. var/font_mode = "font-family:monospace;" //The currently selected font. var/background_color = "#808000" //The currently selected background color. @@ -123,7 +128,8 @@ GLOBAL_LIST_EMPTY(PDAs) inserted_item = new inserted_item(src) else inserted_item = new /obj/item/pen(src) - update_icon(FALSE, TRUE) + new_overlays = TRUE + update_icon() /obj/item/pda/CtrlShiftClick(mob/living/user) . = ..() @@ -144,7 +150,8 @@ GLOBAL_LIST_EMPTY(PDAs) if(QDELETED(src) || isnull(new_icon) || new_icon == icon || !M.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return icon = new_icon - update_icon(FALSE, TRUE) + new_overlays = TRUE + update_icon() to_chat(M, "[src] is now skinned as '[choice]'.") /obj/item/pda/proc/set_new_overlays() @@ -188,7 +195,8 @@ GLOBAL_LIST_EMPTY(PDAs) var/pref_skin = GLOB.pda_reskins[C.prefs.pda_skin] if(icon != pref_skin) icon = pref_skin - update_icon(FALSE, TRUE) + new_overlays = TRUE + update_icon() equipped = TRUE /obj/item/pda/proc/update_label() @@ -215,25 +223,27 @@ GLOBAL_LIST_EMPTY(PDAs) return TRUE return FALSE -/obj/item/pda/update_icon(alert = FALSE, new_overlays = FALSE) +/obj/item/pda/update_overlays() + . = ..() if(new_overlays) set_new_overlays() - cut_overlays() - add_overlay(alert ? current_overlays[PDA_OVERLAY_ALERT] : current_overlays[PDA_OVERLAY_SCREEN]) + . += new_alert ? current_overlays[PDA_OVERLAY_ALERT] : current_overlays[PDA_OVERLAY_SCREEN] var/mutable_appearance/overlay = new() overlay.pixel_x = overlays_x_offset if(id) overlay.icon_state = current_overlays[PDA_OVERLAY_ID] - add_overlay(new /mutable_appearance(overlay)) + . += new /mutable_appearance(overlay) if(inserted_item) overlay.icon_state = current_overlays[PDA_OVERLAY_ITEM] - add_overlay(new /mutable_appearance(overlay)) + . += new /mutable_appearance(overlay) if(fon) overlay.icon_state = current_overlays[PDA_OVERLAY_LIGHT] - add_overlay(new /mutable_appearance(overlay)) + . += new /mutable_appearance(overlay) if(pai) overlay.icon_state = "[current_overlays[PDA_OVERLAY_PAI]][pai.pai ? "" : "_off"]" - add_overlay(new /mutable_appearance(overlay)) + . += new /mutable_appearance(overlay) + new_overlays = FALSE + new_alert = FALSE /obj/item/pda/MouseDrop(mob/over, src_location, over_location) var/mob/M = usr @@ -849,6 +859,7 @@ GLOBAL_LIST_EMPTY(PDAs) to_chat(L, "[icon2html(src)] Message from [hrefstart][signal.data["name"]] ([signal.data["job"]])[hrefend], [inbound_message] (Reply) (BLOCK/UNBLOCK)") + new_alert = TRUE update_icon(TRUE) /obj/item/pda/proc/send_to_all(mob/living/U) diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index c4ffa9f0ff..e87987600a 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -49,6 +49,10 @@ return if(istype(target, /obj/structure/falsewall)) return + if(target.alpha != 255) + return + if(target.invisibility != 0) + return if(iseffect(target)) if(!(istype(target, /obj/effect/decal))) //be a footprint return diff --git a/code/game/objects/items/devices/desynchronizer.dm b/code/game/objects/items/devices/desynchronizer.dm index 0fa557f666..e5dcfc0075 100644 --- a/code/game/objects/items/devices/desynchronizer.dm +++ b/code/game/objects/items/devices/desynchronizer.dm @@ -8,7 +8,7 @@ item_flags = NOBLUDGEON lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - materials = list(MAT_METAL = 250, MAT_GLASS = 500) + custom_materials = list(/datum/material/iron = 250, /datum/material/glass = 500) var/max_duration = 3000 var/duration = 300 var/last_use = 0 diff --git a/code/game/objects/items/devices/doorCharge.dm b/code/game/objects/items/devices/doorCharge.dm index e9ba9ea4a4..c38eb46baf 100644 --- a/code/game/objects/items/devices/doorCharge.dm +++ b/code/game/objects/items/devices/doorCharge.dm @@ -12,7 +12,7 @@ item_flags = NOBLUDGEON force = 3 attack_verb = list("blown up", "exploded", "detonated") - materials = list(MAT_METAL=50, MAT_GLASS=30) + custom_materials = list(/datum/material/iron=50, /datum/material/glass=30) /obj/item/doorCharge/ex_act(severity, target) switch(severity) diff --git a/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm b/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm index 97392ca71e..5dbda8de54 100644 --- a/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm +++ b/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/module.dmi' icon_state = "boris" w_class = WEIGHT_CLASS_TINY - materials = list(MAT_METAL = 50, MAT_GLASS = 300) + custom_materials = list(/datum/material/iron = 50, /datum/material/glass = 300) var/recharging = FALSE var/circuits = 5 //How many circuits the pseudocircuit has left var/static/recycleable_circuits = typecacheof(list(/obj/item/electronics/firelock, /obj/item/electronics/airalarm, /obj/item/electronics/firealarm, \ diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index e43aa681ce..bf023c2c07 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -9,7 +9,7 @@ w_class = WEIGHT_CLASS_SMALL flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT - materials = list(MAT_METAL=50, MAT_GLASS=20) + custom_materials = list(/datum/material/iron=50, /datum/material/glass=20) actions_types = list(/datum/action/item_action/toggle_light) var/on = FALSE var/brightness_on = 4 //range of light when on @@ -224,7 +224,7 @@ light_color = "#FFDDBB" w_class = WEIGHT_CLASS_BULKY flags_1 = CONDUCT_1 - materials = list() + custom_materials = null on = TRUE @@ -362,7 +362,7 @@ item_state = "slime" w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_BELT - materials = list() + custom_materials = null brightness_on = 6 //luminosity when on light_color = "#FFEEAA" flashlight_power = 0.6 @@ -454,7 +454,7 @@ on = FALSE update_icon() -/obj/item/flashlight/glowstick/update_icon() +/obj/item/flashlight/glowstick/update_icon_state() item_state = "glowstick" cut_overlays() if(!fuel) diff --git a/code/game/objects/items/devices/forcefieldprojector.dm b/code/game/objects/items/devices/forcefieldprojector.dm index 905428ae1f..03ca110ec8 100644 --- a/code/game/objects/items/devices/forcefieldprojector.dm +++ b/code/game/objects/items/devices/forcefieldprojector.dm @@ -9,7 +9,7 @@ item_state = "electronic" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - materials = list(MAT_METAL=250, MAT_GLASS=500) + custom_materials = list(/datum/material/iron=250, /datum/material/glass=500) var/max_shield_integrity = 100 var/shield_integrity = 250 var/max_fields = 3 diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm index 2af449df24..9eb51ffaeb 100644 --- a/code/game/objects/items/devices/geiger_counter.dm +++ b/code/game/objects/items/devices/geiger_counter.dm @@ -18,7 +18,7 @@ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_BELT - materials = list(MAT_METAL = 150, MAT_GLASS = 150) + custom_materials = list(/datum/material/iron = 150, /datum/material/glass = 150) var/grace = RAD_GRACE_PERIOD var/datum/looping_sound/geiger/soundloop @@ -87,27 +87,25 @@ . += "The last radiation amount detected was [last_tick_amount]" -/obj/item/geiger_counter/update_icon() +/obj/item/geiger_counter/update_icon_state() if(!scanning) icon_state = "geiger_off" - return 1 - if(obj_flags & EMAGGED) + else if(obj_flags & EMAGGED) icon_state = "geiger_on_emag" - return 1 - switch(radiation_count) - if(-INFINITY to RAD_LEVEL_NORMAL) - icon_state = "geiger_on_1" - if(RAD_LEVEL_NORMAL + 1 to RAD_LEVEL_MODERATE) - icon_state = "geiger_on_2" - if(RAD_LEVEL_MODERATE + 1 to RAD_LEVEL_HIGH) - icon_state = "geiger_on_3" - if(RAD_LEVEL_HIGH + 1 to RAD_LEVEL_VERY_HIGH) - icon_state = "geiger_on_4" - if(RAD_LEVEL_VERY_HIGH + 1 to RAD_LEVEL_CRITICAL) - icon_state = "geiger_on_4" - if(RAD_LEVEL_CRITICAL + 1 to INFINITY) - icon_state = "geiger_on_5" - ..() + else + switch(radiation_count) + if(-INFINITY to RAD_LEVEL_NORMAL) + icon_state = "geiger_on_1" + if(RAD_LEVEL_NORMAL + 1 to RAD_LEVEL_MODERATE) + icon_state = "geiger_on_2" + if(RAD_LEVEL_MODERATE + 1 to RAD_LEVEL_HIGH) + icon_state = "geiger_on_3" + if(RAD_LEVEL_HIGH + 1 to RAD_LEVEL_VERY_HIGH) + icon_state = "geiger_on_4" + if(RAD_LEVEL_VERY_HIGH + 1 to RAD_LEVEL_CRITICAL) + icon_state = "geiger_on_4" + if(RAD_LEVEL_CRITICAL + 1 to INFINITY) + icon_state = "geiger_on_5" /obj/item/geiger_counter/proc/update_sound() var/datum/looping_sound/geiger/loop = soundloop diff --git a/code/game/objects/items/devices/instruments.dm b/code/game/objects/items/devices/instruments.dm index dd7c5b15d9..4c46d064c4 100644 --- a/code/game/objects/items/devices/instruments.dm +++ b/code/game/objects/items/devices/instruments.dm @@ -108,6 +108,12 @@ song.instrumentDir = name song.instrumentExt = insTypes[name] +/obj/item/instrument/piano_synth/proc/selectInstrument() // Moved here so it can be used by the action and PAI software panel without copypasta + var/chosen = input("Choose the type of instrument you want to use", "Instrument Selection", song.instrumentDir) as null|anything in insTypes + if(!insTypes[chosen]) + return + return changeInstrument(chosen) + /obj/item/instrument/banjo name = "banjo" desc = "A 'Mura' brand banjo. It's pretty much just a drum with a neck and strings." diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index 1f2f1ddda2..5b23f6f169 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -8,7 +8,7 @@ flags_1 = CONDUCT_1 item_flags = NOBLUDGEON slot_flags = ITEM_SLOT_BELT - materials = list(MAT_METAL=500, MAT_GLASS=500) + custom_materials = list(/datum/material/iron=500, /datum/material/glass=500) w_class = WEIGHT_CLASS_SMALL var/turf/pointer_loc var/energy = 5 diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index 30eaca2ba2..bee59b254c 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -158,7 +158,7 @@ /obj/item/lightreplacer/attack_self(mob/user) to_chat(user, status_string()) -/obj/item/lightreplacer/update_icon() +/obj/item/lightreplacer/update_icon_state() icon_state = "lightreplacer[(obj_flags & EMAGGED ? 1 : 0)]" /obj/item/lightreplacer/proc/status_string() diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index 6d0a78974a..63092b5a13 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -24,7 +24,7 @@ throwforce = 0 throw_range = 7 throw_speed = 3 - materials = list(MAT_METAL=50, MAT_GLASS=20) + custom_materials = list(/datum/material/iron=50, /datum/material/glass=20) var/obj/machinery/buffer // simple machine buffer for device linkage toolspeed = 1 tool_behaviour = TOOL_MULTITOOL @@ -67,7 +67,7 @@ to_chat(user, "You clear the wired connection from the multitool.") update_icon() -/obj/item/multitool/update_icon() +/obj/item/multitool/update_icon_state() if(selected_io) icon_state = "multitool_red" else @@ -149,7 +149,7 @@ /obj/item/multitool/ai_detect/ui_action_click() return -/obj/item/multitool/ai_detect/update_icon() +/obj/item/multitool/ai_detect/update_icon_state() if(selected_io) icon_state = "multitool_red" else diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index f28aacc46c..5b332cda46 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -94,10 +94,8 @@ to_chat(pai, "Your mental faculties leave you.") to_chat(pai, "oblivion... ") qdel(pai) - if(href_list["wires"]) - var/wire = text2num(href_list["wires"]) - if(pai.radio) - pai.radio.wires.cut(wire) + if(href_list["wires"] && pai.radio) + pai.radio.wires.cut(href_list["wires"]) if(href_list["reset_radio_short"]) pai.unshort_radio() if(href_list["setlaws"]) diff --git a/code/game/objects/items/devices/pipe_painter.dm b/code/game/objects/items/devices/pipe_painter.dm index 2d0af2cf3c..a6323cfd7f 100644 --- a/code/game/objects/items/devices/pipe_painter.dm +++ b/code/game/objects/items/devices/pipe_painter.dm @@ -6,7 +6,7 @@ item_flags = NOBLUDGEON var/paint_color = "grey" - materials = list(MAT_METAL=5000, MAT_GLASS=2000) + custom_materials = list(/datum/material/iron=5000, /datum/material/glass=2000) /obj/item/pipe_painter/afterattack(atom/A, mob/user, proximity_flag) . = ..() diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm index 58fc77e739..352c998699 100644 --- a/code/game/objects/items/devices/powersink.dm +++ b/code/game/objects/items/devices/powersink.dm @@ -13,7 +13,7 @@ throwforce = 5 throw_speed = 1 throw_range = 2 - materials = list(MAT_METAL=750) + custom_materials = list(/datum/material/iron=750) var/drain_rate = 1600000 // amount of power to drain per tick var/power_drained = 0 // has drained this much power var/max_power = 1e10 // maximum power that can be drained before exploding @@ -26,7 +26,7 @@ var/obj/structure/cable/attached // the attached cable -/obj/item/powersink/update_icon() +/obj/item/powersink/update_icon_state() icon_state = "powersink[mode == OPERATING]" /obj/item/powersink/proc/set_mode(value) diff --git a/code/game/objects/items/devices/quantum_keycard.dm b/code/game/objects/items/devices/quantum_keycard.dm index 33f839fa39..33f6dc877a 100644 --- a/code/game/objects/items/devices/quantum_keycard.dm +++ b/code/game/objects/items/devices/quantum_keycard.dm @@ -27,7 +27,7 @@ qpad = null return TRUE -/obj/item/quantum_keycard/update_icon() +/obj/item/quantum_keycard/update_icon_state() if(qpad) icon_state = "quantum_keycard_on" else diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index d499683fbc..a173453f1c 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -9,7 +9,7 @@ flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_HUGE - materials = list(MAT_METAL=10000, MAT_GLASS=2500) + custom_materials = list(/datum/material/iron=10000, /datum/material/glass=2500) var/code = 2 var/frequency = FREQ_ELECTROPACK @@ -157,7 +157,7 @@ Code: w_class = WEIGHT_CLASS_SMALL strip_delay = 60 equip_delay_other = 60 - materials = list(MAT_METAL=5000, MAT_GLASS=2000) + custom_materials = list(/datum/material/iron = 5000, /datum/material/glass = 2000) var/tagname = null @@ -166,7 +166,7 @@ Code: id = "shockcollar" build_type = AUTOLATHE build_path = /obj/item/electropack/shockcollar - materials = list(MAT_METAL=5000, MAT_GLASS=2000) + materials = list(/datum/material/iron = 5000, /datum/material/glass =2000) category = list("hacked", "Misc") /obj/item/electropack/shockcollar/attack_hand(mob/user) diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index e04501144e..5728a97dda 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -19,7 +19,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( desc = "An updated, modular intercom that fits over the head. Takes encryption keys." icon_state = "headset" item_state = "headset" - materials = list(MAT_METAL=75) + custom_materials = list(/datum/material/iron=75) subspace_transmission = TRUE canhear_range = 0 // can't hear headsets from very far away @@ -254,12 +254,17 @@ GLOBAL_LIST_INIT(channel_tokens, list( keyslot = null bowman = TRUE -/obj/item/radio/headset/ai +/obj/item/radio/headset/silicon/pai + name = "\proper mini Integrated Subspace Transceiver " + subspace_transmission = FALSE + + +/obj/item/radio/headset/silicon/ai name = "\proper Integrated Subspace Transceiver " keyslot2 = new /obj/item/encryptionkey/ai command = TRUE -/obj/item/radio/headset/ai/can_receive(freq, level) +/obj/item/radio/headset/silicon/can_receive(freq, level) return ..(freq, level, TRUE) /obj/item/radio/headset/attackby(obj/item/W, mob/user, params) diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 41161b46c9..ada598866b 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -147,4 +147,4 @@ result_path = /obj/item/radio/intercom/unscrewed pixel_shift = 29 inverse = TRUE - materials = list(MAT_METAL = 75, MAT_GLASS = 25) + custom_materials = list(/datum/material/iron = 75, /datum/material/glass = 25) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index b87b7b11bd..60b93d9461 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -11,7 +11,7 @@ throw_speed = 3 throw_range = 7 w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=75, MAT_GLASS=25) + custom_materials = list(/datum/material/iron=75, /datum/material/glass=25) obj_flags = USES_TGUI var/on = TRUE diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index c23311cf22..1b8058e3d4 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -19,7 +19,7 @@ SLIME SCANNER item_state = "electronic" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - materials = list(MAT_METAL=150) + custom_materials = list(/datum/material/iron=150) /obj/item/t_scanner/suicide_act(mob/living/carbon/user) user.visible_message("[user] begins to emit terahertz-rays into [user.p_their()] brain with [src]! It looks like [user.p_theyre()] trying to commit suicide!") @@ -75,7 +75,7 @@ SLIME SCANNER w_class = WEIGHT_CLASS_TINY throw_speed = 3 throw_range = 7 - materials = list(MAT_METAL=200) + custom_materials = list(/datum/material/iron=200) var/mode = 1 var/scanmode = 0 var/advanced = FALSE @@ -516,7 +516,7 @@ SLIME SCANNER throw_speed = 3 throw_range = 7 tool_behaviour = TOOL_ANALYZER - materials = list(MAT_METAL=30, MAT_GLASS=20) + custom_materials = list(/datum/material/iron=30, /datum/material/glass=20) grind_results = list(/datum/reagent/mercury = 5, /datum/reagent/iron = 5, /datum/reagent/silicon = 5) var/cooldown = FALSE var/cooldown_time = 250 @@ -706,7 +706,7 @@ SLIME SCANNER throwforce = 0 throw_speed = 3 throw_range = 7 - materials = list(MAT_METAL=30, MAT_GLASS=20) + custom_materials = list(/datum/material/iron=30, /datum/material/glass=20) /obj/item/slime_scanner/attack(mob/living/M, mob/living/user) if(user.stat || user.eye_blind) @@ -765,7 +765,7 @@ SLIME SCANNER w_class = WEIGHT_CLASS_TINY throw_speed = 3 throw_range = 7 - materials = list(MAT_METAL=200) + custom_materials = list(/datum/material/iron=200) /obj/item/nanite_scanner/attack(mob/living/M, mob/living/carbon/human/user) user.visible_message("[user] has analyzed [M]'s nanites.") diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index ebc7c520ef..78a1a3bfda 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -9,7 +9,7 @@ w_class = WEIGHT_CLASS_SMALL flags_1 = HEAR_1 slot_flags = ITEM_SLOT_BELT - materials = list(MAT_METAL=60, MAT_GLASS=30) + custom_materials = list(/datum/material/iron=60, /datum/material/glass=30) force = 2 throwforce = 0 var/recording = 0 @@ -83,7 +83,7 @@ eject(usr) -/obj/item/taperecorder/update_icon() +/obj/item/taperecorder/update_icon_state() if(!mytape) icon_state = "taperecorder_empty" else if(recording) @@ -243,7 +243,7 @@ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' w_class = WEIGHT_CLASS_TINY - materials = list(MAT_METAL=20, MAT_GLASS=5) + custom_materials = list(/datum/material/iron=20, /datum/material/glass=5) force = 1 throwforce = 0 var/max_capacity = 600 diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index 64e2830dd4..1d42198a23 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -69,7 +69,7 @@ effective or pretty fucking useless. */ /obj/item/healthanalyzer/rad_laser - materials = list(MAT_METAL=400) + custom_materials = list(/datum/material/iron=400) var/irradiate = 1 var/intensity = 10 // how much damage the radiation does var/wavelength = 10 // time it takes for the radiation to kick in, in seconds diff --git a/code/game/objects/items/dice.dm b/code/game/objects/items/dice.dm index b1dd9be376..f572d0a841 100644 --- a/code/game/objects/items/dice.dm +++ b/code/game/objects/items/dice.dm @@ -134,8 +134,9 @@ w_class = WEIGHT_CLASS_SMALL sides = 100 -/obj/item/dice/d100/update_icon() - return +/obj/item/dice/d100/ComponentInitialize() + . = ..() + AddElement(/datum/element/update_icon_blocker) /obj/item/dice/eightbd20 name = "strange d20" @@ -144,8 +145,9 @@ sides = 20 special_faces = list("It is certain","It is decidedly so","Without a doubt","Yes, definitely","You may rely on it","As I see it, yes","Most likely","Outlook good","Yes","Signs point to yes","Reply hazy try again","Ask again later","Better not tell you now","Cannot predict now","Concentrate and ask again","Don't count on it","My reply is no","My sources say no","Outlook not so good","Very doubtful") -/obj/item/dice/eightbd20/update_icon() - return +/obj/item/dice/eightbd20/ComponentInitialize() + . = ..() + AddElement(/datum/element/update_icon_blocker) /obj/item/dice/fourdd6 name = "4d d6" @@ -154,8 +156,9 @@ sides = 48 special_faces = list("Cube-Side: 1-1","Cube-Side: 1-2","Cube-Side: 1-3","Cube-Side: 1-4","Cube-Side: 1-5","Cube-Side: 1-6","Cube-Side: 2-1","Cube-Side: 2-2","Cube-Side: 2-3","Cube-Side: 2-4","Cube-Side: 2-5","Cube-Side: 2-6","Cube-Side: 3-1","Cube-Side: 3-2","Cube-Side: 3-3","Cube-Side: 3-4","Cube-Side: 3-5","Cube-Side: 3-6","Cube-Side: 4-1","Cube-Side: 4-2","Cube-Side: 4-3","Cube-Side: 4-4","Cube-Side: 4-5","Cube-Side: 4-6","Cube-Side: 5-1","Cube-Side: 5-2","Cube-Side: 5-3","Cube-Side: 5-4","Cube-Side: 5-5","Cube-Side: 5-6","Cube-Side: 6-1","Cube-Side: 6-2","Cube-Side: 6-3","Cube-Side: 6-4","Cube-Side: 6-5","Cube-Side: 6-6","Cube-Side: 7-1","Cube-Side: 7-2","Cube-Side: 7-3","Cube-Side: 7-4","Cube-Side: 7-5","Cube-Side: 7-6","Cube-Side: 8-1","Cube-Side: 8-2","Cube-Side: 8-3","Cube-Side: 8-4","Cube-Side: 8-5","Cube-Side: 8-6") -/obj/item/dice/fourdd6/update_icon() - return +/obj/item/dice/fourdd6/ComponentInitialize() + . = ..() + AddElement(/datum/element/update_icon_blocker) /obj/item/dice/attack_self(mob/user) diceroll(user) @@ -187,9 +190,9 @@ else if(!src.throwing) //Dice was thrown and is coming to rest visible_message("[src] rolls to a stop, landing on [result]. [comment]") -/obj/item/dice/update_icon() - cut_overlays() - add_overlay("[src.icon_state]-[src.result]") +/obj/item/dice/update_overlays() + . = ..() + . += "[icon_state]-[result]" /obj/item/dice/microwave_act(obj/machinery/microwave/M) if(can_be_rigged) diff --git a/code/game/objects/items/extinguisher.dm b/code/game/objects/items/extinguisher.dm index 5cd1f4831c..2d9d0b61c2 100644 --- a/code/game/objects/items/extinguisher.dm +++ b/code/game/objects/items/extinguisher.dm @@ -11,7 +11,7 @@ throw_speed = 2 throw_range = 7 force = 10 - materials = list(MAT_METAL = 90) + custom_materials = list(/datum/material/iron = 90) attack_verb = list("slammed", "whacked", "bashed", "thunked", "battered", "bludgeoned", "thrashed") dog_fashion = /datum/dog_fashion/back resistance_flags = FIRE_PROOF @@ -36,7 +36,7 @@ throwforce = 2 w_class = WEIGHT_CLASS_SMALL force = 3 - materials = list(MAT_METAL = 50, MAT_GLASS = 40) + custom_materials = list(/datum/material/iron = 50, /datum/material/glass = 40) max_water = 30 sprite_name = "miniFE" dog_fashion = null diff --git a/code/game/objects/items/flamethrower.dm b/code/game/objects/items/flamethrower.dm index 906572d018..b0882b6e5d 100644 --- a/code/game/objects/items/flamethrower.dm +++ b/code/game/objects/items/flamethrower.dm @@ -12,7 +12,7 @@ throw_speed = 1 throw_range = 5 w_class = WEIGHT_CLASS_NORMAL - materials = list(MAT_METAL=500) + custom_materials = list(/datum/material/iron=500) resistance_flags = FIRE_PROOF var/status = FALSE var/lit = FALSE //on or off @@ -27,6 +27,10 @@ var/igniter_type = /obj/item/assembly/igniter trigger_guard = TRIGGER_GUARD_NORMAL +/obj/item/flamethrower/ComponentInitialize() + . = ..() + AddElement(/datum/element/update_icon_updates_onmob) + /obj/item/flamethrower/Destroy() if(weldtool) qdel(weldtool) @@ -48,22 +52,17 @@ if(isturf(location)) //start a fire if possible igniter.flamethrower_process(location) +/obj/item/flamethrower/update_icon_state() + item_state = "flamethrower_[lit]" -/obj/item/flamethrower/update_icon() - cut_overlays() +/obj/item/flamethrower/update_overlays() + . = ..() if(igniter) - add_overlay("+igniter[status]") + . += "+igniter[status]" if(ptank) - add_overlay("+ptank") + . += "+ptank" if(lit) - add_overlay("+lit") - item_state = "flamethrower_1" - else - item_state = "flamethrower_0" - if(ismob(loc)) - var/mob/M = loc - M.update_inv_hands() - return + . += "+lit" /obj/item/flamethrower/afterattack(atom/target, mob/user, flag) . = ..() diff --git a/code/game/objects/items/granters.dm b/code/game/objects/items/granters.dm index 70cd503ef4..24fc1043d8 100644 --- a/code/game/objects/items/granters.dm +++ b/code/game/objects/items/granters.dm @@ -490,7 +490,13 @@ oneuse = FALSE remarks = list("Looks like these would sell much better in a plasma fire...", "Using glass bowls rather then cones?", "Mixing soda and ice-cream?", "Tall glasses with of liquids and solids...", "Just add a bit of icecream and cherry on top?") -//Later content when I have free time - Trilby Date:24-Aug-2019 +/obj/item/book/granter/crafting_recipe/bone_bow //Bow crafting for non-ashwalkers + name = "bowyery sandstone slab" // this is an actual word + desc = "A sandstone slab with inscriptions describing the Ash Walkers of Lavaland's bowyery." + crafting_recipe_types = list(/datum/crafting_recipe/bone_arrow, /datum/crafting_recipe/bone_bow, /datum/crafting_recipe/ashen_arrow, /datum/crafting_recipe/quiver, /datum/crafting_recipe/bow_tablet) + icon_state = "stone_tablet" + oneuse = FALSE + remarks = list("Sticking burning arrows into the sand makes them stronger...", "Breaking the bone apart to get shards, not sharpening the bone...", "Sinew is just like rope...") /obj/item/book/granter/crafting_recipe/under_the_oven //Illegal cook book name = "Under The Oven" diff --git a/code/game/objects/items/grenades/plastic.dm b/code/game/objects/items/grenades/plastic.dm index 75e4e0b477..eaecae5a92 100644 --- a/code/game/objects/items/grenades/plastic.dm +++ b/code/game/objects/items/grenades/plastic.dm @@ -158,7 +158,7 @@ user.gib(1, 1) qdel(src) -/obj/item/grenade/plastic/update_icon() +/obj/item/grenade/plastic/update_icon_state() if(nadeassembly) icon_state = "[item_state]1" else diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index 8ce0f33307..b4074737e5 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -36,7 +36,7 @@ w_class = WEIGHT_CLASS_SMALL throw_speed = 3 throw_range = 5 - materials = list(MAT_METAL=500) + custom_materials = list(/datum/material/iron=500) breakouttime = 600 //Deciseconds = 60s = 1 minute armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) var/cuffsound = 'sound/weapons/handcuffs.ogg' @@ -117,7 +117,7 @@ color = "#ff0000" lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' - materials = list(MAT_METAL=150, MAT_GLASS=75) + custom_materials = list(/datum/material/iron=150, /datum/material/glass=75) breakouttime = 300 //Deciseconds = 30s cuffsound = 'sound/weapons/cablecuff.ogg' @@ -128,9 +128,6 @@ item_color = param_color || item_color || pick(cable_colors) if(cable_colors[item_color]) item_color = cable_colors[item_color] - update_icon() - -/obj/item/restraints/handcuffs/cable/update_icon() color = null add_atom_colour(item_color, FIXED_COLOUR_PRIORITY) @@ -202,7 +199,7 @@ item_state = "zipties" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' - materials = list() + custom_materials = null breakouttime = 450 //Deciseconds = 45s trashtype = /obj/item/restraints/handcuffs/cable/zipties/used item_color = "white" diff --git a/code/game/objects/items/hot_potato.dm b/code/game/objects/items/hot_potato.dm index 02ac894e64..8f1d968991 100644 --- a/code/game/objects/items/hot_potato.dm +++ b/code/game/objects/items/hot_potato.dm @@ -154,7 +154,7 @@ colorize(null) active = FALSE -/obj/item/hot_potato/update_icon() +/obj/item/hot_potato/update_icon_state() icon_state = active? icon_on : icon_off /obj/item/hot_potato/syndicate diff --git a/code/game/objects/items/implants/implant_hijack.dm b/code/game/objects/items/implants/implant_hijack.dm index 8a08232859..5dd610059c 100644 --- a/code/game/objects/items/implants/implant_hijack.dm +++ b/code/game/objects/items/implants/implant_hijack.dm @@ -37,18 +37,18 @@ eye_color = H.eye_color return TRUE -/obj/item/implant/hijack/removed(mob/target, silent = FALSE, special = 0) +/obj/item/implant/hijack/removed(mob/living/source, silent = FALSE, special = 0) if(..()) - REMOVE_TRAIT(target, TRAIT_HIJACKER, "implant") - for (var/area/area in imp_in.siliconaccessareas) - imp_in.toggleSiliconAccessArea(area) + REMOVE_TRAIT(source, TRAIT_HIJACKER, "implant") + for (var/area/area in source.siliconaccessareas) + source.toggleSiliconAccessArea(area) var/obj/machinery/power/apc/apc = area.get_apc() if (apc) apc.hijacker = null apc.set_hijacked_lighting() apc.update_icon() - if (ishuman(target)) - var/mob/living/carbon/human/H = target + if (ishuman(source)) + var/mob/living/carbon/human/H = source H.eye_color = eye_color return TRUE @@ -118,4 +118,4 @@ imp_in.light_range = 0 imp_in.light_color = COLOR_YELLOW imp_in.update_light() - return TRUE \ No newline at end of file + return TRUE diff --git a/code/game/objects/items/implants/implantcase.dm b/code/game/objects/items/implants/implantcase.dm index 4b8427386c..481f1a4181 100644 --- a/code/game/objects/items/implants/implantcase.dm +++ b/code/game/objects/items/implants/implantcase.dm @@ -9,19 +9,15 @@ throw_speed = 2 throw_range = 5 w_class = WEIGHT_CLASS_TINY - materials = list(MAT_GLASS=500) - var/obj/item/implant/imp = null + custom_materials = list(/datum/material/glass=500) + var/obj/item/implant/imp var/imp_type - -/obj/item/implantcase/update_icon() +/obj/item/implantcase/update_icon_state() if(imp) icon_state = "implantcase-[imp.item_color]" - reagents = imp.reagents else icon_state = "implantcase-0" - reagents = null - /obj/item/implantcase/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/pen)) @@ -46,6 +42,7 @@ imp = I.imp I.imp = null update_icon() + reagents = imp.reagents I.update_icon() else if(imp) @@ -54,6 +51,7 @@ imp.forceMove(I) I.imp = imp imp = null + reagents = null update_icon() I.update_icon() diff --git a/code/game/objects/items/implants/implantchair.dm b/code/game/objects/items/implants/implantchair.dm index 46a6cb2c35..3ea27c84bb 100644 --- a/code/game/objects/items/implants/implantchair.dm +++ b/code/game/objects/items/implants/implantchair.dm @@ -96,16 +96,17 @@ visible_message("[M] has been implanted by [src].") return TRUE -/obj/machinery/implantchair/update_icon() +/obj/machinery/implantchair/update_icon_state() icon_state = initial(icon_state) if(state_open) icon_state += "_open" if(occupant) icon_state += "_occupied" + +/obj/machinery/implantchair/update_overlays() + . = ..() if(ready) - add_overlay("ready") - else - cut_overlays() + . += "ready" /obj/machinery/implantchair/proc/replenish() if(ready_implants < max_implants) diff --git a/code/game/objects/items/implants/implanter.dm b/code/game/objects/items/implants/implanter.dm index a0e27f14f0..b57ffa27c0 100644 --- a/code/game/objects/items/implants/implanter.dm +++ b/code/game/objects/items/implants/implanter.dm @@ -9,18 +9,17 @@ throw_speed = 3 throw_range = 5 w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=600, MAT_GLASS=200) + custom_materials = list(/datum/material/iron=600, /datum/material/glass=200) var/obj/item/implant/imp = null var/imp_type = null -/obj/item/implanter/update_icon() +/obj/item/implanter/update_icon_state() if(imp) icon_state = "implanter1" else icon_state = "implanter0" - /obj/item/implanter/attack(mob/living/M, mob/user) if(!istype(M)) return diff --git a/code/game/objects/items/implants/implantpad.dm b/code/game/objects/items/implants/implantpad.dm index c49e4d8d42..7c863017a1 100644 --- a/code/game/objects/items/implants/implantpad.dm +++ b/code/game/objects/items/implants/implantpad.dm @@ -18,7 +18,7 @@ if(case) . += "Alt-click [src] to remove the inserted implant case." -/obj/item/implantpad/update_icon() +/obj/item/implantpad/update_icon_state() icon_state = "implantpad-[case ? TRUE : FALSE]" /obj/item/implantpad/AltClick(mob/user) diff --git a/code/game/objects/items/inducer.dm b/code/game/objects/items/inducer.dm index 079e0d79e9..8a596b2e6e 100644 --- a/code/game/objects/items/inducer.dm +++ b/code/game/objects/items/inducer.dm @@ -163,13 +163,14 @@ if(opened) . += "Its battery compartment is open." -/obj/item/inducer/update_icon() - cut_overlays() - if(opened) - if(!cell) - add_overlay("inducer-nobat") - else - add_overlay("inducer-bat") +/obj/item/inducer/update_overlays() + . = ..() + if(!opened) + return + if(!cell) + . += "inducer-nobat" + else + . += "inducer-bat" /obj/item/inducer/sci icon_state = "inducer-sci" diff --git a/code/game/objects/items/kitchen.dm b/code/game/objects/items/kitchen.dm index e28909c84f..22a8d2c92a 100644 --- a/code/game/objects/items/kitchen.dm +++ b/code/game/objects/items/kitchen.dm @@ -22,7 +22,7 @@ throwforce = 0 throw_speed = 3 throw_range = 5 - materials = list(MAT_METAL=80) + custom_materials = list(/datum/material/iron=80) flags_1 = CONDUCT_1 attack_verb = list("attacked", "stabbed", "poked") hitsound = 'sound/weapons/bladeslice.ogg' @@ -65,7 +65,7 @@ hitsound = 'sound/weapons/bladeslice.ogg' throw_speed = 3 throw_range = 6 - materials = list(MAT_METAL=12000) + custom_materials = list(/datum/material/iron=12000) attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") sharpness = IS_SHARP_ACCURATE armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) @@ -104,7 +104,7 @@ flags_1 = CONDUCT_1 force = 15 throwforce = 10 - materials = list(MAT_METAL=18000) + custom_materials = list(/datum/material/iron=18000) attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") w_class = WEIGHT_CLASS_NORMAL @@ -136,7 +136,7 @@ desc = "A sharpened bone. The bare minimum in survival." force = 15 throwforce = 15 - materials = list() + custom_materials = null /obj/item/kitchen/knife/combat/cyborg name = "cyborg knife" @@ -153,7 +153,7 @@ desc = "Unlike other carrots, you should probably keep this far away from your eyes." force = 8 throwforce = 12//fuck git - materials = list() + custom_materials = null attack_verb = list("shanked", "shivved") armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) diff --git a/code/game/objects/items/melee/energy.dm b/code/game/objects/items/melee/energy.dm index 15a686bae6..405e3737d0 100644 --- a/code/game/objects/items/melee/energy.dm +++ b/code/game/objects/items/melee/energy.dm @@ -259,7 +259,11 @@ light_color = "#37FFF7" actions_types = list() -/obj/item/melee/transforming/energy/sword/cx/pre_altattackby(atom/A, mob/living/user, params) //checks if it can do right click memes +/obj/item/melee/transforming/energy/sword/cx/ComponentInitialize() + . = ..() + AddElement(/datum/element/update_icon_updates_onmob) + +/obj/item/melee/transforming/energy/sword/cx/alt_pre_attack(atom/A, mob/living/user, params) //checks if it can do right click memes altafterattack(A, user, TRUE, params) return TRUE @@ -301,7 +305,8 @@ if(!supress_message_text) to_chat(user, "[src] [active ? "is now active":"can now be concealed"].") -/obj/item/melee/transforming/energy/sword/cx/update_icon() +/obj/item/melee/transforming/energy/sword/cx/update_overlays() + . = ..() var/mutable_appearance/blade_overlay = mutable_appearance(icon, "cxsword_blade") var/mutable_appearance/gem_overlay = mutable_appearance(icon, "cxsword_gem") @@ -309,15 +314,10 @@ blade_overlay.color = light_color gem_overlay.color = light_color - cut_overlays() //So that it doesn't keep stacking overlays non-stop on top of each other - - add_overlay(gem_overlay) + . += gem_overlay if(active) - add_overlay(blade_overlay) - if(ismob(loc)) - var/mob/M = loc - M.update_inv_hands() + . += blade_overlay /obj/item/melee/transforming/energy/sword/cx/AltClick(mob/living/user) . = ..() diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index 4b071d6a34..9c544a34ef 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -24,7 +24,7 @@ w_class = WEIGHT_CLASS_NORMAL attack_verb = list("flogged", "whipped", "lashed", "disciplined") hitsound = 'sound/weapons/chainhit.ogg' - materials = list(MAT_METAL = 1000) + custom_materials = list(/datum/material/iron = 1000) /obj/item/melee/chainofcommand/suicide_act(mob/user) user.visible_message("[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!") @@ -67,7 +67,7 @@ sharpness = IS_SHARP attack_verb = list("slashed", "cut") hitsound = 'sound/weapons/rapierhit.ogg' - materials = list(MAT_METAL = 1000) + custom_materials = list(/datum/material/iron = 1000) total_mass = 3.4 /obj/item/melee/sabre/Initialize() @@ -453,12 +453,10 @@ held_sausage = null update_icon() -/obj/item/melee/roastingstick/update_icon() +/obj/item/melee/roastingstick/update_overlays() . = ..() - cut_overlays() if (held_sausage) - var/mutable_appearance/sausage = mutable_appearance(icon, "roastingstick_sausage") - add_overlay(sausage) + . += mutable_appearance(icon, "roastingstick_sausage") /obj/item/melee/roastingstick/proc/extend(user) to_chat(user, "You extend [src].") @@ -507,3 +505,29 @@ held_sausage.name = "[target.name]-roasted [held_sausage.name]" held_sausage.desc = "[held_sausage.desc] It has been cooked to perfection on \a [target]." update_icon() + +/obj/item/melee/cleric_mace + name = "cleric mace" + desc = "The grandson of the club, yet the grandfather of the baseball bat. Most notably used by holy orders in days past." + icon = 'icons/obj/items_and_weapons.dmi' + icon_state = "mace_greyscale" + item_state = "mace_greyscale" + lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' + material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR //Material type changes the prefix as well as the color. + custom_materials = list(/datum/material/iron = 12000) //Defaults to an Iron Mace. + slot_flags = ITEM_SLOT_BELT + force = 14 + w_class = WEIGHT_CLASS_BULKY + throwforce = 8 + block_chance = 10 + armour_penetration = 50 + attack_verb = list("smacked", "struck", "cracked", "beaten") + var/overlay_state = "mace_handle" + var/mutable_appearance/overlay + +/obj/item/melee/cleric_mace/Initialize() + . = ..() + overlay = mutable_appearance(icon, overlay_state) + overlay.appearance_flags = RESET_COLOR + add_overlay(overlay) \ No newline at end of file diff --git a/code/game/objects/items/pet_carrier.dm b/code/game/objects/items/pet_carrier.dm index 5af9c70d9b..9d9409acf0 100644 --- a/code/game/objects/items/pet_carrier.dm +++ b/code/game/objects/items/pet_carrier.dm @@ -15,7 +15,7 @@ w_class = WEIGHT_CLASS_BULKY throw_speed = 2 throw_range = 3 - materials = list(MAT_METAL = 7500, MAT_GLASS = 100) + custom_materials = list(/datum/material/iron = 7500, /datum/material/glass = 100) var/open = TRUE var/locked = FALSE var/list/occupants = list() @@ -143,14 +143,16 @@ update_icon() remove_occupant(user) -/obj/item/pet_carrier/update_icon() - cut_overlay("unlocked") - cut_overlay("locked") +/obj/item/pet_carrier/update_icon_state() if(open) icon_state = initial(icon_state) else icon_state = "pet_carrier_[!occupants.len ? "closed" : "occupied"]" - add_overlay("[locked ? "" : "un"]locked") + +/obj/item/pet_carrier/update_overlays() + . = ..() + if(!open) + . += "[locked ? "" : "un"]locked" /obj/item/pet_carrier/MouseDrop(atom/over_atom) if(isopenturf(over_atom) && usr.canUseTopic(src, BE_CLOSE, ismonkey(usr)) && usr.Adjacent(over_atom) && open && occupants.len) diff --git a/code/game/objects/items/pinpointer.dm b/code/game/objects/items/pinpointer.dm index 151df7694a..65eb7ab658 100644 --- a/code/game/objects/items/pinpointer.dm +++ b/code/game/objects/items/pinpointer.dm @@ -12,7 +12,7 @@ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' throw_speed = 3 throw_range = 7 - materials = list(MAT_METAL = 500, MAT_GLASS = 250) + custom_materials = list(/datum/material/iron = 500, /datum/material/glass = 250) resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/active = FALSE var/atom/movable/target //The thing we're searching for @@ -49,29 +49,29 @@ /obj/item/pinpointer/proc/scan_for_target() return -/obj/item/pinpointer/update_icon() - cut_overlays() +/obj/item/pinpointer/update_overlays() + . = ..() if(!active) return if(!target) - add_overlay("pinon[alert ? "alert" : ""]null") + . += "pinon[alert ? "alert" : ""]null" return var/turf/here = get_turf(src) var/turf/there = get_turf(target) if(!here || !there || here.z != there.z) - add_overlay("pinon[alert ? "alert" : ""]null") + . += "pinon[alert ? "alert" : ""]null" return if(get_dist_euclidian(here,there) <= minimum_range) - add_overlay("pinon[alert ? "alert" : ""]direct") + . += "pinon[alert ? "alert" : ""]direct" else setDir(get_dir(here, there)) switch(get_dist(here, there)) if(1 to 8) - add_overlay("pinon[alert ? "alert" : "close"]") + . += "pinon[alert ? "alert" : "close"]" if(9 to 16) - add_overlay("pinon[alert ? "alert" : "medium"]") + . += "pinon[alert ? "alert" : "medium"]" if(16 to INFINITY) - add_overlay("pinon[alert ? "alert" : "far"]") + . += "pinon[alert ? "alert" : "far"]" /obj/item/pinpointer/crew // A replacement for the old crew monitoring consoles name = "crew pinpointer" diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm index a2a8cb3150..498990fcf3 100644 --- a/code/game/objects/items/plushes.dm +++ b/code/game/objects/items/plushes.dm @@ -37,7 +37,9 @@ /obj/item/toy/plush/random_snowflake/Initialize(mapload, set_snowflake_id) . = ..() var/list/configlist = CONFIG_GET(keyed_list/snowflake_plushies) - var/id = pick(configlist) + var/id = safepick(configlist) + if(!id) + return set_snowflake_from_config(id) /obj/item/toy/plush/Initialize(mapload, set_snowflake_id) diff --git a/code/game/objects/items/pneumaticCannon.dm b/code/game/objects/items/pneumaticCannon.dm index e63b4d7a3a..dae4c9a137 100644 --- a/code/game/objects/items/pneumaticCannon.dm +++ b/code/game/objects/items/pneumaticCannon.dm @@ -241,11 +241,11 @@ tank = thetank update_icon() -/obj/item/pneumatic_cannon/update_icon() - cut_overlays() +/obj/item/pneumatic_cannon/update_overlays() + . = ..() if(!tank) return - add_overlay(tank.icon_state) + . += tank.icon_state /obj/item/pneumatic_cannon/proc/fill_with_type(type, amount) if(!ispath(type, /obj) && !ispath(type, /mob)) diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index 056d9e4677..48c16190d9 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -154,11 +154,7 @@ var/static/list/charge_machines = typecacheof(list(/obj/machinery/cell_charger, /obj/machinery/recharger, /obj/machinery/recharge_station, /obj/machinery/mech_bay_recharge_port)) var/static/list/charge_items = typecacheof(list(/obj/item/stock_parts/cell, /obj/item/gun/energy)) -/obj/item/borg/charger/Initialize() - . = ..() - -/obj/item/borg/charger/update_icon() - ..() +/obj/item/borg/charger/update_icon_state() icon_state = "charger_[mode]" /obj/item/borg/charger/attack_self(mob/user) @@ -596,7 +592,7 @@ update_icon() to_chat(user, "You [active? "activate":"deactivate"] [src].") -/obj/item/borg/projectile_dampen/update_icon() +/obj/item/borg/projectile_dampen/update_icon_state() icon_state = "[initial(icon_state)][active]" /obj/item/borg/projectile_dampen/proc/activate_field() diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 2bf9ead4ea..54f0dc600d 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -39,20 +39,20 @@ chest.cell = new /obj/item/stock_parts/cell/high/plus(chest) ..() -/obj/item/robot_suit/update_icon() - cut_overlays() +/obj/item/robot_suit/update_overlays() + . = ..() if(l_arm) - add_overlay("[l_arm.icon_state]+o") + . += "[l_arm.icon_state]+o" if(r_arm) - add_overlay("[r_arm.icon_state]+o") + . += "[r_arm.icon_state]+o" if(chest) - add_overlay("[chest.icon_state]+o") + . += "[chest.icon_state]+o" if(l_leg) - add_overlay("[l_leg.icon_state]+o") + . += "[l_leg.icon_state]+o" if(r_leg) - add_overlay("[r_leg.icon_state]+o") + . += "[r_leg.icon_state]+o" if(head) - add_overlay("[head.icon_state]+o") + . += "[head.icon_state]+o" /obj/item/robot_suit/proc/check_completion() if(src.l_arm && src.r_arm) diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 09c2d442e8..18568b3d0f 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -364,12 +364,9 @@ to_chat(toggle_action.owner, "You activate the self-repair module.") activate_sr() -/obj/item/borg/upgrade/selfrepair/update_icon() +/obj/item/borg/upgrade/selfrepair/update_icon_state() if(toggle_action) icon_state = "selfrepair_[on ? "on" : "off"]" - for(var/X in actions) - var/datum/action/A = X - A.UpdateButtonIcon() else icon_state = "cyborg_upgrade5" diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index 3be698dd3a..4f5f264c0e 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -20,7 +20,7 @@ throw_speed = 2 throw_range = 3 w_class = WEIGHT_CLASS_BULKY - materials = list(MAT_GLASS=7500, MAT_METAL=1000) + custom_materials = list(/datum/material/glass=7500, /datum/material/iron=1000) attack_verb = list("shoved", "bashed") var/cooldown = 0 //shield bash cooldown. based on world.time transparent = TRUE @@ -106,7 +106,7 @@ item_state = "buckler" lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi' - materials = list() + custom_materials = null resistance_flags = FLAMMABLE block_chance = 30 transparent = FALSE @@ -217,7 +217,7 @@ icon = 'icons/obj/items_and_weapons.dmi' item_state = "metal" icon_state = "makeshift_shield" - materials = list(MAT_METAL = 18000) + custom_materials = list(/datum/material/iron = 18000) slot_flags = null block_chance = 35 force = 10 diff --git a/code/game/objects/items/singularityhammer.dm b/code/game/objects/items/singularityhammer.dm index 86f0ad4936..4c64ed9dd4 100644 --- a/code/game/objects/items/singularityhammer.dm +++ b/code/game/objects/items/singularityhammer.dm @@ -31,7 +31,7 @@ charged++ return -/obj/item/twohanded/singularityhammer/update_icon() //Currently only here to fuck with the on-mob icons. +/obj/item/twohanded/singularityhammer/update_icon_state() //Currently only here to fuck with the on-mob icons. icon_state = "mjollnir[wielded]" return @@ -110,6 +110,6 @@ if(isliving(hit_atom)) shock(hit_atom) -/obj/item/twohanded/mjollnir/update_icon() //Currently only here to fuck with the on-mob icons. +/obj/item/twohanded/mjollnir/update_icon_state() //Currently only here to fuck with the on-mob icons. icon_state = "mjollnir[wielded]" return diff --git a/code/game/objects/items/stacks/bscrystal.dm b/code/game/objects/items/stacks/bscrystal.dm index e2357e8f6d..f864df5a21 100644 --- a/code/game/objects/items/stacks/bscrystal.dm +++ b/code/game/objects/items/stacks/bscrystal.dm @@ -6,7 +6,7 @@ icon_state = "bluespace_crystal" singular_name = "bluespace crystal" w_class = WEIGHT_CLASS_TINY - materials = list(MAT_BLUESPACE=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/bluespace=MINERAL_MATERIAL_AMOUNT) points = 50 var/blink_range = 8 // The teleport range when crushed/thrown at someone. refined_type = /obj/item/stack/sheet/bluespace_crystal @@ -49,7 +49,7 @@ /obj/item/stack/ore/bluespace_crystal/artificial name = "artificial bluespace crystal" desc = "An artificially made bluespace crystal, it looks delicate." - materials = list(MAT_BLUESPACE=MINERAL_MATERIAL_AMOUNT*0.5) + custom_materials = list(/datum/material/bluespace=MINERAL_MATERIAL_AMOUNT*0.5) blink_range = 4 // Not as good as the organic stuff! points = 0 //nice try refined_type = null @@ -63,7 +63,7 @@ item_state = "sheet-polycrystal" singular_name = "bluespace polycrystal" desc = "A stable polycrystal, made of fused-together bluespace crystals. You could probably break one off." - materials = list(MAT_BLUESPACE=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/bluespace=MINERAL_MATERIAL_AMOUNT) attack_verb = list("bluespace polybashed", "bluespace polybattered", "bluespace polybludgeoned", "bluespace polythrashed", "bluespace polysmashed") novariants = TRUE grind_results = list(/datum/reagent/bluespace = 20) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index baf099fdb5..205ce57251 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -126,7 +126,7 @@ heal_brute = 0 /obj/item/stack/medical/gauze/cyborg - materials = list() + custom_materials = null is_cyborg = 1 cost = 250 diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 537873624c..e919f3fe02 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -16,7 +16,8 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ throwforce = 10 throw_speed = 3 throw_range = 7 - materials = list(MAT_METAL=1000) + custom_materials = list(/datum/material/iron=1000) + mats_per_stack = 1000 max_amount = 50 attack_verb = list("hit", "bludgeoned", "whacked") hitsound = 'sound/weapons/grenadelaunch.ogg' @@ -25,16 +26,18 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ /obj/item/stack/rods/suicide_act(mob/living/carbon/user) user.visible_message("[user] begins to stuff \the [src] down [user.p_their()] throat! It looks like [user.p_theyre()] trying to commit suicide!")//it looks like theyre ur mum return BRUTELOSS - + /obj/item/stack/rods/Initialize(mapload, new_amount, merge = TRUE) . = ..() - - recipes = GLOB.rod_recipes update_icon() -/obj/item/stack/rods/update_icon() +/obj/item/stack/rods/get_main_recipes() + . = ..() + . += GLOB.rod_recipes + +/obj/item/stack/rods/update_icon_state() var/amount = get_amount() - if((amount <= 5) && (amount > 0)) + if(amount <= 5) icon_state = "rods-[amount]" else icon_state = "rods" @@ -70,12 +73,13 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ return ..() /obj/item/stack/rods/cyborg - materials = list() + custom_materials = null is_cyborg = 1 cost = 250 -/obj/item/stack/rods/cyborg/update_icon() - return +/obj/item/stack/rods/cyborg/ComponentInitialize() + . = ..() + AddElement(/datum/element/update_icon_blocker) /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 7879f50ada..75db89f616 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -31,11 +31,12 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \ singular_name = "glass sheet" icon_state = "sheet-glass" item_state = "sheet-glass" - materials = list(MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/glass=MINERAL_MATERIAL_AMOUNT) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/glass grind_results = list(/datum/reagent/silicon = 20) + material_type = /datum/material/glass point_value = 1 tableVariant = /obj/structure/table/glass shard_type = /obj/item/shard @@ -45,7 +46,7 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \ return BRUTELOSS /obj/item/stack/sheet/glass/cyborg - materials = list() + custom_materials = null is_cyborg = 1 cost = 500 @@ -55,9 +56,9 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \ /obj/item/stack/sheet/glass/five amount = 5 -/obj/item/stack/sheet/glass/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.glass_recipes - return ..() +/obj/item/stack/sheet/glass/get_main_recipes() + . = ..() + . += GLOB.glass_recipes /obj/item/stack/sheet/glass/attackby(obj/item/W, mob/user, params) add_fingerprint(user) @@ -100,20 +101,21 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( \ singular_name = "plasma glass sheet" icon_state = "sheet-pglass" item_state = "sheet-pglass" - materials = list(MAT_PLASMA=MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/plasma=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass=MINERAL_MATERIAL_AMOUNT) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 75, "acid" = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/plasmaglass grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/toxin/plasma = 10) tableVariant = /obj/structure/table/plasmaglass + material_flags = MATERIAL_NO_EFFECTS shard_type = /obj/item/shard/plasma /obj/item/stack/sheet/plasmaglass/fifty amount = 50 -/obj/item/stack/sheet/plasmaglass/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.pglass_recipes - return ..() +/obj/item/stack/sheet/plasmaglass/get_main_recipes() + . = ..() + . += GLOB.pglass_recipes /obj/item/stack/sheet/plasmaglass/attackby(obj/item/W, mob/user, params) add_fingerprint(user) @@ -155,7 +157,7 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \ singular_name = "reinforced glass sheet" icon_state = "sheet-rglass" item_state = "sheet-rglass" - materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/iron=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass=MINERAL_MATERIAL_AMOUNT) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/rglass @@ -171,7 +173,7 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \ S.obj_integrity *= 2 /obj/item/stack/sheet/rglass/cyborg - materials = list() + custom_materials = null var/datum/robot_energy_storage/glasource var/metcost = 250 var/glacost = 500 @@ -187,9 +189,9 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \ source.add_charge(amount * metcost) glasource.add_charge(amount * glacost) -/obj/item/stack/sheet/rglass/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.reinforced_glass_recipes - return ..() +/obj/item/stack/sheet/rglass/get_main_recipes() + . = ..() + . += GLOB.reinforced_glass_recipes GLOBAL_LIST_INIT(prglass_recipes, list ( \ new/datum/stack_recipe("directional reinforced window", /obj/structure/window/plasma/reinforced/unanchored, time = 0, on_floor = TRUE, window_checks = TRUE), \ @@ -202,22 +204,23 @@ GLOBAL_LIST_INIT(prglass_recipes, list ( \ singular_name = "reinforced plasma glass sheet" icon_state = "sheet-prglass" item_state = "sheet-prglass" - materials = list(MAT_PLASMA=MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS=MINERAL_MATERIAL_AMOUNT, MAT_METAL=MINERAL_MATERIAL_AMOUNT * 0.5,) + custom_materials = list(/datum/material/plasma=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass=MINERAL_MATERIAL_AMOUNT, /datum/material/iron=MINERAL_MATERIAL_AMOUNT * 0.5,) armor = list("melee" = 20, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100) resistance_flags = ACID_PROOF + material_flags = MATERIAL_NO_EFFECTS merge_type = /obj/item/stack/sheet/plasmarglass grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/toxin/plasma = 10, /datum/reagent/iron = 10) point_value = 23 shard_type = /obj/item/shard/plasma +/obj/item/stack/sheet/plasmarglass/get_main_recipes() + . = ..() + . += GLOB.prglass_recipes + /obj/item/stack/sheet/plasmarglass/on_solar_construction(obj/machinery/power/solar/S) S.obj_integrity *= 2.2 S.efficiency *= 1.2 -/obj/item/stack/sheet/plasmarglass/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.prglass_recipes - return ..() - GLOBAL_LIST_INIT(titaniumglass_recipes, list( new/datum/stack_recipe("shuttle window", /obj/structure/window/shuttle/unanchored, 2, time = 0, on_floor = TRUE, window_checks = TRUE) )) @@ -228,20 +231,20 @@ GLOBAL_LIST_INIT(titaniumglass_recipes, list( singular_name = "titanium glass sheet" icon_state = "sheet-titaniumglass" item_state = "sheet-titaniumglass" - materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/titanium=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass=MINERAL_MATERIAL_AMOUNT) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/titaniumglass shard_type = /obj/item/shard +/obj/item/stack/sheet/titaniumglass/get_main_recipes() + . = ..() + . += GLOB.titaniumglass_recipes + /obj/item/stack/sheet/titaniumglass/on_solar_construction(obj/machinery/power/solar/S) S.obj_integrity *= 2.5 S.efficiency *= 1.5 -/obj/item/stack/sheet/titaniumglass/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.titaniumglass_recipes - return ..() - GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( new/datum/stack_recipe("plastitanium window", /obj/structure/window/plastitanium/unanchored, 2, time = 0, on_floor = TRUE, window_checks = TRUE) )) @@ -252,15 +255,19 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( singular_name = "plastitanium glass sheet" icon_state = "sheet-plastitaniumglass" item_state = "sheet-plastitaniumglass" - materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT * 0.5, MAT_PLASMA=MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/titanium=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/plasma=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass=MINERAL_MATERIAL_AMOUNT) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100) + material_flags = MATERIAL_NO_EFFECTS resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/plastitaniumglass shard_type = /obj/item/shard -/obj/item/stack/sheet/plastitaniumglass/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.plastitaniumglass_recipes - return ..() +/obj/item/stack/sheet/plastitaniumglass/fifty + amount = 50 + +/obj/item/stack/sheet/plastitaniumglass/get_main_recipes() + . = ..() + . += GLOB.plastitaniumglass_recipes /obj/item/stack/sheet/titaniumglass/on_solar_construction(obj/machinery/power/solar/S) S.obj_integrity *= 2 @@ -277,7 +284,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( item_state = "shard-glass" lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' - materials = list(MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/glass=MINERAL_MATERIAL_AMOUNT) attack_verb = list("stabbed", "slashed", "sliced", "cut") hitsound = 'sound/weapons/bladeslice.ogg' resistance_flags = ACID_PROOF @@ -376,7 +383,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( force = 6 throwforce = 11 icon_state = "plasmalarge" - materials = list(MAT_PLASMA=MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/plasma=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass=MINERAL_MATERIAL_AMOUNT) icon_prefix = "plasma" /obj/item/shard/plasma/alien diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 0b85bf351e..2ffa38ea3c 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -15,9 +15,9 @@ GLOBAL_LIST_INIT(human_recipes, list( \ new/datum/stack_recipe("bloated human costume", /obj/item/clothing/suit/hooded/bloated_human, 5), \ )) -/obj/item/stack/sheet/animalhide/human/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.human_recipes - return ..() +/obj/item/stack/sheet/animalhide/human/get_main_recipes() + . = ..() + . += GLOB.human_recipes /obj/item/stack/sheet/animalhide/generic name = "skin" @@ -46,17 +46,17 @@ GLOBAL_LIST_INIT(gondola_recipes, list ( \ icon_state = "sheet-gondola" item_state = "sheet-gondola" -/obj/item/stack/sheet/animalhide/gondola/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.gondola_recipes - return ..() +/obj/item/stack/sheet/animalhide/gondola/get_main_recipes() + . = ..() + . += GLOB.gondola_recipes GLOBAL_LIST_INIT(corgi_recipes, list ( \ new/datum/stack_recipe("corgi costume", /obj/item/clothing/suit/hooded/ian_costume, 3), \ )) -/obj/item/stack/sheet/animalhide/corgi/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.corgi_recipes - return ..() +/obj/item/stack/sheet/animalhide/corgi/get_main_recipes() + . = ..() + . += GLOB.corgi_recipes /obj/item/stack/sheet/animalhide/cat name = "cat hide" @@ -77,9 +77,9 @@ GLOBAL_LIST_INIT(monkey_recipes, list ( \ new/datum/stack_recipe("monkey suit", /obj/item/clothing/suit/monkeysuit, 2), \ )) -/obj/item/stack/sheet/animalhide/monkey/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.monkey_recipes - return ..() +/obj/item/stack/sheet/animalhide/monkey/get_main_recipes() + . = ..() + . += GLOB.monkey_recipes /obj/item/stack/sheet/animalhide/lizard name = "lizard skin" @@ -100,9 +100,9 @@ GLOBAL_LIST_INIT(xeno_recipes, list ( \ new/datum/stack_recipe("alien suit", /obj/item/clothing/suit/xenos, 2), \ )) -/obj/item/stack/sheet/animalhide/xeno/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.xeno_recipes - return ..() +/obj/item/stack/sheet/animalhide/xeno/get_main_recipes() + . = ..() + . += GLOB.xeno_recipes //don't see anywhere else to put these, maybe together they could be used to make the xenos suit? /obj/item/stack/sheet/xenochitin @@ -163,9 +163,9 @@ GLOBAL_LIST_INIT(leather_recipes, list ( \ new/datum/stack_recipe("leather overcoat", /obj/item/clothing/suit/jacket/leather/overcoat, 10), \ )) -/obj/item/stack/sheet/leather/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.leather_recipes - return ..() +/obj/item/stack/sheet/leather/get_main_recipes() + . = ..() + . += GLOB.leather_recipes /* * Sinew @@ -183,9 +183,9 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \ new/datum/stack_recipe("sinew restraints", /obj/item/restraints/handcuffs/sinew, 1), \ )) -/obj/item/stack/sheet/sinew/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.sinew_recipes - return ..() +/obj/item/stack/sheet/sinew/get_main_recipes() + . = ..() + . += GLOB.sinew_recipes /* * Plates diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 828ed96387..4a7156db72 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -19,11 +19,6 @@ Mineral Sheets - Coal */ -/obj/item/stack/sheet/mineral/Initialize(mapload) - pixel_x = rand(-4, 4) - pixel_y = rand(-4, 4) - . = ..() - /* * Sandstone */ @@ -44,13 +39,13 @@ GLOBAL_LIST_INIT(sandstone_recipes, list ( \ item_state = "sheet-sandstone" throw_speed = 3 throw_range = 5 - materials = list(MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/glass=MINERAL_MATERIAL_AMOUNT) sheettype = "sandstone" merge_type = /obj/item/stack/sheet/mineral/sandstone -/obj/item/stack/sheet/mineral/sandstone/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.sandstone_recipes +/obj/item/stack/sheet/mineral/sandstone/get_main_recipes() . = ..() + . += GLOB.sandstone_recipes /obj/item/stack/sheet/mineral/sandstone/thirty amount = 30 @@ -74,9 +69,9 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \ new/datum/stack_recipe("sandbags", /obj/structure/barricade/sandbags, 1, time = 25, one_per_turf = 1, on_floor = 1), \ )) -/obj/item/stack/sheet/mineral/sandbags/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.sandbag_recipes +/obj/item/stack/sheet/mineral/sandbags/get_main_recipes() . = ..() + . += GLOB.sandbag_recipes /obj/item/emptysandbag name = "empty sandbag" @@ -106,11 +101,12 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \ item_state = "sheet-diamond" singular_name = "diamond" sheettype = "diamond" - materials = list(MAT_DIAMOND=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/diamond=MINERAL_MATERIAL_AMOUNT) novariants = TRUE grind_results = list(/datum/reagent/carbon = 20) point_value = 25 merge_type = /obj/item/stack/sheet/mineral/diamond + material_type = /datum/material/diamond GLOBAL_LIST_INIT(diamond_recipes, list ( \ new/datum/stack_recipe("diamond door", /obj/structure/mineral_door/transparent/diamond, 10, one_per_turf = 1, on_floor = 1), \ @@ -120,9 +116,9 @@ GLOBAL_LIST_INIT(diamond_recipes, list ( \ new/datum/stack_recipe("AI Core Statue", /obj/structure/statue/diamond/ai2, 5, one_per_turf = 1, on_floor = 1), \ )) -/obj/item/stack/sheet/mineral/diamond/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.diamond_recipes +/obj/item/stack/sheet/mineral/diamond/get_main_recipes() . = ..() + . += GLOB.diamond_recipes /* * Uranium @@ -133,11 +129,12 @@ GLOBAL_LIST_INIT(diamond_recipes, list ( \ item_state = "sheet-uranium" singular_name = "uranium sheet" sheettype = "uranium" - materials = list(MAT_URANIUM=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/uranium=MINERAL_MATERIAL_AMOUNT) novariants = TRUE grind_results = list(/datum/reagent/uranium = 20) point_value = 20 merge_type = /obj/item/stack/sheet/mineral/uranium + material_type = /datum/material/uranium GLOBAL_LIST_INIT(uranium_recipes, list ( \ new/datum/stack_recipe("uranium door", /obj/structure/mineral_door/uranium, 10, one_per_turf = 1, on_floor = 1), \ @@ -146,9 +143,9 @@ GLOBAL_LIST_INIT(uranium_recipes, list ( \ new/datum/stack_recipe("Engineer Statue", /obj/structure/statue/uranium/eng, 5, one_per_turf = 1, on_floor = 1), \ )) -/obj/item/stack/sheet/mineral/uranium/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.uranium_recipes +/obj/item/stack/sheet/mineral/uranium/get_main_recipes() . = ..() + . += GLOB.uranium_recipes /* * Plasma @@ -161,10 +158,11 @@ GLOBAL_LIST_INIT(uranium_recipes, list ( \ sheettype = "plasma" resistance_flags = FLAMMABLE max_integrity = 100 - materials = list(MAT_PLASMA=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/plasma=MINERAL_MATERIAL_AMOUNT) grind_results = list(/datum/reagent/toxin/plasma = 20) point_value = 20 merge_type = /obj/item/stack/sheet/mineral/plasma + material_type = /datum/material/plasma /obj/item/stack/sheet/mineral/plasma/suicide_act(mob/living/carbon/user) user.visible_message("[user] begins licking \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") @@ -176,9 +174,9 @@ GLOBAL_LIST_INIT(plasma_recipes, list ( \ new/datum/stack_recipe("Scientist Statue", /obj/structure/statue/plasma/scientist, 5, one_per_turf = 1, on_floor = 1), \ )) -/obj/item/stack/sheet/mineral/plasma/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.plasma_recipes +/obj/item/stack/sheet/mineral/plasma/get_main_recipes() . = ..() + . += GLOB.plasma_recipes /obj/item/stack/sheet/mineral/plasma/attackby(obj/item/W as obj, mob/user as mob, params) if(W.get_temperature() > 300)//If the temperature of the object is over 300, then ignite @@ -202,10 +200,11 @@ GLOBAL_LIST_INIT(plasma_recipes, list ( \ item_state = "sheet-gold" singular_name = "gold bar" sheettype = "gold" - materials = list(MAT_GOLD=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/gold=MINERAL_MATERIAL_AMOUNT) grind_results = list(/datum/reagent/gold = 20) point_value = 20 merge_type = /obj/item/stack/sheet/mineral/gold + material_type = /datum/material/gold GLOBAL_LIST_INIT(gold_recipes, list ( \ new/datum/stack_recipe("golden door", /obj/structure/mineral_door/gold, 10, one_per_turf = 1, on_floor = 1), \ @@ -218,9 +217,9 @@ GLOBAL_LIST_INIT(gold_recipes, list ( \ new/datum/stack_recipe("CMO Statue", /obj/structure/statue/gold/cmo, 5, one_per_turf = 1, on_floor = 1), \ )) -/obj/item/stack/sheet/mineral/gold/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.gold_recipes +/obj/item/stack/sheet/mineral/gold/get_main_recipes() . = ..() + . += GLOB.gold_recipes /* * Silver @@ -231,10 +230,11 @@ GLOBAL_LIST_INIT(gold_recipes, list ( \ item_state = "sheet-silver" singular_name = "silver bar" sheettype = "silver" - materials = list(MAT_SILVER=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/silver=MINERAL_MATERIAL_AMOUNT) grind_results = list(/datum/reagent/silver = 20) point_value = 20 merge_type = /obj/item/stack/sheet/mineral/silver + material_type = /datum/material/silver tableVariant = /obj/structure/table/optable GLOBAL_LIST_INIT(silver_recipes, list ( \ @@ -247,9 +247,9 @@ GLOBAL_LIST_INIT(silver_recipes, list ( \ new/datum/stack_recipe("Med Borg Statue", /obj/structure/statue/silver/medborg, 5, one_per_turf = 1, on_floor = 1), \ )) -/obj/item/stack/sheet/mineral/silver/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.silver_recipes +/obj/item/stack/sheet/mineral/silver/get_main_recipes() . = ..() + . += GLOB.silver_recipes /* * Clown @@ -260,20 +260,21 @@ GLOBAL_LIST_INIT(silver_recipes, list ( \ item_state = "sheet-bananium" singular_name = "bananium sheet" sheettype = "bananium" - materials = list(MAT_BANANIUM=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/bananium=MINERAL_MATERIAL_AMOUNT) novariants = TRUE grind_results = list(/datum/reagent/consumable/banana = 20) point_value = 50 merge_type = /obj/item/stack/sheet/mineral/bananium + material_type = /datum/material/bananium GLOBAL_LIST_INIT(bananium_recipes, list ( \ new/datum/stack_recipe("bananium tile", /obj/item/stack/tile/mineral/bananium, 1, 4, 20), \ new/datum/stack_recipe("Clown Statue", /obj/structure/statue/bananium/clown, 5, one_per_turf = 1, on_floor = 1), \ )) -/obj/item/stack/sheet/mineral/bananium/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.bananium_recipes +/obj/item/stack/sheet/mineral/bananium/get_main_recipes() . = ..() + . += GLOB.bananium_recipes /* * Titanium @@ -289,17 +290,18 @@ GLOBAL_LIST_INIT(bananium_recipes, list ( \ throw_speed = 1 throw_range = 3 sheettype = "titanium" - materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/titanium=MINERAL_MATERIAL_AMOUNT) point_value = 20 merge_type = /obj/item/stack/sheet/mineral/titanium + material_type = /datum/material/titanium GLOBAL_LIST_INIT(titanium_recipes, list ( \ new/datum/stack_recipe("titanium tile", /obj/item/stack/tile/mineral/titanium, 1, 4, 20), \ )) -/obj/item/stack/sheet/mineral/titanium/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.titanium_recipes +/obj/item/stack/sheet/mineral/titanium/get_main_recipes() . = ..() + . += GLOB.titanium_recipes /obj/item/stack/sheet/mineral/titanium/fifty amount = 50 @@ -319,17 +321,21 @@ GLOBAL_LIST_INIT(titanium_recipes, list ( \ throw_speed = 1 throw_range = 3 sheettype = "plastitanium" - materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT, MAT_PLASMA=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/titanium=MINERAL_MATERIAL_AMOUNT, /datum/material/plasma=MINERAL_MATERIAL_AMOUNT) point_value = 45 merge_type = /obj/item/stack/sheet/mineral/plastitanium + material_flags = MATERIAL_NO_EFFECTS + +/obj/item/stack/sheet/mineral/plastitanium/fifty + amount = 50 GLOBAL_LIST_INIT(plastitanium_recipes, list ( \ new/datum/stack_recipe("plastitanium tile", /obj/item/stack/tile/mineral/plastitanium, 1, 4, 20), \ )) -/obj/item/stack/sheet/mineral/plastitanium/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.plastitanium_recipes +/obj/item/stack/sheet/mineral/plastitanium/get_main_recipes() . = ..() + . += GLOB.plastitanium_recipes /****************************** Others ****************************/ @@ -345,11 +351,26 @@ GLOBAL_LIST_INIT(adamantine_recipes, list( icon_state = "sheet-adamantine" item_state = "sheet-adamantine" singular_name = "adamantine sheet" + custom_materials = list(/datum/material/adamantine=MINERAL_MATERIAL_AMOUNT) merge_type = /obj/item/stack/sheet/mineral/adamantine -/obj/item/stack/sheet/mineral/adamantine/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.adamantine_recipes +/obj/item/stack/sheet/mineral/adamantine/get_main_recipes() . = ..() + . += GLOB.adamantine_recipes + +/* + * Runite + */ + +/obj/item/stack/sheet/mineral/runite + name = "Runite" + desc = "Rare material found in distant lands." + singular_name = "runite bar" + icon_state = "sheet-runite" + item_state = "sheet-runite" + custom_materials = list(/datum/material/runite=MINERAL_MATERIAL_AMOUNT) + merge_type = /obj/item/stack/sheet/mineral/runite + material_type = /datum/material/runite /* * Mythril @@ -360,6 +381,7 @@ GLOBAL_LIST_INIT(adamantine_recipes, list( item_state = "sheet-mythril" singular_name = "mythril sheet" novariants = TRUE + custom_materials = list(/datum/material/mythril=MINERAL_MATERIAL_AMOUNT) merge_type = /obj/item/stack/sheet/mineral/mythril /* @@ -381,9 +403,9 @@ GLOBAL_LIST_INIT(snow_recipes, list ( \ new/datum/stack_recipe("Snowball", /obj/item/toy/snowball, 1), \ )) -/obj/item/stack/sheet/mineral/snow/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.snow_recipes +/obj/item/stack/sheet/mineral/snow/get_main_recipes() . = ..() + . += GLOB.snow_recipes /* * Alien Alloy @@ -408,9 +430,9 @@ GLOBAL_LIST_INIT(abductor_recipes, list ( \ new/datum/stack_recipe("alien floor tile", /obj/item/stack/tile/mineral/abductor, 1, 4, 20), \ )) -/obj/item/stack/sheet/mineral/abductor/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.abductor_recipes +/obj/item/stack/sheet/mineral/abductor/get_main_recipes() . = ..() + . += GLOB.abductor_recipes /* * Coal diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 45911afc73..0eefb88417 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -24,7 +24,6 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ new/datum/stack_recipe("stool", /obj/structure/chair/stool, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("bar stool", /obj/structure/chair/stool/bar, one_per_turf = TRUE, on_floor = TRUE), \ - new/datum/stack_recipe("chair", /obj/structure/chair, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("bed", /obj/structure/bed, 2, one_per_turf = TRUE, on_floor = TRUE), \ //CIT CHANGE - adds sofas to metal recipe list new/datum/stack_recipe_list("sofas", list( \ @@ -107,14 +106,14 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ singular_name = "metal sheet" icon_state = "sheet-metal" item_state = "sheet-metal" - materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/iron=MINERAL_MATERIAL_AMOUNT) throwforce = 10 flags_1 = CONDUCT_1 resistance_flags = FIRE_PROOF merge_type = /obj/item/stack/sheet/metal grind_results = list(/datum/reagent/iron = 20) point_value = 2 - tableVariant = /obj/structure/table + material_type = /datum/material/iron /obj/item/stack/sheet/metal/ratvar_act() new /obj/item/stack/tile/brass(loc, amount) @@ -137,13 +136,13 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ amount = 5 /obj/item/stack/sheet/metal/cyborg - materials = list() + custom_materials = null is_cyborg = 1 cost = 500 -/obj/item/stack/sheet/metal/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.metal_recipes - return ..() +/obj/item/stack/sheet/metal/get_main_recipes() + . = ..() + . += GLOB.metal_recipes /obj/item/stack/sheet/metal/suicide_act(mob/living/carbon/user) user.visible_message("[user] begins whacking [user.p_them()]self over the head with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") @@ -169,7 +168,7 @@ GLOBAL_LIST_INIT(plasteel_recipes, list ( \ desc = "This sheet is an alloy of iron and plasma." icon_state = "sheet-plasteel" item_state = "sheet-metal" - materials = list(MAT_METAL=2000, MAT_PLASMA=2000) + custom_materials = list(/datum/material/iron=2000, /datum/material/plasma=2000) throwforce = 10 flags_1 = CONDUCT_1 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 80) @@ -178,10 +177,11 @@ GLOBAL_LIST_INIT(plasteel_recipes, list ( \ grind_results = list(/datum/reagent/iron = 20, /datum/reagent/toxin/plasma = 20) point_value = 23 tableVariant = /obj/structure/table/reinforced + material_flags = MATERIAL_NO_EFFECTS -/obj/item/stack/sheet/plasteel/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.plasteel_recipes - return ..() +/obj/item/stack/sheet/plasteel/get_main_recipes() + . = ..() + . += GLOB.plasteel_recipes /obj/item/stack/sheet/plasteel/twenty amount = 20 @@ -275,9 +275,9 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ else . = ..() -/obj/item/stack/sheet/mineral/wood/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.wood_recipes - return ..() +/obj/item/stack/sheet/mineral/wood/get_main_recipes() + . = ..() + . += GLOB.wood_recipes /obj/item/stack/sheet/mineral/wood/twenty amount = 20 @@ -307,9 +307,9 @@ GLOBAL_LIST_INIT(bamboo_recipes, list ( \ merge_type = /obj/item/stack/sheet/mineral/bamboo grind_results = list(/datum/reagent/carbon = 5) -/obj/item/stack/sheet/mineral/bamboo/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.bamboo_recipes - return ..() +/obj/item/stack/sheet/mineral/bamboo/get_main_recipes() + . = ..() + . += GLOB.bamboo_recipes /obj/item/stack/sheet/mineral/bamboo/ten amount = 10 @@ -363,9 +363,9 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \ loom_result = /obj/item/stack/sheet/silk merge_type = /obj/item/stack/sheet/cloth -/obj/item/stack/sheet/cloth/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.cloth_recipes - return ..() +/obj/item/stack/sheet/cloth/get_main_recipes() + . = ..() + . += GLOB.cloth_recipes /obj/item/stack/sheet/cloth/ten amount = 10 @@ -376,23 +376,31 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \ /* * Silk */ + + GLOBAL_LIST_INIT(silk_recipes, list ( \ + new/datum/stack_recipe("white jumpsuit", /obj/item/clothing/under/color/white, 4, time = 40), \ + new/datum/stack_recipe("white gloves", /obj/item/clothing/gloves/color/white, 2, time = 40), \ + null, \ + new/datum/stack_recipe("silk string", /obj/item/weaponcrafting/silkstring, 1, time = 40), \ + )) + /obj/item/stack/sheet/silk name = "silk" - desc = "A long soft material. This one is just made out of cotton rather then any spiders or wyrms" + desc = "A long, soft material. Made out of refined cotton, instead of relying on the habits of spiders or silkworms." singular_name = "silk sheet" icon_state = "sheet-silk" item_state = "sheet-cloth" novariants = TRUE merge_type = /obj/item/stack/sheet/silk -//obj/item/stack/sheet/silk/Initialize(mapload, new_amount, merge = TRUE) -// recipes = GLOB.silk_recipes -// return ..() +/obj/item/stack/sheet/silk/get_main_recipes() + . = ..() + . += GLOB.silk_recipes /* * Durathread */ - GLOBAL_LIST_INIT(durathread_recipes, list ( \ +GLOBAL_LIST_INIT(durathread_recipes, list ( \ new/datum/stack_recipe("durathread jumpsuit", /obj/item/clothing/under/durathread, 4, time = 40), new/datum/stack_recipe("durathread beret", /obj/item/clothing/head/beret/durathread, 2, time = 40), \ new/datum/stack_recipe("durathread beanie", /obj/item/clothing/head/beanie/durathread, 2, time = 40), \ @@ -410,9 +418,9 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \ throwforce = 0 merge_type = /obj/item/stack/sheet/durathread -/obj/item/stack/sheet/durathread/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.durathread_recipes - return ..() +/obj/item/stack/sheet/durathread/get_main_recipes() + . = ..() + . += GLOB.durathread_recipes /* * Cardboard @@ -489,9 +497,9 @@ GLOBAL_LIST_INIT(cardboard_recipes, list ( \ merge_type = /obj/item/stack/sheet/cardboard novariants = TRUE -/obj/item/stack/sheet/cardboard/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.cardboard_recipes - return ..() +/obj/item/stack/sheet/cardboard/get_main_recipes() + . = ..() + . += GLOB.cardboard_recipes /obj/item/stack/sheet/cardboard/fifty amount = 50 @@ -547,9 +555,9 @@ GLOBAL_LIST_INIT(runed_metal_recipes, list ( \ return FALSE return ..() -/obj/item/stack/sheet/runed_metal/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.runed_metal_recipes - return ..() +/obj/item/stack/sheet/runed_metal/get_main_recipes() + . = ..() + . += GLOB.runed_metal_recipes /obj/item/stack/sheet/runed_metal/fifty amount = 50 @@ -619,11 +627,9 @@ GLOBAL_LIST_INIT(brass_recipes, list ( \ return ..() -/obj/item/stack/tile/brass/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.brass_recipes +/obj/item/stack/tile/brass/get_main_recipes() . = ..() - pixel_x = 0 - pixel_y = 0 + . += GLOB.brass_recipes /obj/item/stack/tile/brass/fifty amount = 50 @@ -667,11 +673,9 @@ GLOBAL_LIST_INIT(bronze_recipes, list ( \ to_chat(user, "Wha... what is this cheap imitation crap? This isn't brass at all!") ..() -/obj/item/stack/tile/bronze/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.bronze_recipes +/obj/item/stack/tile/bronze/get_main_recipes() . = ..() - pixel_x = 0 - pixel_y = 0 + . += GLOB.bronze_recipes /obj/item/stack/tile/bronze/thirty amount = 30 @@ -705,10 +709,6 @@ GLOBAL_LIST_INIT(bone_recipes, list( new /datum/stack_recipe("Skull Helmet", /obj/item/clothing/head/helmet/skull, 4, time = 30), \ new /datum/stack_recipe("Bone Armor", /obj/item/clothing/suit/armor/bone, 6, time = 30))) -/obj/item/stack/sheet/bone/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.bone_recipes - . = ..() - /obj/item/stack/sheet/bone name = "bones" icon = 'icons/obj/mining.dmi' @@ -725,6 +725,10 @@ GLOBAL_LIST_INIT(bone_recipes, list( grind_results = list(/datum/reagent/carbon = 10) merge_type = /obj/item/stack/sheet/bone +/obj/item/stack/sheet/bone/get_main_recipes() + . = ..() + . += GLOB.bone_recipes + /* * Plastic */ @@ -742,7 +746,7 @@ GLOBAL_LIST_INIT(plastic_recipes, list( singular_name = "plastic sheet" icon_state = "sheet-plastic" item_state = "sheet-plastic" - materials = list(MAT_PLASTIC=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/plastic=MINERAL_MATERIAL_AMOUNT) throwforce = 7 grind_results = list(/datum/reagent/glitter/white = 60) merge_type = /obj/item/stack/sheet/plastic @@ -753,9 +757,9 @@ GLOBAL_LIST_INIT(plastic_recipes, list( /obj/item/stack/sheet/plastic/five amount = 5 -/obj/item/stack/sheet/plastic/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.plastic_recipes +/obj/item/stack/sheet/plastic/get_main_recipes() . = ..() + . += GLOB.plastic_recipes GLOBAL_LIST_INIT(paperframe_recipes, list( new /datum/stack_recipe("paper frame separator", /obj/structure/window/paperframe, 2, one_per_turf = TRUE, on_floor = TRUE, time = 10), \ @@ -771,9 +775,10 @@ new /datum/stack_recipe("paper frame door", /obj/structure/mineral_door/paperfra resistance_flags = FLAMMABLE merge_type = /obj/item/stack/sheet/paperframes -/obj/item/stack/sheet/paperframes/Initialize() - recipes = GLOB.paperframe_recipes +/obj/item/stack/sheet/paperframes/get_main_recipes() . = ..() + . += GLOB.paperframe_recipes + /obj/item/stack/sheet/paperframes/five amount = 5 /obj/item/stack/sheet/paperframes/twenty diff --git a/code/game/objects/items/stacks/sheets/sheets.dm b/code/game/objects/items/stacks/sheets/sheets.dm index b7ab760659..378855707e 100644 --- a/code/game/objects/items/stacks/sheets/sheets.dm +++ b/code/game/objects/items/stacks/sheets/sheets.dm @@ -10,7 +10,7 @@ throw_range = 3 attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "smashed") novariants = FALSE - var/perunit = MINERAL_MATERIAL_AMOUNT + mats_per_stack = MINERAL_MATERIAL_AMOUNT var/sheettype = null //this is used for girders in the creation of walls/false walls var/point_value = 0 //turn-in value for the gulag stacker - loosely relative to its rarity var/is_fabric = FALSE //is this a valid material for the loom? @@ -18,6 +18,11 @@ var/pull_effort = 0 //amount of delay when pulling on the loom var/shard_type // the shard debris typepath left over by solar panels and windows etc. +/obj/item/stack/sheet/Initialize(mapload, new_amount, merge) + . = ..() + pixel_x = rand(-4, 4) + pixel_y = rand(-4, 4) + /** * Called on the glass sheet upon solar construction (duh): * Different glass sheets can modify different stas/vars, such as obj_integrity or efficiency diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 36c4992e8f..f07b9bfd33 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -11,6 +11,7 @@ /obj/item/stack icon = 'icons/obj/stack_objects.dmi' gender = PLURAL + material_modifier = 0.01 var/list/datum/stack_recipe/recipes var/singular_name var/amount = 1 @@ -21,6 +22,9 @@ var/merge_type = null // This path and its children should merge with this stack, defaults to src.type var/full_w_class = WEIGHT_CLASS_NORMAL //The weight class the stack should have at amount > 2/3rds max_amount var/novariants = TRUE //Determines whether the item should update it's sprites based on amount. + var/mats_per_stack = 0 + ///Datum material type that this stack is made of + var/material_type //NOTE: When adding grind_results, the amounts should be for an INDIVIDUAL ITEM - these amounts will be multiplied by the stack size in on_grind() var/obj/structure/table/tableVariant // we tables now (stores table variant to be built from this stack) @@ -35,7 +39,6 @@ return TRUE /obj/item/stack/Initialize(mapload, new_amount, merge = TRUE) - . = ..() if(new_amount != null) amount = new_amount while(amount > max_amount) @@ -43,13 +46,29 @@ new type(loc, max_amount, FALSE) if(!merge_type) merge_type = type + if(custom_materials && custom_materials.len) + for(var/i in custom_materials) + custom_materials[getmaterialref(i)] = mats_per_stack * amount + . = ..() if(merge) for(var/obj/item/stack/S in loc) if(S.merge_type == merge_type) merge(S) + var/list/temp_recipes = get_main_recipes() + recipes = temp_recipes.Copy() + if(material_type) + var/datum/material/M = getmaterialref(material_type) //First/main material + for(var/i in M.categories) + switch(i) + if(MAT_CATEGORY_RIGID) + var/list/temp = SSmaterials.rigid_stack_recipes.Copy() + recipes += temp update_weight() update_icon() +/obj/item/stack/proc/get_main_recipes() + return list()//empty list + /obj/item/stack/proc/update_weight() if(amount <= (max_amount * (1/3))) w_class = CLAMP(full_w_class-2, WEIGHT_CLASS_TINY, full_w_class) @@ -58,16 +77,15 @@ else w_class = full_w_class -/obj/item/stack/update_icon() +/obj/item/stack/update_icon_state() if(novariants) - return ..() + return if(amount <= (max_amount * (1/3))) icon_state = initial(icon_state) else if (amount <= (max_amount * (2/3))) icon_state = "[initial(icon_state)]_2" else icon_state = "[initial(icon_state)]_3" - ..() /obj/item/stack/Destroy() @@ -204,6 +222,12 @@ use(R.req_amount * multiplier) log_craft("[O] crafted by [usr] at [loc_name(O.loc)]") + if(R.applies_mats && custom_materials && custom_materials.len) + var/list/used_materials = list() + for(var/i in custom_materials) + used_materials[getmaterialref(i)] = R.req_amount / R.res_amount * (MINERAL_MATERIAL_AMOUNT / custom_materials.len) + O.set_custom_materials(used_materials) + //START: oh fuck i'm so sorry if(istype(O, /obj/structure/windoor_assembly)) var/obj/structure/windoor_assembly/W = O @@ -288,6 +312,8 @@ amount -= used if(check) zero_amount() + for(var/i in custom_materials) + custom_materials[i] = amount * mats_per_stack update_icon() update_weight() return TRUE @@ -319,6 +345,10 @@ source.add_charge(amount * cost) else src.amount += amount + if(custom_materials && custom_materials.len) + for(var/i in custom_materials) + custom_materials[getmaterialref(i)] = MINERAL_MATERIAL_AMOUNT * src.amount + set_custom_materials() //Refresh update_icon() update_weight() @@ -426,8 +456,9 @@ var/on_floor = FALSE var/window_checks = FALSE var/placement_checks = FALSE + var/applies_mats = FALSE -/datum/stack_recipe/New(title, result_type, req_amount = 1, res_amount = 1, max_res_amount = 1,time = 0, one_per_turf = FALSE, on_floor = FALSE, window_checks = FALSE, placement_checks = FALSE ) +/datum/stack_recipe/New(title, result_type, req_amount = 1, res_amount = 1, max_res_amount = 1,time = 0, one_per_turf = FALSE, on_floor = FALSE, window_checks = FALSE, placement_checks = FALSE, applies_mats = FALSE) src.title = title @@ -440,6 +471,7 @@ src.on_floor = on_floor src.window_checks = window_checks src.placement_checks = placement_checks + src.applies_mats = applies_mats /* * Recipe list datum */ diff --git a/code/game/objects/items/stacks/tiles/tile_mineral.dm b/code/game/objects/items/stacks/tiles/tile_mineral.dm index 64be8853a7..50edc9d15a 100644 --- a/code/game/objects/items/stacks/tiles/tile_mineral.dm +++ b/code/game/objects/items/stacks/tiles/tile_mineral.dm @@ -5,7 +5,7 @@ icon_state = "tile_plasma" turf_type = /turf/open/floor/mineral/plasma mineralType = "plasma" - materials = list(MAT_PLASMA=500) + custom_materials = list(/datum/material/plasma=500) /obj/item/stack/tile/mineral/uranium name = "uranium tile" @@ -14,7 +14,7 @@ icon_state = "tile_uranium" turf_type = /turf/open/floor/mineral/uranium mineralType = "uranium" - materials = list(MAT_URANIUM=500) + custom_materials = list(/datum/material/uranium=500) /obj/item/stack/tile/mineral/gold name = "gold tile" @@ -23,7 +23,7 @@ icon_state = "tile_gold" turf_type = /turf/open/floor/mineral/gold mineralType = "gold" - materials = list(MAT_GOLD=500) + custom_materials = list(/datum/material/gold=500) /obj/item/stack/tile/mineral/silver name = "silver tile" @@ -32,7 +32,7 @@ icon_state = "tile_silver" turf_type = /turf/open/floor/mineral/silver mineralType = "silver" - materials = list(MAT_SILVER=500) + custom_materials = list(/datum/material/silver=500) /obj/item/stack/tile/mineral/diamond name = "diamond tile" @@ -41,7 +41,7 @@ icon_state = "tile_diamond" turf_type = /turf/open/floor/mineral/diamond mineralType = "diamond" - materials = list(MAT_DIAMOND=500) + custom_materials = list(/datum/material/diamond=500) /obj/item/stack/tile/mineral/bananium name = "bananium tile" @@ -50,7 +50,7 @@ icon_state = "tile_bananium" turf_type = /turf/open/floor/mineral/bananium mineralType = "bananium" - materials = list(MAT_BANANIUM=500) + custom_materials = list(/datum/material/bananium=500) /obj/item/stack/tile/mineral/abductor name = "alien floor tile" @@ -68,7 +68,7 @@ icon_state = "tile_shuttle" turf_type = /turf/open/floor/mineral/titanium mineralType = "titanium" - materials = list(MAT_TITANIUM=500) + custom_materials = list(/datum/material/titanium=500) /obj/item/stack/tile/mineral/plastitanium name = "plastitanium tile" @@ -77,4 +77,5 @@ icon_state = "tile_darkshuttle" turf_type = /turf/open/floor/mineral/plastitanium mineralType = "plastitanium" - materials = list(MAT_TITANIUM=250, MAT_PLASMA=250) \ No newline at end of file + custom_materials = list(/datum/material/titanium=250, /datum/material/plasma=250) + material_flags = MATERIAL_NO_EFFECTS \ No newline at end of file diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index fa4e5a3886..2e537d3eff 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -9,6 +9,7 @@ throw_speed = 3 throw_range = 7 max_amount = 60 + mats_per_stack = 500 var/turf_type = null var/mineralType = null novariants = TRUE @@ -434,7 +435,7 @@ desc = "Those could work as a pretty decent throwing weapon." icon_state = "tile" force = 6 - materials = list(MAT_METAL=500) + custom_materials = list(/datum/material/iron=500) throwforce = 10 flags_1 = CONDUCT_1 turf_type = /turf/open/floor/plasteel @@ -444,6 +445,6 @@ /obj/item/stack/tile/plasteel/cyborg desc = "The ground you walk on." //Not the usual floor tile desc as that refers to throwing, Cyborgs can't do that - RR - materials = list() // All other Borg versions of items have no Metal or Glass - RR + custom_materials = null // All other Borg versions of items have no Metal or Glass - RR is_cyborg = 1 cost = 125 diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index 67e54128a4..b2fbbc8117 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -57,14 +57,16 @@ playsound(loc, 'sound/items/eatfood.ogg', 50, 1, -1) return (TOXLOSS) -/obj/item/storage/bag/trash/update_icon() - if(contents.len == 0) - icon_state = "[initial(icon_state)]" - else if(contents.len < 12) - icon_state = "[initial(icon_state)]1" - else if(contents.len < 21) - icon_state = "[initial(icon_state)]2" - else icon_state = "[initial(icon_state)]3" +/obj/item/storage/bag/trash/update_icon_state() + switch(contents.len) + if(0) + icon_state = "[initial(icon_state)]" + if(0 to 11) + icon_state = "[initial(icon_state)]1" + if(11 to 20) + icon_state = "[initial(icon_state)]2" + else + icon_state = "[initial(icon_state)]3" /obj/item/storage/bag/trash/cyborg insertable = FALSE @@ -114,6 +116,7 @@ /obj/item/storage/bag/ore/ComponentInitialize() . = ..() + AddComponent(/datum/component/rad_insulation, 0.01) //please datum mats no more cancer var/datum/component/storage/concrete/stack/STR = GetComponent(/datum/component/storage/concrete/stack) STR.allow_quick_empty = TRUE STR.can_hold = typecacheof(list(/obj/item/stack/ore)) @@ -321,11 +324,13 @@ throw_range = 5 w_class = WEIGHT_CLASS_BULKY flags_1 = CONDUCT_1 - materials = list(MAT_METAL=3000) + custom_materials = list(/datum/material/iron=3000) /obj/item/storage/bag/tray/ComponentInitialize() . = ..() var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_w_class = WEIGHT_CLASS_NORMAL + STR.can_hold = typecacheof(list(/obj/item/reagent_containers/food, /obj/item/reagent_containers/glass, /datum/reagent/consumable, /obj/item/kitchen/knife, /obj/item/kitchen/rollingpin, /obj/item/kitchen/fork, /obj/item/storage/box)) //Should cover: Bottles, Beakers, Bowls, Booze, Glasses, Food, Kitchen Tools, and ingredient boxes. STR.insert_preposition = "on" /obj/item/storage/bag/tray/attack(mob/living/M, mob/living/user) @@ -351,10 +356,13 @@ M.Knockdown(40) update_icon() -/obj/item/storage/bag/tray/update_icon() - cut_overlays() +/obj/item/storage/bag/tray/update_overlays() + . = ..() for(var/obj/item/I in contents) - add_overlay(new /mutable_appearance(I)) + var/mutable_appearance/I_copy = new(I) + I_copy.plane = FLOAT_PLANE + I_copy.layer = FLOAT_LAYER + . += I_copy /obj/item/storage/bag/tray/Entered() . = ..() diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 1be9df5c30..4e03d029a8 100755 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -10,23 +10,21 @@ attack_verb = list("whipped", "lashed", "disciplined") max_integrity = 300 var/content_overlays = FALSE //If this is true, the belt will gain overlays based on what it's holding - var/worn_overlays = FALSE //worn counterpart of the above. + var/onmob_overlays = FALSE //worn counterpart of the above. /obj/item/storage/belt/suicide_act(mob/living/carbon/user) user.visible_message("[user] begins belting [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") return BRUTELOSS -/obj/item/storage/belt/update_icon() - cut_overlays() +/obj/item/storage/belt/update_overlays() + . = ..() if(content_overlays) for(var/obj/item/I in contents) - var/mutable_appearance/M = I.get_belt_overlay() - add_overlay(M) - ..() + . += I.get_belt_overlay() /obj/item/storage/belt/worn_overlays(isinhands, icon_file, style_flags = NONE) . = ..() - if(!isinhands && worn_overlays) + if(!isinhands && onmob_overlays) for(var/obj/item/I in contents) . += I.get_worn_belt_overlay(icon_file) @@ -34,6 +32,11 @@ . = ..() update_icon() +/obj/item/storage/belt/ComponentInitialize() + . = ..() + if(onmob_overlays) + AddElement(/datum/element/update_icon_updates_onmob) + /obj/item/storage/belt/utility name = "toolbelt" //Carn: utility belt is nicer, but it bamboozles the text parsing. desc = "Holds tools." @@ -179,17 +182,23 @@ /obj/item/pinpointer/crew )) - /obj/item/storage/belt/medical/surgery_belt_adv name = "surgical supply belt" desc = "A specialized belt designed for holding surgical equipment. It seems to have specific pockets for each and every surgical tool you can think of." content_overlays = FALSE + var/advanced_drapes = FALSE /obj/item/storage/belt/medical/surgery_belt_adv/PopulateContents() new /obj/item/scalpel/advanced(src) new /obj/item/retractor/advanced(src) new /obj/item/surgicaldrill/advanced(src) - new /obj/item/surgical_drapes(src) + if(advanced_drapes) + new /obj/item/surgical_drapes/advanced(src) + else + new /obj/item/surgical_drapes(src) + +/obj/item/storage/belt/medical/surgery_belt_adv/cmo + advanced_drapes = TRUE /obj/item/storage/belt/security name = "security belt" @@ -328,7 +337,7 @@ desc = "Proves to the world that you are the strongest!" icon_state = "championbelt" item_state = "champion" - materials = list(MAT_GOLD=400) + custom_materials = list(/datum/material/gold=400) /obj/item/storage/belt/champion/ComponentInitialize() . = ..() @@ -575,6 +584,7 @@ /obj/item/key/janitor, /obj/item/clothing/gloves, /obj/item/melee/flyswatter, + /obj/item/twohanded/broom, /obj/item/paint/paint_remover, /obj/item/assembly/mousetrap, /obj/item/screwdriver, @@ -762,7 +772,7 @@ item_state = "sheath" w_class = WEIGHT_CLASS_BULKY content_overlays = TRUE - worn_overlays = TRUE + onmob_overlays = TRUE var/list/fitting_swords = list(/obj/item/melee/sabre, /obj/item/melee/baton/stunsword) var/starting_sword = /obj/item/melee/sabre @@ -780,12 +790,6 @@ if(length(contents)) . += "Alt-click it to quickly draw the blade." -/obj/item/storage/belt/sabre/update_icon() - . = ..() - if(isliving(loc)) - var/mob/living/L = loc - L.regenerate_icons() - /obj/item/storage/belt/sabre/PopulateContents() new starting_sword(src) diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index c4e6c57318..01a4f03108 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -50,11 +50,10 @@ user.visible_message("[user] beating [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") return BRUTELOSS -/obj/item/storage/box/update_icon() +/obj/item/storage/box/update_overlays() . = ..() if(illustration) - cut_overlays() - add_overlay(illustration) + . += illustration /obj/item/storage/box/attack_self(mob/user) ..() @@ -866,10 +865,11 @@ foldable = null var/design = NODESIGN -/obj/item/storage/box/papersack/update_icon() +/obj/item/storage/box/papersack/update_icon_state() if(contents.len == 0) icon_state = "[item_state]" - else icon_state = "[item_state]_closed" + else + icon_state = "[item_state]_closed" /obj/item/storage/box/papersack/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/pen)) diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index 92e09022b2..b4fe6b8f85 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -30,7 +30,7 @@ for(var/i = 1 to STR.max_items) new spawn_type(src) -/obj/item/storage/fancy/update_icon() +/obj/item/storage/fancy/update_icon_state() if(fancy_open) icon_state = "[icon_type]box[contents.len]" else @@ -160,30 +160,31 @@ to_chat(user, "There are no [icon_type]s left in the pack.") return TRUE -/obj/item/storage/fancy/cigarettes/update_icon() - if(fancy_open || !contents.len) - cut_overlays() - if(!contents.len) - icon_state = "[initial(icon_state)]_empty" +/obj/item/storage/fancy/cigarettes/update_icon_state() + if(!contents.len) + icon_state = "[initial(icon_state)]_empty" + else if(fancy_open) + icon_state = initial(icon_state) + +/obj/item/storage/fancy/cigarettes/update_overlays() + . = ..() + if(!fancy_open || !contents.len) + return + . *= "[icon_state]_open" + var/cig_position = 1 + for(var/C in contents) + var/mutable_appearance/inserted_overlay = mutable_appearance(icon) + + if(istype(C, /obj/item/lighter/greyscale)) + inserted_overlay.icon_state = "lighter_in" + else if(istype(C, /obj/item/lighter)) + inserted_overlay.icon_state = "zippo_in" else - icon_state = initial(icon_state) - add_overlay("[icon_state]_open") - var/cig_position = 1 - for(var/C in contents) - var/mutable_appearance/inserted_overlay = mutable_appearance(icon) + inserted_overlay.icon_state = "cigarette" - if(istype(C, /obj/item/lighter/greyscale)) - inserted_overlay.icon_state = "lighter_in" - else if(istype(C, /obj/item/lighter)) - inserted_overlay.icon_state = "zippo_in" - else - inserted_overlay.icon_state = "cigarette" - - inserted_overlay.icon_state = "[inserted_overlay.icon_state]_[cig_position]" - add_overlay(inserted_overlay) - cig_position++ - else - cut_overlays() + inserted_overlay.icon_state = "[inserted_overlay.icon_state]_[cig_position]" + . += inserted_overlay + cig_position++ /obj/item/storage/fancy/cigarettes/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) if(!ismob(M)) @@ -282,10 +283,10 @@ STR.max_items = 10 STR.can_hold = typecacheof(list(/obj/item/rollingpaper)) -/obj/item/storage/fancy/rollingpapers/update_icon() - cut_overlays() +/obj/item/storage/fancy/rollingpapers/update_overlays() + . = ..() if(!contents.len) - add_overlay("[icon_state]_empty") + . += "[icon_state]_empty" ///////////// //CIGAR BOX// @@ -306,21 +307,23 @@ STR.max_items = 5 STR.can_hold = typecacheof(list(/obj/item/clothing/mask/cigarette/cigar)) -/obj/item/storage/fancy/cigarettes/cigars/update_icon() - cut_overlays() +/obj/item/storage/fancy/cigarettes/cigars/update_icon_state() if(fancy_open) icon_state = "[initial(icon_state)]_open" - - var/cigar_position = 0 //to keep track of the pixel_x offset of each new overlay. - for(var/obj/item/clothing/mask/cigarette/cigar/smokes in contents) - var/mutable_appearance/cigar_overlay = mutable_appearance(icon, "[smokes.icon_off]") - cigar_overlay.pixel_x = 3 * cigar_position - add_overlay(cigar_overlay) - cigar_position++ - else icon_state = "[initial(icon_state)]" +/obj/item/storage/fancy/cigarettes/cigars/update_overlays() + . = ..() + if(!fancy_open) + return + var/cigar_position = 0 //to keep track of the pixel_x offset of each new overlay. + for(var/obj/item/clothing/mask/cigarette/cigar/smokes in contents) + var/mutable_appearance/cigar_overlay = mutable_appearance(icon, "[smokes.icon_off]") + cigar_overlay.pixel_x = 3 * cigar_position + . += cigar_overlay + cigar_position++ + /obj/item/storage/fancy/cigarettes/cigars/cohiba name = "\improper Cohiba Robusto cigar case" desc = "A case of imported Cohiba cigars, renowned for their strong flavor." @@ -382,4 +385,4 @@ icon_state = "silver ringbox" icon_type = "silver ring" spawn_type = /obj/item/clothing/gloves/ring/silver - + diff --git a/code/game/objects/items/storage/lockbox.dm b/code/game/objects/items/storage/lockbox.dm index 454942f00b..5b6089d430 100644 --- a/code/game/objects/items/storage/lockbox.dm +++ b/code/game/objects/items/storage/lockbox.dm @@ -132,29 +132,34 @@ for(var/i in 1 to 3) new /obj/item/clothing/accessory/medal/conduct(src) -/obj/item/storage/lockbox/medal/update_icon() - cut_overlays() +/obj/item/storage/lockbox/medal/update_icon_state() var/locked = SEND_SIGNAL(src, COMSIG_IS_STORAGE_LOCKED) if(locked) icon_state = "medalbox+l" - open = FALSE else icon_state = "medalbox" if(open) icon_state += "open" if(broken) icon_state += "+b" - if(contents && open) - for (var/i in 1 to contents.len) - var/obj/item/clothing/accessory/medal/M = contents[i] - var/mutable_appearance/medalicon = mutable_appearance(initial(icon), M.medaltype) - if(i > 1 && i <= 5) - medalicon.pixel_x += ((i-1)*3) - else if(i > 5) - medalicon.pixel_y -= 7 - medalicon.pixel_x -= 2 - medalicon.pixel_x += ((i-6)*3) - add_overlay(medalicon) + +/obj/item/storage/lockbox/medal/update_overlays() + . = ..() + if(!contents || !open) + return + var/locked = SEND_SIGNAL(src, COMSIG_IS_STORAGE_LOCKED) + if(locked) + return + for (var/i in 1 to contents.len) + var/obj/item/clothing/accessory/medal/M = contents[i] + var/mutable_appearance/medalicon = mutable_appearance(initial(icon), M.medaltype) + if(i > 1 && i <= 5) + medalicon.pixel_x += ((i-1)*3) + else if(i > 5) + medalicon.pixel_y -= 7 + medalicon.pixel_x -= 2 + medalicon.pixel_x += ((i-6)*3) + . += medalicon /obj/item/storage/lockbox/medal/sec name = "security medal box" diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index bfffe0fc60..4f7948c738 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -3,8 +3,8 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) /obj/item/storage/toolbox name = "toolbox" desc = "Danger. Very robust." - icon_state = "red" - item_state = "toolbox_red" + icon_state = "toolbox_default" + item_state = "toolbox_default" lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi' flags_1 = CONDUCT_1 @@ -13,16 +13,16 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) throw_speed = 2 throw_range = 7 w_class = WEIGHT_CLASS_BULKY - materials = list(MAT_METAL = 500) attack_verb = list("robusted") hitsound = 'sound/weapons/smash.ogg' + custom_materials = list(/datum/material/iron = 500) + material_flags = MATERIAL_COLOR var/latches = "single_latch" var/has_latches = TRUE var/can_rubberify = TRUE rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE //very protecc too /obj/item/storage/toolbox/Initialize(mapload) - . = ..() if(has_latches) if(prob(10)) latches = "double_latch" @@ -30,16 +30,14 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) latches = "triple_latch" if(mapload && can_rubberify && prob(5)) rubberify() + . = ..() update_icon() -/obj/item/storage/toolbox/update_icon() - ..() - cut_overlays() - if(length(blood_DNA)) - add_blood_overlay() +/obj/item/storage/toolbox/update_overlays() + . = ..() if(has_latches) var/icon/I = icon('icons/obj/storage.dmi', latches) - add_overlay(I) + . += I /obj/item/storage/toolbox/suicide_act(mob/user) @@ -48,6 +46,9 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) /obj/item/storage/toolbox/emergency name = "emergency toolbox" + icon_state = "red" + item_state = "toolbox_red" + material_flags = NONE /obj/item/storage/toolbox/emergency/PopulateContents() new /obj/item/crowbar/red(src) @@ -72,6 +73,7 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) name = "mechanical toolbox" icon_state = "blue" item_state = "toolbox_blue" + material_flags = NONE /obj/item/storage/toolbox/mechanical/PopulateContents() new /obj/item/screwdriver(src) @@ -100,6 +102,7 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) name = "electrical toolbox" icon_state = "yellow" item_state = "toolbox_yellow" + material_flags = NONE /obj/item/storage/toolbox/electrical/PopulateContents() var/pickedcolor = pick("red","yellow","green","blue","pink","orange","cyan","white") @@ -121,6 +124,7 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) desc = "A toolbox painted black with a red stripe. It looks more heavier than normal toolboxes." force = 15 throwforce = 18 + material_flags = NONE /obj/item/storage/toolbox/syndicate/ComponentInitialize() . = ..() @@ -140,6 +144,7 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) name = "mechanical toolbox" icon_state = "blue" item_state = "toolbox_blue" + material_flags = NONE /obj/item/storage/toolbox/drone/PopulateContents() var/pickedcolor = pick("red","yellow","green","blue","pink","orange","cyan","white") @@ -161,6 +166,7 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) w_class = WEIGHT_CLASS_HUGE attack_verb = list("robusted", "crushed", "smashed") can_rubberify = FALSE + material_flags = NONE var/fabricator_type = /obj/item/clockwork/replica_fabricator/scarab /obj/item/storage/toolbox/brass/ComponentInitialize() @@ -202,6 +208,7 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) w_class = WEIGHT_CLASS_HUGE //heyo no bohing this! force = 18 //spear damage can_rubberify = FALSE + material_flags = NONE /obj/item/storage/toolbox/plastitanium/afterattack(atom/A, mob/user, proximity) . = ..() @@ -217,6 +224,7 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) icon_state = "green" item_state = "toolbox_green" w_class = WEIGHT_CLASS_GIGANTIC //Holds more than a regular toolbox! + material_flags = NONE /obj/item/storage/toolbox/artistic/ComponentInitialize() . = ..() @@ -257,6 +265,7 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) icon_state = "gold" item_state = "toolbox_gold" has_latches = FALSE + material_flags = NONE /obj/item/storage/toolbox/gold_real/PopulateContents() new /obj/item/screwdriver/nuke(src) @@ -282,6 +291,7 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) force = 0 throwforce = 0 can_rubberify = FALSE + material_flags = NONE /obj/item/storage/toolbox/proc/rubberify() name = "rubber [name]" @@ -289,7 +299,7 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) desc = replacetext(desc, "robust", "safe") desc = replacetext(desc, "heavier", "bouncier") DISABLE_BITFIELD(flags_1, CONDUCT_1) - materials = typelist("materials", null) + custom_materials = null damtype = STAMINA force += 3 //to compensate the higher stamina K.O. threshold compared to actual health. throwforce += 3 @@ -311,12 +321,13 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) name = "rubber toolbox" desc = "Bouncy. Very safe." flags_1 = null - materials = null + custom_materials = null damtype = STAMINA force = 15 throwforce = 15 attack_verb = list("robusted", "bounced") can_rubberify = FALSE //we are already the future. + material_flags = NONE /obj/item/storage/toolbox/rubber/Initialize() icon_state = pick("blue", "red", "yellow", "green") diff --git a/code/game/objects/items/storage/wallets.dm b/code/game/objects/items/storage/wallets.dm index 2dbe42c159..27cd9c8908 100644 --- a/code/game/objects/items/storage/wallets.dm +++ b/code/game/objects/items/storage/wallets.dm @@ -66,7 +66,7 @@ . = ..() refreshID() -/obj/item/storage/wallet/update_icon() +/obj/item/storage/wallet/update_icon_state() var/new_state = "wallet" if(front_id) new_state = "wallet_id" diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index 45313dc9b0..c48122fb0e 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -15,13 +15,18 @@ attack_verb = list("beaten") armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 50, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 80) - var/stunforce = 70 + var/stamforce = 25 var/status = FALSE + var/knockdown = TRUE var/obj/item/stock_parts/cell/cell - var/hitcost = 1000 + var/hitcost = 750 var/throw_hit_chance = 35 var/preload_cell_type //if not empty the baton starts with this type of cell +/obj/item/melee/baton/examine(mob/user) + . = ..() + . += "Right click attack while in combat mode to disarm instead of stun." + /obj/item/melee/baton/get_cell() . = cell if(iscyborg(loc)) @@ -32,7 +37,7 @@ user.visible_message("[user] is putting the live [name] in [user.p_their()] mouth! It looks like [user.p_theyre()] trying to commit suicide!") return (FIRELOSS) -/obj/item/melee/baton/Initialize() +/obj/item/melee/baton/Initialize(mapload) . = ..() if(preload_cell_type) if(!ispath(preload_cell_type,/obj/item/stock_parts/cell)) @@ -48,7 +53,7 @@ baton_stun(hit_atom) /obj/item/melee/baton/loaded //this one starts with a cell pre-installed. - preload_cell_type = /obj/item/stock_parts/cell/high + preload_cell_type = /obj/item/stock_parts/cell/high/plus /obj/item/melee/baton/proc/deductcharge(chrgdeductamt, chargecheck = TRUE, explode = TRUE) var/obj/item/stock_parts/cell/copper_top = get_cell() @@ -79,7 +84,7 @@ /obj/item/melee/baton/process() deductcharge(round(hitcost * STUNBATON_DEPLETION_RATE), FALSE, FALSE) -/obj/item/melee/baton/update_icon() +/obj/item/melee/baton/update_icon_state() if(status) icon_state = "[initial(name)]_active" else if(!cell) @@ -134,44 +139,41 @@ add_fingerprint(user) /obj/item/melee/baton/attack(mob/M, mob/living/carbon/human/user) + var/interrupt = common_baton_melee(M, user, FALSE) + if(!interrupt) + ..() + +/obj/item/melee/baton/alt_pre_attack(atom/A, mob/living/user, params) + . = common_baton_melee(A, user, TRUE) //return true (attackchain interrupt) if this also returns true. no harm-disarming. + user.changeNext_move(CLICK_CD_MELEE) + +//return TRUE to interrupt attack chain. +/obj/item/melee/baton/proc/common_baton_melee(mob/M, mob/living/user, disarming = FALSE) + if(iscyborg(M) || !isliving(M)) //can't baton cyborgs + return FALSE if(status && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) clowning_around(user) - return - - if(user.getStaminaLoss() >= STAMINA_SOFTCRIT)//CIT CHANGE - makes it impossible to baton in stamina softcrit - to_chat(user, "You're too exhausted for that.")//CIT CHANGE - ditto - return //CIT CHANGE - ditto - - if(iscyborg(M)) - ..() - return - - + if(user.getStaminaLoss() >= STAMINA_SOFTCRIT) //CIT CHANGE - makes it impossible to baton in stamina softcrit + to_chat(user, "You're too exhausted for that.") + return TRUE if(ishuman(M)) var/mob/living/carbon/human/L = M if(check_martial_counter(L, user)) - return + return TRUE + if(status) + if(baton_stun(M, user, disarming)) + user.do_attack_animation(M) + user.adjustStaminaLossBuffered(getweight()) //CIT CHANGE - makes stunbatonning others cost stamina + else if(user.a_intent != INTENT_HARM) //they'll try to bash in the last proc. + M.visible_message("[user] has prodded [M] with [src]. Luckily it was off.", \ + "[user] has prodded you with [src]. Luckily it was off") + return disarming || (user.a_intent != INTENT_HARM) - if(user.a_intent != INTENT_HARM) - if(status) - if(baton_stun(M, user)) - user.do_attack_animation(M) - user.adjustStaminaLossBuffered(getweight())//CIT CHANGE - makes stunbatonning others cost stamina - return - else - M.visible_message("[user] has prodded [M] with [src]. Luckily it was off.", \ - "[user] has prodded you with [src]. Luckily it was off") - else - if(status) - baton_stun(M, user) - ..() - - -/obj/item/melee/baton/proc/baton_stun(mob/living/L, mob/user) +/obj/item/melee/baton/proc/baton_stun(mob/living/L, mob/user, disarming = FALSE) if(L.check_shields(src, 0, "[user]'s [name]", MELEE_ATTACK)) //No message; check_shields() handles that playsound(L, 'sound/weapons/genhit.ogg', 50, 1) return FALSE - var/stunpwr = stunforce + var/stunpwr = stamforce var/obj/item/stock_parts/cell/our_cell = get_cell() if(!our_cell) switch_status(FALSE) @@ -187,17 +189,21 @@ return FALSE stunpwr *= round(stuncharge/hitcost, 0.1) + if(!disarming) + if(knockdown) + L.Knockdown(50, override_stamdmg = 0) //knockdown + L.adjustStaminaLoss(stunpwr) + else + L.drop_all_held_items() //no knockdown/stamina damage, instead disarm. - L.Knockdown(stunpwr, override_stamdmg = 0) - L.apply_damage(stunpwr*0.5, STAMINA, user.zone_selected) - L.apply_effect(EFFECT_STUTTER, stunforce) + L.apply_effect(EFFECT_STUTTER, stamforce) SEND_SIGNAL(L, COMSIG_LIVING_MINOR_SHOCK) if(user) L.lastattacker = user.real_name L.lastattackerckey = user.ckey - L.visible_message("[user] has stunned [L] with [src]!", \ - "[user] has stunned you with [src]!") - log_combat(user, L, "stunned") + L.visible_message("[user] has [disarming? "disarmed" : "stunned"] [L] with [src]!", \ + "[user] has [disarming? "disarmed" : "stunned"] you with [src]!") + log_combat(user, L, disarming? "disarmed" : "stunned") playsound(loc, 'sound/weapons/egloves.ogg', 50, 1, -1) @@ -212,7 +218,7 @@ user.visible_message("[user] accidentally hits [user.p_them()]self with [src]!", \ "You accidentally hit yourself with [src]!") SEND_SIGNAL(user, COMSIG_LIVING_MINOR_SHOCK) - user.Knockdown(stunforce*3) + user.Knockdown(stamforce*6) playsound(loc, 'sound/weapons/egloves.ogg', 50, 1, -1) deductcharge(hitcost) @@ -274,8 +280,9 @@ w_class = WEIGHT_CLASS_BULKY force = 3 throwforce = 5 - stunforce = 60 - hitcost = 2000 + stamforce = 25 + hitcost = 1000 + knockdown = FALSE throw_hit_chance = 10 slot_flags = ITEM_SLOT_BACK var/obj/item/assembly/igniter/sparkler diff --git a/code/game/objects/items/tanks/tanks.dm b/code/game/objects/items/tanks/tanks.dm index 7157103f14..58e16ad615 100644 --- a/code/game/objects/items/tanks/tanks.dm +++ b/code/game/objects/items/tanks/tanks.dm @@ -11,7 +11,7 @@ throwforce = 10 throw_speed = 1 throw_range = 4 - materials = list(MAT_METAL = 500) + custom_materials = list(/datum/material/iron = 500) actions_types = list(/datum/action/item_action/set_internals) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 30) var/datum/gas_mixture/air_contents = null diff --git a/code/game/objects/items/teleportation.dm b/code/game/objects/items/teleportation.dm index 347717dd63..b5edb27704 100644 --- a/code/game/objects/items/teleportation.dm +++ b/code/game/objects/items/teleportation.dm @@ -24,7 +24,7 @@ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' throw_speed = 3 throw_range = 7 - materials = list(MAT_METAL=400) + custom_materials = list(/datum/material/iron=400) /obj/item/locator/attack_self(mob/user) user.set_machine(src) @@ -125,7 +125,7 @@ w_class = WEIGHT_CLASS_SMALL throw_speed = 3 throw_range = 5 - materials = list(MAT_METAL=10000) + custom_materials = list(/datum/material/iron=10000) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/list/active_portal_pairs @@ -142,7 +142,7 @@ return ..() /obj/item/hand_tele/proc/try_dispel_portal(atom/target, mob/user, delay = 30) - var/datum/beam/B = user.Beam(target) + var/datum/beam/B = user.Beam(target, icon_state = "rped_upgrade", maxdistance = 50) if(is_parent_of_portal(target) && (!delay || do_after(user, delay, target = target))) qdel(target) to_chat(user, "You dispel [target] with \the [src]!") diff --git a/code/game/objects/items/teleprod.dm b/code/game/objects/items/teleprod.dm index f427bf6c4c..bab4d6a488 100644 --- a/code/game/objects/items/teleprod.dm +++ b/code/game/objects/items/teleprod.dm @@ -16,7 +16,7 @@ user.visible_message("[user] accidentally hits [user.p_them()]self with [src]!", \ "You accidentally hit yourself with [src]!") SEND_SIGNAL(user, COMSIG_LIVING_MINOR_SHOCK) - user.Knockdown(stunforce*3) + user.Knockdown(stamforce * 6) playsound(loc, 'sound/weapons/egloves.ogg', 50, 1, -1) if(do_teleport(user, get_turf(user), 50, channel = TELEPORT_CHANNEL_BLUESPACE)) deductcharge(hitcost) diff --git a/code/game/objects/items/theft_tools.dm b/code/game/objects/items/theft_tools.dm index 9b9fae7c8f..6fbf9316ed 100644 --- a/code/game/objects/items/theft_tools.dm +++ b/code/game/objects/items/theft_tools.dm @@ -246,7 +246,7 @@ QDEL_NULL(sliver) return ..() -/obj/item/hemostat/supermatter/update_icon() +/obj/item/hemostat/supermatter/update_icon_state() if(sliver) icon_state = "supermatter_tongs_loaded" else diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index 7a6318cc4b..91e8c49e5a 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -11,7 +11,7 @@ force = 5 throwforce = 7 w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=50) + custom_materials = list(/datum/material/iron=50) attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked") tool_behaviour = TOOL_CROWBAR @@ -55,7 +55,7 @@ w_class = WEIGHT_CLASS_NORMAL throw_speed = 3 throw_range = 3 - materials = list(MAT_METAL=70) + custom_materials = list(/datum/material/iron=70) icon_state = "crowbar_large" item_state = "crowbar" toolspeed = 0.5 @@ -76,7 +76,7 @@ item_state = "jawsoflife" lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' - materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25) + custom_materials = list(/datum/material/iron=150,/datum/material/silver=50,/datum/material/titanium=25) usesound = 'sound/items/jaws_pry.ogg' force = 15 diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm index 115598fead..0d2892cb4a 100644 --- a/code/game/objects/items/tools/screwdriver.dm +++ b/code/game/objects/items/tools/screwdriver.dm @@ -13,7 +13,7 @@ throwforce = 5 throw_speed = 3 throw_range = 5 - materials = list(MAT_METAL=75) + custom_materials = list(/datum/material/iron=75) attack_verb = list("stabbed") hitsound = 'sound/weapons/bladeslice.ogg' usesound = list('sound/items/screwdriver.ogg', 'sound/items/screwdriver2.ogg') @@ -45,13 +45,13 @@ if(prob(75)) pixel_y = rand(0, 16) -/obj/item/screwdriver/update_icon() +/obj/item/screwdriver/update_overlays() + . = ..() if(!random_color) //icon override return - cut_overlays() var/mutable_appearance/base_overlay = mutable_appearance(icon, "screwdriver_screwybits") base_overlay.appearance_flags = RESET_COLOR - add_overlay(base_overlay) + . += base_overlay /obj/item/screwdriver/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE) . = list() @@ -114,7 +114,7 @@ item_state = "drill" lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' - materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25) //done for balance reasons, making them high value for research, but harder to get + custom_materials = list(/datum/material/iron=150,/datum/material/silver=50,/datum/material/titanium=25) //done for balance reasons, making them high value for research, but harder to get force = 8 //might or might not be too high, subject to change w_class = WEIGHT_CLASS_SMALL throwforce = 8 diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index a74ce67128..9560f7fab3 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -21,7 +21,7 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) resistance_flags = FIRE_PROOF - materials = list(MAT_METAL=70, MAT_GLASS=30) + custom_materials = list(/datum/material/iron=70, /datum/material/glass=30) var/welding = 0 //Whether or not the welding tool is off(0), on(1) or currently welding(2) var/status = TRUE //Whether the welder is secured or unsecured (able to attach rods to it to make a flamethrower) var/max_fuel = 20 //The max amount of fuel the welder can hold @@ -40,24 +40,24 @@ reagents.add_reagent(/datum/reagent/fuel, max_fuel) update_icon() +/obj/item/weldingtool/ComponentInitialize() + . = ..() + AddElement(/datum/element/update_icon_updates_onmob) -/obj/item/weldingtool/proc/update_torch() +/obj/item/weldingtool/update_icon_state() if(welding) - add_overlay("[initial(icon_state)]-on") item_state = "[initial(item_state)]1" else item_state = "[initial(item_state)]" - -/obj/item/weldingtool/update_icon() - cut_overlays() +/obj/item/weldingtool/update_overlays() + . = ..() if(change_icons) var/ratio = get_fuel() / max_fuel ratio = CEILING(ratio*4, 1) * 25 - add_overlay("[initial(icon_state)][ratio]") - update_torch() - return - + . += "[initial(icon_state)][ratio]" + if(welding) + . += "[initial(icon_state)]-on" /obj/item/weldingtool/process() switch(welding) @@ -177,11 +177,6 @@ if(get_fuel() <= 0 && welding) switched_on(user) update_icon() - //mob icon update - if(ismob(loc)) - var/mob/M = loc - M.update_inv_hands(0) - return 0 return 1 @@ -297,7 +292,7 @@ desc = "A slightly larger welder with a larger tank." icon_state = "indwelder" max_fuel = 40 - materials = list(MAT_GLASS=60) + custom_materials = list(/datum/material/glass=60) /obj/item/weldingtool/largetank/cyborg name = "integrated welding tool" @@ -316,7 +311,7 @@ icon_state = "miniwelder" max_fuel = 10 w_class = WEIGHT_CLASS_TINY - materials = list(MAT_METAL=30, MAT_GLASS=10) + custom_materials = list(/datum/material/iron=30, /datum/material/glass=10) change_icons = 0 /obj/item/weldingtool/mini/flamethrower_screwdriver() @@ -342,7 +337,7 @@ icon_state = "upindwelder" item_state = "upindwelder" max_fuel = 80 - materials = list(MAT_METAL=70, MAT_GLASS=120) + custom_materials = list(/datum/material/iron=70, /datum/material/glass=120) /obj/item/weldingtool/experimental name = "experimental welding tool" @@ -350,7 +345,7 @@ icon_state = "exwelder" item_state = "exwelder" max_fuel = 40 - materials = list(MAT_METAL=70, MAT_GLASS=120) + custom_materials = list(/datum/material/iron=70, /datum/material/glass=120) var/last_gen = 0 change_icons = 0 can_off_process = 1 diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm index 33fe8052e9..ac5a02b9fc 100644 --- a/code/game/objects/items/tools/wirecutters.dm +++ b/code/game/objects/items/tools/wirecutters.dm @@ -12,7 +12,7 @@ throw_speed = 3 throw_range = 7 w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=80) + custom_materials = list(/datum/material/iron=80) attack_verb = list("pinched", "nipped") hitsound = 'sound/items/wirecutter.ogg' usesound = 'sound/items/wirecutter.ogg' @@ -40,13 +40,13 @@ add_atom_colour(wirecutter_colors[our_color], FIXED_COLOUR_PRIORITY) update_icon() -/obj/item/wirecutters/update_icon() +/obj/item/wirecutters/update_overlays() + . = ..() if(!random_color) //icon override return - cut_overlays() var/mutable_appearance/base_overlay = mutable_appearance(icon, "cutters_cutty_thingy") base_overlay.appearance_flags = RESET_COLOR - add_overlay(base_overlay) + . += base_overlay /obj/item/wirecutters/attack(mob/living/carbon/C, mob/user) if(istype(C) && C.handcuffed && istype(C.handcuffed, /obj/item/restraints/handcuffs/cable)) @@ -98,7 +98,7 @@ icon_state = "jaws_cutter" item_state = "jawsoflife" - materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25) + custom_materials = list(/datum/material/iron=150,/datum/material/silver=50,/datum/material/titanium=25) usesound = 'sound/items/jaws_cut.ogg' toolspeed = 0.25 random_color = FALSE diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm index b20fab2760..678096db28 100644 --- a/code/game/objects/items/tools/wrench.dm +++ b/code/game/objects/items/tools/wrench.dm @@ -11,7 +11,7 @@ throwforce = 7 w_class = WEIGHT_CLASS_SMALL usesound = 'sound/items/ratchet.ogg' - materials = list(MAT_METAL=150) + custom_materials = list(/datum/material/iron=150) attack_verb = list("bashed", "battered", "bludgeoned", "whacked") tool_behaviour = TOOL_WRENCH @@ -59,7 +59,7 @@ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' usesound = 'sound/items/drill_use.ogg' - materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25) + custom_materials = list(/datum/material/iron=150,/datum/material/silver=50,/datum/material/titanium=25) //done for balance reasons, making them high value for research, but harder to get force = 8 //might or might not be too high, subject to change w_class = WEIGHT_CLASS_SMALL diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 359b3b4d10..1a5f97c4e0 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -44,9 +44,13 @@ item_state = "balloon-empty" -/obj/item/toy/balloon/New() +/obj/item/toy/balloon/Initialize() + . = ..() create_reagents(10) - ..() + +/obj/item/toy/balloon/ComponentInitialize() + . = ..() + AddElement(/datum/element/update_icon_updates_onmob) /obj/item/toy/balloon/attack(mob/living/carbon/human/M, mob/user) return @@ -102,7 +106,7 @@ icon_state = "burst" qdel(src) -/obj/item/toy/balloon/update_icon() +/obj/item/toy/balloon/update_icon_state() if(src.reagents.total_volume >= 1) icon_state = "waterballoon" item_state = "balloon" @@ -143,7 +147,7 @@ flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_NORMAL - materials = list(MAT_METAL=10, MAT_GLASS=10) + custom_materials = list(/datum/material/iron=10, /datum/material/glass=10) attack_verb = list("struck", "pistol whipped", "hit", "bashed") var/bullets = 7 @@ -197,11 +201,11 @@ icon = 'icons/obj/ammo.dmi' icon_state = "357OLD-7" w_class = WEIGHT_CLASS_TINY - materials = list(MAT_METAL=10, MAT_GLASS=10) + custom_materials = list(/datum/material/iron=10, /datum/material/glass=10) var/amount_left = 7 -/obj/item/toy/ammo/gun/update_icon() - src.icon_state = text("357OLD-[]", src.amount_left) +/obj/item/toy/ammo/gun/update_icon_state() + icon_state = "357OLD-[amount_left]" /obj/item/toy/ammo/gun/examine(mob/user) . = ..() @@ -289,7 +293,7 @@ var/light_brightness = 3 actions_types = list() -/obj/item/toy/sword/cx/pre_altattackby(atom/A, mob/living/user, params) //checks if it can do right click memes +/obj/item/toy/sword/cx/alt_pre_attack(atom/A, mob/living/user, params) //checks if it can do right click memes altafterattack(A, user, TRUE, params) return TRUE @@ -319,7 +323,8 @@ add_fingerprint(user) -/obj/item/toy/sword/cx/update_icon() +/obj/item/toy/sword/cx/update_overlays() + . = ..() var/mutable_appearance/blade_overlay = mutable_appearance(icon, "cxsword_blade") var/mutable_appearance/gem_overlay = mutable_appearance(icon, "cxsword_gem") @@ -327,15 +332,10 @@ blade_overlay.color = light_color gem_overlay.color = light_color - cut_overlays() //So that it doesn't keep stacking overlays non-stop on top of each other - - add_overlay(gem_overlay) + . += gem_overlay if(active) - add_overlay(blade_overlay) - if(ismob(loc)) - var/mob/M = loc - M.update_inv_hands() + . += blade_overlay /obj/item/toy/sword/cx/AltClick(mob/living/user) . = ..() @@ -843,15 +843,16 @@ user.visible_message("[user] draws a card from the deck.", "You draw a card from the deck.") update_icon() -/obj/item/toy/cards/deck/update_icon() - if(cards.len > 26) - icon_state = "deck_[deckstyle]_full" - else if(cards.len > 10) - icon_state = "deck_[deckstyle]_half" - else if(cards.len > 0) - icon_state = "deck_[deckstyle]_low" - else if(cards.len == 0) - icon_state = "deck_[deckstyle]_empty" +/obj/item/toy/cards/deck/update_icon_state() + switch(cards.len) + if(27 to INFINITY) + icon_state = "deck_[deckstyle]_full" + if(11 to 27) + icon_state = "deck_[deckstyle]_half" + if(1 to 11) + icon_state = "deck_[deckstyle]_low" + else + icon_state = "deck_[deckstyle]_empty" /obj/item/toy/cards/deck/attack_self(mob/user) if(cooldown < world.time - 50) diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm index fc9e138f4b..23bd6ed359 100644 --- a/code/game/objects/items/twohanded.dm +++ b/code/game/objects/items/twohanded.dm @@ -24,7 +24,7 @@ * Twohanded */ /obj/item/twohanded - var/wielded = 0 + var/wielded = FALSE var/force_unwielded // default to null, the number force will be set to on unwield() var/force_wielded // same as above but for wield() var/wieldsound = null @@ -97,9 +97,6 @@ return unwield(user) -/obj/item/twohanded/update_icon() - return - /obj/item/twohanded/attack_self(mob/user) . = ..() if(wielded) //Trying to unwield it @@ -241,7 +238,7 @@ . = ..() AddComponent(/datum/component/butchering, 100, 80, 0 , hitsound) //axes are not known for being precision butchering tools -/obj/item/twohanded/fireaxe/update_icon() //Currently only here to fuck with the on-mob icons. +/obj/item/twohanded/fireaxe/update_icon_state() //Currently only here to fuck with the on-mob icons. icon_state = "fireaxe[wielded]" return @@ -342,7 +339,7 @@ STOP_PROCESSING(SSobj, src) . = ..() -/obj/item/twohanded/dualsaber/update_icon() +/obj/item/twohanded/dualsaber/update_icon_state() if(wielded) icon_state = "dualsaber[item_color][wielded]" else @@ -492,25 +489,11 @@ spinnable = FALSE total_mass_on = 4 -/obj/item/twohanded/dualsaber/hypereutactic/chaplain - name = "\improper divine lightblade" - desc = "A giant blade of bright and holy light, said to cut down the wicked with ease." - force = 5 - force_unwielded = 5 - force_wielded = 20 - block_chance = 50 - armour_penetration = 0 - var/chaplain_spawnable = TRUE - obj_flags = UNIQUE_RENAME - -/obj/item/twohanded/dualsaber/hypereutactic/chaplain/Initialize() +/obj/item/twohanded/dualsaber/hypereutactic/ComponentInitialize() . = ..() - AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, null, null, FALSE) + AddElement(/datum/element/update_icon_updates_onmob) -/obj/item/twohanded/dualsaber/hypereutactic/chaplain/IsReflect() - return FALSE - -/obj/item/twohanded/dualsaber/hypereutactic/pre_altattackby(atom/A, mob/living/user, params) //checks if it can do right click memes +/obj/item/twohanded/dualsaber/hypereutactic/alt_pre_attack(atom/A, mob/living/user, params) //checks if it can do right click memes altafterattack(A, user, TRUE, params) return TRUE @@ -519,7 +502,11 @@ user.visible_message("[user] points the tip of [src] at [target].", "You point the tip of [src] at [target].") return TRUE -/obj/item/twohanded/dualsaber/hypereutactic/update_icon() +/obj/item/twohanded/dualsaber/hypereutactic/update_icon_state() + return + +/obj/item/twohanded/dualsaber/hypereutactic/update_overlays() + . = ..() var/mutable_appearance/blade_overlay = mutable_appearance(icon, "hypereutactic_blade") var/mutable_appearance/gem_overlay = mutable_appearance(icon, "hypereutactic_gem") @@ -527,15 +514,10 @@ blade_overlay.color = light_color gem_overlay.color = light_color - cut_overlays() //So that it doesn't keep stacking overlays non-stop on top of each other - - add_overlay(gem_overlay) + . += gem_overlay if(wielded) - add_overlay(blade_overlay) - if(ismob(loc)) - var/mob/M = loc - M.update_inv_hands() + . += blade_overlay clean_blood() @@ -576,6 +558,24 @@ update_icon() update_light() +/obj/item/twohanded/dualsaber/hypereutactic/chaplain + name = "divine lightblade" + desc = "A giant blade of bright and holy light, said to cut down the wicked with ease." + force = 5 + force_unwielded = 5 + force_wielded = 20 + block_chance = 50 + armour_penetration = 0 + var/chaplain_spawnable = TRUE + obj_flags = UNIQUE_RENAME + +/obj/item/twohanded/dualsaber/hypereutactic/chaplain/ComponentInitialize() + . = ..() + AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, null, null, FALSE) + +/obj/item/twohanded/dualsaber/hypereutactic/chaplain/IsReflect() + return FALSE + //spears /obj/item/twohanded/spear icon_state = "spearglass0" @@ -592,7 +592,7 @@ throw_speed = 4 embedding = list("embedded_impact_pain_multiplier" = 3, "embed_chance" = 90) armour_penetration = 10 - materials = list(MAT_METAL=1150, MAT_GLASS=2075) + custom_materials = list(/datum/material/iron=1150, /datum/material/glass=2075) hitsound = 'sound/weapons/bladeslice.ogg' attack_verb = list("attacked", "poked", "jabbed", "torn", "gored") sharpness = IS_SHARP @@ -639,7 +639,7 @@ if(explosive) . += "Use in your hands to activate the attached explosive.
Alt-click to set your war cry.
Right-click in combat mode to wield" -/obj/item/twohanded/spear/update_icon() +/obj/item/twohanded/spear/update_icon_state() if(explosive) icon_state = "spearbomb[wielded]" else @@ -708,7 +708,7 @@ throwforce = 13 throw_speed = 2 throw_range = 4 - materials = list(MAT_METAL=13000) + custom_materials = list(/datum/material/iron=13000) attack_verb = list("sawed", "torn", "cut", "chopped", "diced") hitsound = "swing_hit" sharpness = IS_SHARP @@ -717,9 +717,10 @@ tool_behaviour = TOOL_SAW toolspeed = 0.5 -/obj/item/twohanded/required/chainsaw/Initialize() +/obj/item/twohanded/required/chainsaw/ComponentInitialize() . = ..() AddComponent(/datum/component/butchering, 30, 100, 0, 'sound/weapons/chainsawhit.ogg', TRUE) + AddElement(/datum/element/update_icon_updates_onmob) /obj/item/twohanded/required/chainsaw/suicide_act(mob/living/carbon/user) if(on) @@ -738,7 +739,7 @@ to_chat(user, "As you pull the starting cord dangling from [src], [on ? "it begins to whirr." : "the chain stops moving."]") force = on ? force_on : initial(force) throwforce = on ? force_on : force - icon_state = "chainsaw_[on ? "on" : "off"]" + update_icon() var/datum/component/butchering/butchering = src.GetComponent(/datum/component/butchering) butchering.butchering_enabled = on @@ -747,11 +748,8 @@ else hitsound = "swing_hit" - if(src == user.get_active_held_item()) //update inhands - user.update_inv_hands() - for(var/X in actions) - var/datum/action/A = X - A.UpdateButtonIcon() +/obj/item/twohanded/required/chainsaw/update_icon_state() + icon_state = "chainsaw_[on ? "on" : "off"]" /obj/item/twohanded/required/chainsaw/get_dismemberment_chance() if(wielded) @@ -844,7 +842,7 @@ force_unwielded = 100 force_wielded = 500000 // Kills you DEAD. -/obj/item/twohanded/pitchfork/update_icon() +/obj/item/twohanded/pitchfork/update_icon_state() icon_state = "pitchfork[wielded]" /obj/item/twohanded/pitchfork/suicide_act(mob/user) @@ -918,7 +916,7 @@ return 1 return 0 -/obj/item/twohanded/vibro_weapon/update_icon() +/obj/item/twohanded/vibro_weapon/update_icon_state() icon_state = "hfrequency[wielded]" /* @@ -930,7 +928,7 @@ desc = "A large, vicious axe crafted out of several sharpened bone plates and crudely tied together. Made of monsters, by killing monsters, for killing monsters." force_wielded = 23 -/obj/item/twohanded/fireaxe/boneaxe/update_icon() +/obj/item/twohanded/fireaxe/boneaxe/update_icon_state() icon_state = "bone_axe[wielded]" /* @@ -956,7 +954,7 @@ attack_verb = list("attacked", "poked", "jabbed", "torn", "gored") sharpness = IS_SHARP -/obj/item/twohanded/bonespear/update_icon() +/obj/item/twohanded/bonespear/update_icon_state() icon_state = "bone_spear[wielded]" /obj/item/twohanded/binoculars @@ -1016,3 +1014,321 @@ C.change_view(CONFIG_GET(string/default_view)) user.client.pixel_x = 0 user.client.pixel_y = 0 + +/obj/item/twohanded/electrostaff + icon = 'icons/obj/items_and_weapons.dmi' + icon_state = "electrostaff_3" + item_state = "electrostaff" + lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' + name = "riot suppression electrostaff" + desc = "A large quarterstaff, with massive silver electrodes mounted at the end." + w_class = WEIGHT_CLASS_HUGE + slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_OCLOTHING + force_unwielded = 5 + force_wielded = 10 + throwforce = 15 //if you are a madman and finish someone off with this, power to you. + throw_speed = 1 + item_flags = NO_MAT_REDEMPTION | SLOWS_WHILE_IN_HAND + block_chance = 30 + attack_verb = list("struck", "beaten", "thwacked", "pulped") + total_mass = 5 //yeah this is a heavy thing, beating people with it while it's off is not going to do you any favors. (to curb stun-kill rampaging without it being on) + var/obj/item/stock_parts/cell/cell = /obj/item/stock_parts/cell/high + var/on = FALSE + var/can_block_projectiles = FALSE //can't block guns + var/lethal_cost = 400 //10000/400*20 = 500. decent enough? + var/lethal_damage = 20 + var/lethal_stam_cost = 4 + var/stun_cost = 333 //10000/333*25 = 750. stunbatons are at time of writing 10000/1000*49 = 490. + var/stun_status_effect = STATUS_EFFECT_ELECTROSTAFF //a small slowdown effect + var/stun_stamdmg = 40 + var/stun_status_duration = 25 + var/stun_stam_cost = 3.5 + +/obj/item/twohanded/electrostaff/Initialize(mapload) + . = ..() + if(ispath(cell)) + cell = new cell + +/obj/item/twohanded/electrostaff/Destroy() + STOP_PROCESSING(SSobj, src) + return ..() + +/obj/item/twohanded/electrostaff/get_cell() + . = cell + if(iscyborg(loc)) + var/mob/living/silicon/robot/R = loc + . = R.get_cell() + +/obj/item/twohanded/electrostaff/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) + if(!on) + return FALSE + if((attack_type == PROJECTILE_ATTACK) && !can_block_projectiles) + return FALSE + return ..() + +/obj/item/twohanded/electrostaff/proc/min_hitcost() + return min(stun_cost, lethal_cost) + +/obj/item/twohanded/electrostaff/proc/turn_on(mob/user, silent = FALSE) + if(on) + return + if(!cell) + if(user) + to_chat(user, "[src] has no cell.") + return + if(cell.charge < min_hitcost()) + if(user) + to_chat(user, "[src] is out of charge.") + return + on = TRUE + START_PROCESSING(SSobj, src) + if(user) + to_chat(user, "You turn [src] on.") + update_icon() + if(!silent) + playsound(src, "sparks", 75, 1, -1) + +/obj/item/twohanded/electrostaff/proc/turn_off(mob/user, silent = FALSE) + if(!on) + return + if(user) + to_chat(user, "You turn [src] off.") + on = FALSE + STOP_PROCESSING(SSobj, src) + update_icon() + if(!silent) + playsound(src, "sparks", 75, 1, -1) + +/obj/item/twohanded/electrostaff/proc/toggle(mob/user, silent = FALSE) + if(on) + turn_off(user, silent) + else + turn_on(user, silent) + +/obj/item/twohanded/electrostaff/wield(mob/user) + . = ..() + if(wielded) + turn_on(user) + add_fingerprint(user) + +/obj/item/twohanded/electrostaff/unwield(mob/user) + . = ..() + if(!wielded) + turn_off(user) + add_fingerprint(user) + +/obj/item/twohanded/electrostaff/update_icon_state() + . = ..() + if(!wielded) + icon_state = "electrostaff_3" + item_state = "electrostaff" + else + icon_state = item_state = (on? "electrostaff_1" : "electrostaff_3") + set_light(7, on? 1 : 0, LIGHT_COLOR_CYAN) + +/obj/item/twohanded/electrostaff/examine(mob/living/user) + . = ..() + if(cell) + . += "The cell charge is [round(cell.percent())]%." + else + . += "There is no cell installed!" + +/obj/item/twohanded/electrostaff/attackby(obj/item/W, mob/user, params) + if(istype(W, /obj/item/stock_parts/cell)) + var/obj/item/stock_parts/cell/C = W + if(cell) + to_chat(user, "[src] already has a cell!") + else + if(C.maxcharge < min_hit_cost()) + to_chat(user, "[src] requires a higher capacity cell.") + return + if(!user.transferItemToLoc(W, src)) + return + cell = C + to_chat(user, "You install a cell in [src].") + + else if(W.tool_behaviour == TOOL_SCREWDRIVER) + if(cell) + cell.update_icon() + cell.forceMove(get_turf(src)) + cell = null + to_chat(user, "You remove the cell from [src].") + turn_off(user, TRUE) + else + return ..() + +/obj/item/twohanded/electrostaff/process() + deductcharge(50) //Wasteful! + +/obj/item/twohanded/electrostaff/proc/min_hit_cost() + return min(lethal_cost, stun_cost) + +/obj/item/twohanded/electrostaff/proc/deductcharge(amount) + var/obj/item/stock_parts/cell/C = get_cell() + if(!C) + turn_off() + return FALSE + C.use(min(amount, C.charge)) + if(QDELETED(src)) + return FALSE + if(C.charge < min_hit_cost()) + turn_off() + +/obj/item/twohanded/electrostaff/attack(mob/living/target, mob/living/user) + if(user.getStaminaLoss() >= STAMINA_SOFTCRIT)//CIT CHANGE - makes it impossible to baton in stamina softcrit + to_chat(user, "You're too exhausted for that.")//CIT CHANGE - ditto + return //CIT CHANGE - ditto + if(on && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) + clowning_around(user) //ouch! + return + if(iscyborg(target)) + ..() + return + if(target.check_shields(src, 0, "[user]'s [name]", MELEE_ATTACK)) //No message; check_shields() handles that + playsound(target, 'sound/weapons/genhit.ogg', 50, 1) + return FALSE + if(user.a_intent != INTENT_HARM) + if(stun_act(target, user)) + user.do_attack_animation(target) + user.adjustStaminaLossBuffered(stun_stam_cost) + return + else if(!harm_act(target, user)) + return ..() //if you can't fry them just beat them with it + else //we did harm act them + user.do_attack_animation(target) + user.adjustStaminaLossBuffered(lethal_stam_cost) + +/obj/item/twohanded/electrostaff/proc/stun_act(mob/living/target, mob/living/user, no_charge_and_force = FALSE) + var/stunforce = stun_stamdmg + if(!no_charge_and_force) + if(!on) + target.visible_message("[user] has bapped [target] with [src]. Luckily it was off.", \ + "[user] has bapped you with [src]. Luckily it was off") + turn_off() //if it wasn't already off + return FALSE + var/obj/item/stock_parts/cell/C = get_cell() + var/chargeleft = C.charge + deductcharge(stun_cost) + if(QDELETED(src) || QDELETED(C)) //boom + return FALSE + if(chargeleft < stun_cost) + stunforce *= round(chargeleft/stun_cost, 0.1) + target.adjustStaminaLoss(stunforce) + target.apply_effect(EFFECT_STUTTER, stunforce) + SEND_SIGNAL(target, COMSIG_LIVING_MINOR_SHOCK) + if(user) + target.lastattacker = user.real_name + target.lastattackerckey = user.ckey + target.visible_message("[user] has shocked [target] with [src]!", \ + "[user] has shocked you with [src]!") + log_combat(user, user, "stunned with an electrostaff") + playsound(src, 'sound/weapons/staff.ogg', 50, 1, -1) + target.apply_status_effect(stun_status_effect, stun_status_duration) + if(ishuman(user)) + var/mob/living/carbon/human/H = user + H.forcesay(GLOB.hit_appends) + return TRUE + +/obj/item/twohanded/electrostaff/proc/harm_act(mob/living/target, mob/living/user, no_charge_and_force = FALSE) + var/lethal_force = lethal_damage + if(!no_charge_and_force) + if(!on) + return FALSE //standard item attack + var/obj/item/stock_parts/cell/C = get_cell() + var/chargeleft = C.charge + deductcharge(lethal_cost) + if(QDELETED(src) || QDELETED(C)) //boom + return FALSE + if(chargeleft < stun_cost) + lethal_force *= round(chargeleft/lethal_cost, 0.1) + target.adjustFireLoss(lethal_force) //good against ointment spam + SEND_SIGNAL(target, COMSIG_LIVING_MINOR_SHOCK) + if(user) + target.lastattacker = user.real_name + target.lastattackerckey = user.ckey + target.visible_message("[user] has seared [user] with [src]!", \ + "[user] has seared you with [src]!") + log_combat(user, user, "burned with an electrostaff") + playsound(src, 'sound/weapons/sear.ogg', 50, 1, -1) + return TRUE + +/obj/item/twohanded/electrostaff/proc/clowning_around(mob/living/user) + user.visible_message("[user] accidentally hits [user.p_them()]self with [src]!", \ + "You accidentally hit yourself with [src]!") + SEND_SIGNAL(user, COMSIG_LIVING_MINOR_SHOCK) + harm_act(user, user, TRUE) + stun_act(user, user, TRUE) + deductcharge(lethal_cost) + +/obj/item/twohanded/electrostaff/emp_act(severity) + . = ..() + if (!(. & EMP_PROTECT_SELF)) + turn_off() + if(!iscyborg(loc)) + deductcharge(1000 / severity, TRUE, FALSE) + +/obj/item/twohanded/broom + name = "broom" + desc = "This is my BROOMSTICK! It can be used manually or braced with two hands to sweep items as you move. It has a telescopic handle for compact storage." //LIES + icon = 'icons/obj/janitor.dmi' + icon_state = "broom0" + lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi' + force = 8 + throwforce = 10 + throw_speed = 3 + throw_range = 7 + w_class = WEIGHT_CLASS_NORMAL + force_unwielded = 8 + force_wielded = 12 + attack_verb = list("swept", "brushed off", "bludgeoned", "whacked") + resistance_flags = FLAMMABLE + +/obj/item/twohanded/broom/update_icon_state() + icon_state = "broom[wielded]" + +/obj/item/twohanded/broom/wield(mob/user) + . = ..() + if(!wielded) + return + to_chat(user, "You brace the [src] against the ground in a firm sweeping stance.") + RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/sweep) + +/obj/item/twohanded/broom/unwield(mob/user) + . = ..() + UnregisterSignal(user, COMSIG_MOVABLE_MOVED) + +/obj/item/twohanded/broom/afterattack(atom/A, mob/user, proximity) + . = ..() + if(!proximity) + return + sweep(user, A, FALSE) + +/obj/item/twohanded/broom/proc/sweep(mob/user, atom/A, moving = TRUE) + var/turf/target + if (!moving) + if (isturf(A)) + target = A + else + target = A.loc + if(!isturf(target)) //read: Mob inventories. + return + else + target = user.loc + if (locate(/obj/structure/table) in target.contents) + return + var/i = 0 + for(var/obj/item/garbage in target.contents) + if(!garbage.anchored) + garbage.Move(get_step(target, user.dir), user.dir) + i++ + if(i >= 20) + break + if(i >= 1) + playsound(loc, 'sound/weapons/thudswoosh.ogg', 5, TRUE, -1) + +/obj/item/twohanded/broom/proc/janicart_insert(mob/user, obj/structure/janitorialcart/J) //bless you whoever fixes this copypasta + J.put_in_cart(src, user) + J.mybroom=src + J.update_icon() diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index ea9899b2c2..7499d9de09 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -252,7 +252,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 force = 9 throwforce = 10 w_class = WEIGHT_CLASS_NORMAL - materials = list(MAT_METAL=1150, MAT_GLASS=75) + custom_materials = list(/datum/material/iron=1150, /datum/material/glass=75) attack_verb = list("hit", "bludgeoned", "whacked", "bonked") /obj/item/wirerod/attackby(obj/item/I, mob/user, params) @@ -296,7 +296,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 embedding = list("embedded_pain_multiplier" = 4, "embed_chance" = 100, "embedded_fall_chance" = 0) w_class = WEIGHT_CLASS_SMALL sharpness = IS_SHARP - materials = list(MAT_METAL=500, MAT_GLASS=500) + custom_materials = list(/datum/material/iron=500, /datum/material/glass=500) resistance_flags = FIRE_PROOF @@ -312,7 +312,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 throwforce = 5 throw_speed = 3 throw_range = 6 - materials = list(MAT_METAL=12000) + custom_materials = list(/datum/material/iron=12000) hitsound = 'sound/weapons/genhit.ogg' attack_verb = list("stubbed", "poked") resistance_flags = FIRE_PROOF @@ -396,7 +396,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 force = 5 throwforce = 5 w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=50) + custom_materials = list(/datum/material/iron=50) attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed") /obj/item/staff diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index 2d99f0e073..2fd6cf9f4c 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -6,20 +6,19 @@ return if(sound_effect) play_attack_sound(damage_amount, damage_type, damage_flag) - if(!(resistance_flags & INDESTRUCTIBLE) && obj_integrity > 0) - damage_amount = run_obj_armor(damage_amount, damage_type, damage_flag, attack_dir, armour_penetration) - if(damage_amount >= DAMAGE_PRECISION) - . = damage_amount - var/old_integ = obj_integrity - obj_integrity = max(old_integ - damage_amount, 0) - if(obj_integrity <= 0) - var/int_fail = integrity_failure - if(int_fail && old_integ > int_fail) - obj_break(damage_flag) - obj_destruction(damage_flag) - else if(integrity_failure) - if(obj_integrity <= integrity_failure) - obj_break(damage_flag) + if((resistance_flags & INDESTRUCTIBLE) || obj_integrity <= 0) + return + damage_amount = run_obj_armor(damage_amount, damage_type, damage_flag, attack_dir, armour_penetration) + if(damage_amount < DAMAGE_PRECISION) + return + . = damage_amount + obj_integrity = max(obj_integrity - damage_amount, 0) + //BREAKING FIRST + if(integrity_failure && obj_integrity <= integrity_failure * max_integrity) + obj_break(damage_flag) + //DESTROYING SECOND + if(obj_integrity <= 0) + obj_destruction(damage_flag) //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) @@ -271,7 +270,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e //changes max_integrity while retaining current health percentage //returns TRUE if the obj broke, FALSE otherwise -/obj/proc/modify_max_integrity(new_max, can_break = TRUE, damage_type = BRUTE, new_failure_integrity = null) +/obj/proc/modify_max_integrity(new_max, can_break = TRUE, damage_type = BRUTE) var/current_integrity = obj_integrity var/current_max = max_integrity @@ -282,10 +281,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e max_integrity = new_max - if(new_failure_integrity != null) - integrity_failure = new_failure_integrity - - if(can_break && integrity_failure && current_integrity <= integrity_failure) + if(can_break && integrity_failure && current_integrity <= integrity_failure * max_integrity) obj_break(damage_type) return TRUE return FALSE diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 7fbdddbdc4..3fc183edc6 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -12,7 +12,7 @@ var/datum/armor/armor var/obj_integrity //defaults to max_integrity var/max_integrity = 500 - var/integrity_failure = 0 //0 if we have no special broken behavior + var/integrity_failure = 0 //0 if we have no special broken behavior, otherwise is a percentage of at what point the obj breaks. 0.5 being 50% var/resistance_flags = NONE // INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ON_FIRE | UNACIDABLE | ACID_PROOF @@ -46,7 +46,6 @@ return ..() /obj/Initialize() - . = ..() if (islist(armor)) armor = getArmor(arglist(armor)) else if (!armor) @@ -56,6 +55,9 @@ if(obj_integrity == null) obj_integrity = max_integrity + + . = ..() //Do this after, else mat datums is mad. + if (set_obj_flags) var/flagslist = splittext(set_obj_flags,";") var/list/string_to_objflag = GLOB.bitfields["obj_flags"] diff --git a/code/game/objects/structures/aliens.dm b/code/game/objects/structures/aliens.dm index 3cc40c8415..32e40bedec 100644 --- a/code/game/objects/structures/aliens.dm +++ b/code/game/objects/structures/aliens.dm @@ -218,7 +218,7 @@ density = FALSE anchored = TRUE max_integrity = 100 - integrity_failure = 5 + integrity_failure = 0.05 var/status = GROWING //can be GROWING, GROWN or BURST; all mutually exclusive layer = MOB_LAYER var/obj/item/clothing/mask/facehugger/child @@ -232,7 +232,7 @@ addtimer(CALLBACK(src, .proc/Grow), rand(MIN_GROWTH_TIME, MAX_GROWTH_TIME)) proximity_monitor = new(src, status == GROWN ? 1 : 0) if(status == BURST) - obj_integrity = integrity_failure + obj_integrity = integrity_failure * max_integrity /obj/structure/alien/egg/update_icon() ..() diff --git a/code/game/objects/structures/barsigns.dm b/code/game/objects/structures/barsigns.dm index b72a4b816e..d2fff9649d 100644 --- a/code/game/objects/structures/barsigns.dm +++ b/code/game/objects/structures/barsigns.dm @@ -5,7 +5,7 @@ icon_state = "empty" req_access = list(ACCESS_BAR) max_integrity = 500 - integrity_failure = 250 + integrity_failure = 0.5 armor = list("melee" = 20, "bullet" = 20, "laser" = 20, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) buildable_sign = 0 var/list/barsigns=list() @@ -308,28 +308,26 @@ icon = "Meow Mix" desc = "No, we don't serve catnip, officer!" +/datum/barsign/the_hive + name = "The Hive" + icon = "thehive" + desc = "Comb in for some sweet drinks! Not known for serving any sappy drink." + /datum/barsign/hiddensigns hidden = TRUE - //Hidden signs list below this point - - /datum/barsign/hiddensigns/empbarsign name = "Haywire Barsign" icon = "empbarsign" desc = "Something has gone very wrong." - - /datum/barsign/hiddensigns/syndibarsign name = "Syndi Cat Takeover" icon = "syndibarsign" desc = "Syndicate or die." - - /datum/barsign/hiddensigns/signoff name = "Bar Sign" icon = "empty" diff --git a/code/game/objects/structures/beds_chairs/bed.dm b/code/game/objects/structures/beds_chairs/bed.dm index e9e09ddc91..5f01a27825 100644 --- a/code/game/objects/structures/beds_chairs/bed.dm +++ b/code/game/objects/structures/beds_chairs/bed.dm @@ -17,7 +17,7 @@ buckle_lying = TRUE resistance_flags = FLAMMABLE max_integrity = 100 - integrity_failure = 30 + integrity_failure = 0.35 var/buildstacktype = /obj/item/stack/sheet/metal var/buildstackamount = 2 var/bolts = TRUE diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm index cc1a3c0922..0d38f5eca6 100644 --- a/code/game/objects/structures/beds_chairs/chair.dm +++ b/code/game/objects/structures/beds_chairs/chair.dm @@ -8,7 +8,8 @@ buckle_lying = 0 //you sit in a chair, not lay resistance_flags = NONE max_integrity = 250 - integrity_failure = 25 + integrity_failure = 0.1 + custom_materials = list(/datum/material/iron = 2000) var/buildstacktype = /obj/item/stack/sheet/metal var/buildstackamount = 1 var/item_chair = /obj/item/chair // if null it can't be picked up @@ -53,8 +54,13 @@ /obj/structure/chair/deconstruct() // If we have materials, and don't have the NOCONSTRUCT flag - if(buildstacktype && (!(flags_1 & NODECONSTRUCT_1))) - new buildstacktype(loc,buildstackamount) + if(!(flags_1 & NODECONSTRUCT_1)) + if(buildstacktype) + new buildstacktype(loc,buildstackamount) + else + for(var/i in custom_materials) + var/datum/material/M = i + new M.sheet_type(loc, FLOOR(custom_materials[M] / MINERAL_MATERIAL_AMOUNT, 1)) ..() /obj/structure/chair/attack_paw(mob/user) @@ -142,6 +148,15 @@ handle_rotation(newdir) // Chair types + + +///Material chair +/obj/structure/chair/greyscale + icon_state = "chair_greyscale" + material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR + item_chair = /obj/item/chair/greyscale + buildstacktype = null //Custom mats handle this + /obj/structure/chair/wood icon_state = "wooden_chair" name = "wooden chair" @@ -271,7 +286,8 @@ if(!usr.canUseTopic(src, BE_CLOSE, ismonkey(usr))) return usr.visible_message("[usr] grabs \the [src.name].", "You grab \the [src.name].") - var/C = new item_chair(loc) + var/obj/item/C = new item_chair(loc) + C.set_custom_materials(custom_materials) TransferComponents(C) usr.put_in_hands(C) qdel(src) @@ -296,7 +312,7 @@ throw_range = 3 hitsound = 'sound/items/trayhit1.ogg' hit_reaction_chance = 50 - materials = list(MAT_METAL = 2000) + custom_materials = list(/datum/material/iron = 2000) var/break_chance = 5 //Likely hood of smashing the chair. var/obj/structure/chair/origin_type = /obj/structure/chair @@ -324,6 +340,7 @@ user.visible_message("[user] rights \the [src.name].", "You right \the [name].") var/obj/structure/chair/C = new origin_type(get_turf(loc)) + C.set_custom_materials(custom_materials) TransferComponents(C) C.setDir(dir) qdel(src) @@ -357,6 +374,12 @@ C.Knockdown(20) smash(user) +/obj/item/chair/greyscale + icon_state = "chair_greyscale_toppled" + item_state = "chair_greyscale" + material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR + origin_type = /obj/structure/chair/greyscale + /obj/item/chair/stool name = "stool" icon_state = "stool_toppled" @@ -384,7 +407,7 @@ buildstackamount = 1 /obj/structure/chair/stool/bar/alien - name = "bronze bar stool" + name = "alien bar stool" desc = "A hard bar stool made of advanced alien alloy." icon_state = "baralien" icon = 'icons/obj/abductor.dmi' @@ -482,7 +505,7 @@ max_integrity = 70 hitsound = 'sound/weapons/genhit1.ogg' origin_type = /obj/structure/chair/wood - materials = null + custom_materials = null break_chance = 50 /obj/item/chair/wood/narsie_act() @@ -589,4 +612,4 @@ icon_state = "sofacorner" /obj/structure/chair/sofa/corner/handle_layer() //only the armrest/back of this chair should cover the mob. - return \ No newline at end of file + return diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index daf15832fb..f95f900a48 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -13,7 +13,7 @@ var/large = TRUE var/wall_mounted = 0 //never solid (You can always pass over it) max_integrity = 200 - integrity_failure = 50 + integrity_failure = 0.25 armor = list("melee" = 20, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 60) var/breakout_time = 1200 var/message_cooldown @@ -359,7 +359,7 @@ "You hear [welder ? "welding" : "rustling of screws and metal"].") deconstruct(TRUE) return - if(user.transferItemToLoc(W, drop_location())) // so we put in unlit welder too + if(user.a_intent != INTENT_HARM && user.transferItemToLoc(W, drop_location())) // so we put in unlit welder too return TRUE else if(istype(W, /obj/item/electronics/airlock)) handle_lock_addition(user, W) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm b/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm index c3a23cb171..ff3f4d8793 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm @@ -4,10 +4,10 @@ /obj/structure/closet/secure_closet/freezer/Destroy() recursive_organ_check(src) - ..() + return ..() /obj/structure/closet/secure_closet/freezer/Initialize() - ..() + . = ..() recursive_organ_check(src) /obj/structure/closet/secure_closet/freezer/open(mob/living/user) @@ -17,14 +17,15 @@ return ..() /obj/structure/closet/secure_closet/freezer/close(mob/living/user) - if(..()) //if we actually closed the locker + . = ..() + if(.) //if we actually closed the locker recursive_organ_check(src) /obj/structure/closet/secure_closet/freezer/ex_act() if(!jones) jones = TRUE else - ..() + return ..() /obj/structure/closet/secure_closet/freezer/kitchen name = "kitchen Cabinet" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index 3167d8ac18..90b57471b4 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -76,7 +76,7 @@ new /obj/item/door_remote/chief_medical_officer(src) new /obj/item/clothing/neck/petcollar(src) new /obj/item/pet_carrier(src) - new /obj/item/storage/belt/medical/surgery_belt_adv(src) + new /obj/item/storage/belt/medical/surgery_belt_adv/cmo(src) new /obj/item/wallframe/defib_mount(src) new /obj/item/circuitboard/machine/techfab/department/medical(src) new /obj/item/storage/photo_album/CMO(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 88c8d51479..bec1c893ae 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -265,12 +265,15 @@ new /obj/item/clothing/head/helmet/alt(src) new /obj/item/clothing/mask/gas/sechailer(src) new /obj/item/clothing/suit/armor/bulletproof(src) + /obj/structure/closet/secure_closet/lethalshots - name = "shotgun lethal rounds" + name = "lethal ammunition and riot staves" req_access = list(ACCESS_ARMORY) icon_state = "tac" /obj/structure/closet/secure_closet/lethalshots/PopulateContents() ..() + new /obj/item/twohanded/electrostaff(src) + new /obj/item/twohanded/electrostaff(src) for(var/i in 1 to 3) new /obj/item/storage/box/lethalshot(src) diff --git a/code/game/objects/structures/crates_lockers/crates/secure.dm b/code/game/objects/structures/crates_lockers/crates/secure.dm index 290e69370b..602adfb367 100644 --- a/code/game/objects/structures/crates_lockers/crates/secure.dm +++ b/code/game/objects/structures/crates_lockers/crates/secure.dm @@ -70,3 +70,8 @@ name = "secure science crate" desc = "A crate with a lock on it, painted in the scheme of the station's scientists." icon_state = "scisecurecrate" + +/obj/structure/closet/crate/secure/medical + desc = "A secure medical crate." + name = "medical crate" + icon_state = "medical_secure_crate" \ No newline at end of file diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 70533df0ad..8a5b678f22 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -8,7 +8,7 @@ resistance_flags = ACID_PROOF armor = list("melee" = 30, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 100) max_integrity = 200 - integrity_failure = 50 + integrity_failure = 0.25 var/obj/item/showpiece = null var/alert = TRUE var/open = FALSE diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm index 7014081042..2124c83d7d 100644 --- a/code/game/objects/structures/extinguisher.dm +++ b/code/game/objects/structures/extinguisher.dm @@ -6,7 +6,7 @@ anchored = TRUE density = FALSE max_integrity = 200 - integrity_failure = 50 + integrity_failure = 0.25 var/obj/item/extinguisher/stored_extinguisher var/opened = FALSE diff --git a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm index 448734d917..8457a397a9 100644 --- a/code/game/objects/structures/fireaxe.dm +++ b/code/game/objects/structures/fireaxe.dm @@ -7,7 +7,7 @@ density = FALSE armor = list("melee" = 50, "bullet" = 20, "laser" = 0, "energy" = 100, "bomb" = 10, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 50) max_integrity = 150 - integrity_failure = 50 + integrity_failure = 0.33 var/locked = TRUE var/open = FALSE var/obj/item/twohanded/fireaxe/fireaxe diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index 8c91b905a0..116c598235 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -66,6 +66,14 @@ var/datum/language_holder/holder = new_spawn.get_language_holder() holder.selected_default_language = /datum/language/draconic +//Ash walkers on birth understand how to make bone bows, bone arrows and ashen arrows + + new_spawn.mind.teach_crafting_recipe(/datum/crafting_recipe/bone_arrow) + new_spawn.mind.teach_crafting_recipe(/datum/crafting_recipe/bone_bow) + new_spawn.mind.teach_crafting_recipe(/datum/crafting_recipe/ashen_arrow) + new_spawn.mind.teach_crafting_recipe(/datum/crafting_recipe/quiver) + new_spawn.mind.teach_crafting_recipe(/datum/crafting_recipe/bow_tablet) + if(ishuman(new_spawn)) var/mob/living/carbon/human/H = new_spawn H.underwear = "Nude" diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 0d4444303e..0f43040c87 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -10,7 +10,7 @@ layer = BELOW_OBJ_LAYER armor = list("melee" = 50, "bullet" = 70, "laser" = 70, "energy" = 100, "bomb" = 10, "bio" = 100, "rad" = 100, "fire" = 0, "acid" = 0) max_integrity = 50 - integrity_failure = 20 + integrity_failure = 0.4 var/rods_type = /obj/item/stack/rods var/rods_amount = 2 var/rods_broken = TRUE diff --git a/code/game/objects/structures/holosign.dm b/code/game/objects/structures/holosign.dm index 92fda29101..fc1e642468 100644 --- a/code/game/objects/structures/holosign.dm +++ b/code/game/objects/structures/holosign.dm @@ -110,10 +110,10 @@ CanAtmosPass = ATMOS_PASS_NO resistance_flags = FIRE_PROOF -/obj/structure/holosign/barrier/combolock/blocksTemperature() +/obj/structure/holosign/barrier/combifan/blocksTemperature() return TRUE -/obj/structure/holosign/barrier/combolock/Initialize() +/obj/structure/holosign/barrier/combifan/Initialize() . = ..() air_update_turf(TRUE) diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index 54b9d650d5..58c8a739dc 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -6,11 +6,11 @@ anchored = FALSE density = TRUE //copypaste sorry - var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite - var/obj/item/storage/bag/trash/mybag = null - var/obj/item/mop/mymop = null - var/obj/item/reagent_containers/spray/cleaner/myspray = null - var/obj/item/lightreplacer/myreplacer = null + var/obj/item/storage/bag/trash/mybag + var/obj/item/mop/mymop + var/obj/item/twohanded/broom/mybroom + var/obj/item/reagent_containers/spray/cleaner/myspray + var/obj/item/lightreplacer/myreplacer var/signs = 0 var/const/max_signs = 4 @@ -49,7 +49,12 @@ m.janicart_insert(user, src) else to_chat(user, fail_msg) - + else if(istype(I, /obj/item/twohanded/broom)) + if(!mybroom) + var/obj/item/twohanded/broom/b=I + b.janicart_insert(user,src) + else + to_chat(user, fail_msg) else if(istype(I, /obj/item/storage/bag/trash)) if(!mybag) var/obj/item/storage/bag/trash/t=I @@ -97,6 +102,8 @@ dat += "[mybag.name]
" if(mymop) dat += "[mymop.name]
" + if(mybroom) + dat += "[mybroom.name]
" if(myspray) dat += "[myspray.name]
" if(myreplacer) @@ -124,6 +131,11 @@ user.put_in_hands(mymop) to_chat(user, "You take [mymop] from [src].") mymop = null + if(href_list["broom"]) + if(mybroom) + user.put_in_hands(mybroom) + to_chat(user, "You take [mybroom] from [src].") + mybroom = null if(href_list["spray"]) if(myspray) user.put_in_hands(myspray) @@ -155,6 +167,8 @@ add_overlay("cart_garbage") if(mymop) add_overlay("cart_mop") + if(mybroom) + add_overlay("cart_broom") if(myspray) add_overlay("cart_spray") if(myreplacer) diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm index 21622519c9..ebac89579b 100644 --- a/code/game/objects/structures/kitchen_spike.dm +++ b/code/game/objects/structures/kitchen_spike.dm @@ -64,6 +64,9 @@ /obj/structure/kitchenspike/attack_hand(mob/user) if(VIABLE_MOB_CHECK(user.pulling) && user.a_intent == INTENT_GRAB && !has_buckled_mobs()) var/mob/living/L = user.pulling + if(HAS_TRAIT(user, TRAIT_PACIFISM) && L.stat != DEAD) + to_chat(user, "You don't want to hurt a living creature!") + return if(do_mob(user, src, 120)) if(has_buckled_mobs()) //to prevent spam/queing up attacks return diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index d4645ec69a..e5ca09c7b8 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -7,7 +7,7 @@ density = FALSE anchored = TRUE max_integrity = 200 - integrity_failure = 100 + integrity_failure = 0.5 /obj/structure/mirror/Initialize(mapload) . = ..() diff --git a/code/game/objects/structures/table_frames.dm b/code/game/objects/structures/table_frames.dm index f62bed878b..e3cd053d94 100644 --- a/code/game/objects/structures/table_frames.dm +++ b/code/game/objects/structures/table_frames.dm @@ -31,21 +31,34 @@ return var/obj/item/stack/material = I - if (istype(I, /obj/item/stack) && material?.tableVariant) - if(material.get_amount() < 1) - to_chat(user, "You need one [material.name] sheet to do this!") - return - to_chat(user, "You start adding [material] to [src]...") - if(do_after(user, 20, target = src) && material.use(1)) - make_new_table(material.tableVariant) + if (istype(I, /obj/item/stack)) + if(material?.tableVariant) + if(material.get_amount() < 1) + to_chat(user, "You need one [material.name] sheet to do this!") + return + to_chat(user, "You start adding [material] to [src]...") + if(do_after(user, 20, target = src) && material.use(1)) + make_new_table(material.tableVariant) + else + if(material.get_amount() < 1) + to_chat(user, "You need one metal sheet to do this!") + return + to_chat(user, "You start adding [material] to [src]...") + if(do_after(user, 20, target = src) && material.use(1)) + var/list/material_list = list() + if(material.material_type) + material_list[material.material_type] = MINERAL_MATERIAL_AMOUNT + make_new_table(/obj/structure/table/greyscale, material_list) else return ..() -/obj/structure/table_frame/proc/make_new_table(table_type) //makes sure the new table made retains what we had as a frame +/obj/structure/table_frame/proc/make_new_table(table_type, custom_materials) //makes sure the new table made retains what we had as a frame var/obj/structure/table/T = new table_type(loc) T.frame = type T.framestack = framestack T.framestackamount = framestackamount + if(custom_materials) + T.set_custom_materials(custom_materials) qdel(src) /obj/structure/table_frame/deconstruct(disassembled = TRUE) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index f64f740a27..4eba21b8f9 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -31,9 +31,9 @@ var/framestackamount = 2 var/deconstruction_ready = 1 max_integrity = 100 - integrity_failure = 30 + integrity_failure = 0.33 smooth = SMOOTH_TRUE - canSmoothWith = list(/obj/structure/table, /obj/structure/table/reinforced) + canSmoothWith = list(/obj/structure/table, /obj/structure/table/reinforced, /obj/structure/table/greyscale) /obj/structure/table/examine(mob/user) . = ..() @@ -197,13 +197,23 @@ /obj/structure/table/deconstruct(disassembled = TRUE, wrench_disassembly = 0) if(!(flags_1 & NODECONSTRUCT_1)) var/turf/T = get_turf(src) - new buildstack(T, buildstackamount) + if(buildstack) + new buildstack(T, buildstackamount) + else + for(var/i in custom_materials) + var/datum/material/M = i + new M.sheet_type(T, FLOOR(custom_materials[M] / MINERAL_MATERIAL_AMOUNT, 1)) if(!wrench_disassembly) new frame(T) else new framestack(T, framestackamount) qdel(src) +/obj/structure/table/greyscale + icon = 'icons/obj/smooth_structures/table_greyscale.dmi' + icon_state = "table" + material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR + buildstack = null //No buildstack, so generate from mat datums /* * Glass tables @@ -456,9 +466,8 @@ icon_state = "r_table" deconstruction_ready = 0 buildstack = /obj/item/stack/sheet/plasteel - canSmoothWith = list(/obj/structure/table/reinforced, /obj/structure/table) max_integrity = 200 - integrity_failure = 50 + integrity_failure = 0.25 armor = list("melee" = 10, "bullet" = 30, "laser" = 30, "energy" = 100, "bomb" = 20, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 70) /obj/structure/table/reinforced/deconstruction_hints(mob/user) @@ -674,7 +683,7 @@ icon = 'icons/obj/items_and_weapons.dmi' icon_state = "rack_parts" flags_1 = CONDUCT_1 - materials = list(MAT_METAL=2000) + custom_materials = list(/datum/material/iron=2000) var/building = FALSE /obj/item/rack_parts/attackby(obj/item/W, mob/user, params) diff --git a/code/game/objects/structures/traps.dm b/code/game/objects/structures/traps.dm index 2cdc082ef3..3f559382f0 100644 --- a/code/game/objects/structures/traps.dm +++ b/code/game/objects/structures/traps.dm @@ -135,7 +135,19 @@ density = TRUE time_between_triggers = 1200 //Exists for 2 minutes - /obj/structure/trap/ward/New() ..() QDEL_IN(src, time_between_triggers) + +/obj/structure/trap/cult + name = "unholy trap" + desc = "A trap that rings with unholy energy. You think you hear... chittering?" + icon_state = "trap-cult" + +/obj/structure/trap/cult/trap_effect(mob/living/L) + to_chat(L, "With a crack, the hostile constructs come out of hiding, stunning you!") + L.electrocute_act(10, src, safety = TRUE) // electrocute act does a message. + L.Knockdown(20) + new /mob/living/simple_animal/hostile/construct/proteon/hostile(loc) + new /mob/living/simple_animal/hostile/construct/proteon/hostile(loc) + QDEL_IN(src, 30) \ No newline at end of file diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index a8f95e30da..359436dc2e 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -528,8 +528,8 @@ if(B.cell) if(B.cell.charge > 0 && B.status == 1) flick("baton_active", src) - var/stunforce = B.stunforce - user.Knockdown(stunforce) + var/stunforce = B.stamforce + user.Knockdown(stunforce * 2) user.stuttering = stunforce/20 B.deductcharge(B.hitcost) user.visible_message("[user] shocks [user.p_them()]self while attempting to wash the active [B.name]!", \ diff --git a/code/game/sound.dm b/code/game/sound.dm index e7562476a8..11e026109a 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -184,6 +184,8 @@ soundin = pick('sound/items/bikehorn.ogg', 'sound/items/AirHorn2.ogg', 'sound/misc/sadtrombone.ogg', 'sound/items/AirHorn.ogg', 'sound/effects/reee.ogg', 'sound/items/WEEOO1.ogg', 'sound/voice/beepsky/iamthelaw.ogg', 'sound/voice/beepsky/creep.ogg','sound/magic/Fireball.ogg' ,'sound/effects/pray.ogg', 'sound/voice/hiss1.ogg','sound/machines/buzz-sigh.ogg', 'sound/machines/ping.ogg', 'sound/weapons/flashbang.ogg', 'sound/weapons/bladeslice.ogg') if("goose") soundin = pick('sound/creatures/goose1.ogg', 'sound/creatures/goose2.ogg', 'sound/creatures/goose3.ogg', 'sound/creatures/goose4.ogg') + if("water_wade") + soundin = pick('sound/effects/water_wade1.ogg', 'sound/effects/water_wade2.ogg', 'sound/effects/water_wade3.ogg', 'sound/effects/water_wade4.ogg') //START OF CIT CHANGES - adds random vore sounds if ("struggle_sound") soundin = pick( 'sound/vore/pred/struggle_01.ogg','sound/vore/pred/struggle_02.ogg','sound/vore/pred/struggle_03.ogg', diff --git a/code/game/turfs/simulated/floor/fancy_floor.dm b/code/game/turfs/simulated/floor/fancy_floor.dm index f38a8a3d9b..c9b429cecc 100644 --- a/code/game/turfs/simulated/floor/fancy_floor.dm +++ b/code/game/turfs/simulated/floor/fancy_floor.dm @@ -214,7 +214,7 @@ floor_tile = /obj/item/stack/tile/carpet broken_states = list("damaged") smooth = SMOOTH_TRUE - canSmoothWith = list(/turf/open/floor/carpet) + canSmoothWith = list(/turf/open/floor/carpet, /turf/open/floor/carpet/airless) flags_1 = NONE bullet_bounce_sound = null footstep = FOOTSTEP_CARPET @@ -245,59 +245,99 @@ /turf/open/floor/carpet/black icon = 'icons/turf/floors/carpet_black.dmi' floor_tile = /obj/item/stack/tile/carpet/black - canSmoothWith = list(/turf/open/floor/carpet/black, /turf/open/floor/carpet/blackred, /turf/open/floor/carpet/monochrome) + smooth = SMOOTH_MORE + canSmoothWith = list(/turf/open/floor/carpet/black, /turf/open/floor/carpet/blackred, /turf/open/floor/carpet/monochrome) /turf/open/floor/carpet/blackred icon = 'icons/turf/floors/carpet_blackred.dmi' floor_tile = /obj/item/stack/tile/carpet/blackred icon_state = "tile-carpet-blackred" - canSmoothWith = list(/turf/open/floor/carpet/black, /turf/open/floor/carpet/blackred, /turf/open/floor/carpet/monochrome) + smooth = SMOOTH_MORE + canSmoothWith = list(/turf/open/floor/carpet/black, /turf/open/floor/carpet/blackred, /turf/open/floor/carpet/monochrome) /turf/open/floor/carpet/monochrome icon = 'icons/turf/floors/carpet_monochrome.dmi' floor_tile = /obj/item/stack/tile/carpet/monochrome icon_state = "tile-carpet-monochrome" - canSmoothWith = list(/turf/open/floor/carpet/black, /turf/open/floor/carpet/blackred, /turf/open/floor/carpet/monochrome) + smooth = SMOOTH_MORE + canSmoothWith = list(/turf/open/floor/carpet/black, /turf/open/floor/carpet/blackred, /turf/open/floor/carpet/monochrome) /turf/open/floor/carpet/blue icon = 'icons/turf/floors/carpet_blue.dmi' floor_tile = /obj/item/stack/tile/carpet/blue - canSmoothWith = list(/turf/open/floor/carpet/blue) + canSmoothWith = list(/turf/open/floor/carpet/blue, /turf/open/floor/carpet/blue/airless) /turf/open/floor/carpet/cyan icon = 'icons/turf/floors/carpet_cyan.dmi' floor_tile = /obj/item/stack/tile/carpet/cyan - canSmoothWith = list(/turf/open/floor/carpet/cyan) + canSmoothWith = list(/turf/open/floor/carpet/cyan, /turf/open/floor/carpet/cyan/airless) /turf/open/floor/carpet/green icon = 'icons/turf/floors/carpet_green.dmi' floor_tile = /obj/item/stack/tile/carpet/green - canSmoothWith = list(/turf/open/floor/carpet/green) + canSmoothWith = list(/turf/open/floor/carpet/green, /turf/open/floor/carpet/green/airless) /turf/open/floor/carpet/orange icon = 'icons/turf/floors/carpet_orange.dmi' floor_tile = /obj/item/stack/tile/carpet/orange - canSmoothWith = list(/turf/open/floor/carpet/orange) + canSmoothWith = list(/turf/open/floor/carpet/orange, /turf/open/floor/carpet/orange/airless) /turf/open/floor/carpet/purple icon = 'icons/turf/floors/carpet_purple.dmi' floor_tile = /obj/item/stack/tile/carpet/purple - canSmoothWith = list(/turf/open/floor/carpet/purple) + canSmoothWith = list(/turf/open/floor/carpet/purple, /turf/open/floor/carpet/purple/airless) /turf/open/floor/carpet/red icon = 'icons/turf/floors/carpet_red.dmi' floor_tile = /obj/item/stack/tile/carpet/red - canSmoothWith = list(/turf/open/floor/carpet/red) + canSmoothWith = list(/turf/open/floor/carpet/red, /turf/open/floor/carpet/red/airless) /turf/open/floor/carpet/royalblack icon = 'icons/turf/floors/carpet_royalblack.dmi' floor_tile = /obj/item/stack/tile/carpet/royalblack - canSmoothWith = list(/turf/open/floor/carpet/royalblack) + canSmoothWith = list(/turf/open/floor/carpet/royalblack, /turf/open/floor/carpet/royalblack/airless) /turf/open/floor/carpet/royalblue icon = 'icons/turf/floors/carpet_royalblue.dmi' floor_tile = /obj/item/stack/tile/carpet/royalblue - canSmoothWith = list(/turf/open/floor/carpet/royalblue) + canSmoothWith = list(/turf/open/floor/carpet/royalblue, /turf/open/floor/carpet/royalblue/airless) + +//*****Airless versions of all of the above.***** +/turf/open/floor/carpet/airless + initial_gas_mix = AIRLESS_ATMOS + +/turf/open/floor/carpet/black/airless + initial_gas_mix = AIRLESS_ATMOS + +/turf/open/floor/carpet/blackred/airless + initial_gas_mix = AIRLESS_ATMOS + +/turf/open/floor/carpet/monochrome/airless + initial_gas_mix = AIRLESS_ATMOS + +/turf/open/floor/carpet/blue/airless + initial_gas_mix = AIRLESS_ATMOS + +/turf/open/floor/carpet/cyan/airless + initial_gas_mix = AIRLESS_ATMOS + +/turf/open/floor/carpet/green/airless + initial_gas_mix = AIRLESS_ATMOS + +/turf/open/floor/carpet/orange/airless + initial_gas_mix = AIRLESS_ATMOS + +/turf/open/floor/carpet/purple/airless + initial_gas_mix = AIRLESS_ATMOS + +/turf/open/floor/carpet/red/airless + initial_gas_mix = AIRLESS_ATMOS + +/turf/open/floor/carpet/royalblack/airless + initial_gas_mix = AIRLESS_ATMOS + +/turf/open/floor/carpet/royalblue/airless + initial_gas_mix = AIRLESS_ATMOS /turf/open/floor/carpet/narsie_act(force, ignore_mobs, probability = 20) . = (prob(probability) || force) diff --git a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm index d0e941e69f..c61ac8972c 100644 --- a/code/game/turfs/simulated/minerals.dm +++ b/code/game/turfs/simulated/minerals.dm @@ -168,6 +168,11 @@ M.levelupdate() +/turf/closed/mineral/random/no_caves + mineralSpawnChanceList = list(/turf/closed/mineral/uranium = 5, /turf/closed/mineral/diamond = 1, /turf/closed/mineral/gold = 10, + /turf/closed/mineral/silver = 12, /turf/closed/mineral/plasma = 20, /turf/closed/mineral/iron = 40, /turf/closed/mineral/titanium = 11, + /turf/closed/mineral/gibtonite = 4, /turf/closed/mineral/bscrystal = 1) + /turf/closed/mineral/random/high_chance icon_state = "rock_highchance" mineralChance = 25 diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index e8f53f551d..578d6d10ae 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -552,6 +552,8 @@ //if the vomit combined, apply toxicity and reagents to the old vomit if (QDELETED(V)) V = locate() in src + if(!V) //the decal was spawned on a wall or groundless turf and promptly qdeleted. + return // Make toxins and blazaam vomit look different if(toxvomit == VOMIT_PURPLE) V.icon_state = "vomitpurp_[pick(1,4)]" diff --git a/code/modules/NTNet/relays.dm b/code/modules/NTNet/relays.dm index 373f6451b9..0d855f15bb 100644 --- a/code/modules/NTNet/relays.dm +++ b/code/modules/NTNet/relays.dm @@ -35,7 +35,7 @@ return FALSE return TRUE -/obj/machinery/ntnet_relay/update_icon() +/obj/machinery/ntnet_relay/update_icon_state() if(is_operational()) icon_state = "bus" else diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index f23fc5c070..3ccd113864 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -714,7 +714,7 @@ GLOBAL_PROTECT(admin_verbs_hideable) AI_Interact = !AI_Interact if(mob && IsAdminGhost(mob)) - mob.has_unlimited_silicon_privilege = AI_Interact + mob.silicon_privileges = AI_Interact ? ALL : NONE log_admin("[key_name(usr)] has [AI_Interact ? "activated" : "deactivated"] Admin AI Interact") message_admins("[key_name_admin(usr)] has [AI_Interact ? "activated" : "deactivated"] their AI interaction") diff --git a/code/modules/antagonists/_common/antag_datum.dm b/code/modules/antagonists/_common/antag_datum.dm index 187ca66705..e73c5de1aa 100644 --- a/code/modules/antagonists/_common/antag_datum.dm +++ b/code/modules/antagonists/_common/antag_datum.dm @@ -14,7 +14,8 @@ GLOBAL_LIST_EMPTY(antagonists) var/list/objectives = list() var/antag_memory = ""//These will be removed with antag datum var/antag_moodlet //typepath of moodlet that the mob will gain with their status - var/can_hijack = HIJACK_NEUTRAL //If these antags are alone on shuttle hijack happens. + /// If above 0, this is the multiplier for the speed at which we hijack the shuttle. Do not directly read, use hijack_speed(). + var/hijack_speed = 0 //Antag panel properties var/show_in_antagpanel = TRUE //This will hide adding this antag type in antag panel, use only for internal subtypes that shouldn't be added directly but still show if possessed by mind @@ -229,6 +230,13 @@ GLOBAL_LIST_EMPTY(antagonists) return antag_memory = new_memo +/// Gets how fast we can hijack the shuttle, return 0 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() + var/datum/objective/hijack/H = locate() in objectives + if(!isnull(H?.hijack_speed_override)) + return H.hijack_speed_override + return hijack_speed + //This one is created by admin tools for custom objectives /datum/antagonist/custom antagpanel_category = "Custom" diff --git a/code/modules/antagonists/blob/blob/overmind.dm b/code/modules/antagonists/blob/blob/overmind.dm index 5d3c8cd8ca..fe1c700014 100644 --- a/code/modules/antagonists/blob/blob/overmind.dm +++ b/code/modules/antagonists/blob/blob/overmind.dm @@ -24,7 +24,7 @@ GLOBAL_LIST_EMPTY(blob_nodes) hud_type = /datum/hud/blob_overmind var/obj/structure/blob/core/blob_core = null // The blob overmind's core var/blob_points = 0 - var/max_blob_points = 100 + var/max_blob_points = 250 var/last_attack = 0 var/datum/reagent/blob/blob_reagent_datum = new/datum/reagent/blob() var/list/blob_mobs = list() diff --git a/code/modules/antagonists/blob/blob/powers.dm b/code/modules/antagonists/blob/blob/powers.dm index aeb1392432..fe492831b8 100644 --- a/code/modules/antagonists/blob/blob/powers.dm +++ b/code/modules/antagonists/blob/blob/powers.dm @@ -321,7 +321,7 @@ set category = "Blob" set name = "Blob Broadcast" set desc = "Speak with your blob spores and blobbernauts as your mouthpieces." - var/speak_text = input(src, "What would you like to say with your minions?", "Blob Broadcast", null) as text + var/speak_text = stripped_input(src, "What would you like to say with your minions?", "Blob Broadcast", null) if(!speak_text) return else diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_objectives.dm b/code/modules/antagonists/bloodsucker/bloodsucker_objectives.dm index 63e1470576..a2a0238df1 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_objectives.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_objectives.dm @@ -208,7 +208,7 @@ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - +/* // Destroy the Solar Arrays /datum/objective/bloodsucker/solars @@ -228,7 +228,7 @@ if (SC && SC.lastgen > 0 && SC.connected_panels.len > 0 && SC.connected_tracker) return FALSE return TRUE - +*/ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm index 24e967f00b..4d06c127d4 100644 --- a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm +++ b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm @@ -286,10 +286,10 @@ var/mob/living/L = owner.current level_bloodcost = maxBloodVolume * 0.2 //If the blood volume of the bloodsucker is lower than the cost to level up, return and inform the bloodsucker - + //TODO: Make this into a radial, or perhaps a tgui next UI // Purchase Power Prompt - var/list/options = list() + var/list/options = list() for(var/pickedpower in typesof(/datum/action/bloodsucker)) var/datum/action/bloodsucker/power = pickedpower // If I don't own it, and I'm allowed to buy it. @@ -379,20 +379,21 @@ protege_objective.generate_objective() add_objective(protege_objective) - if (rand(0,1) == 0) + //if (rand(0,1) == 0) // Heart Thief Objective - var/datum/objective/bloodsucker/heartthief/heartthief_objective = new - heartthief_objective.owner = owner - heartthief_objective.generate_objective() - add_objective(heartthief_objective) - + var/datum/objective/bloodsucker/heartthief/heartthief_objective = new + heartthief_objective.owner = owner + heartthief_objective.generate_objective() + add_objective(heartthief_objective) + /* else - // Solars Objective + + // Solars Objective, doesnt work due to TG updates. var/datum/objective/bloodsucker/solars/solars_objective = new solars_objective.owner = owner solars_objective.generate_objective() add_objective(solars_objective) - +*/ // Survive Objective var/datum/objective/bloodsucker/survive/survive_objective = new survive_objective.owner = owner diff --git a/code/modules/antagonists/bloodsucker/powers/bs_brawn.dm b/code/modules/antagonists/bloodsucker/powers/brawn.dm similarity index 100% rename from code/modules/antagonists/bloodsucker/powers/bs_brawn.dm rename to code/modules/antagonists/bloodsucker/powers/brawn.dm diff --git a/code/modules/antagonists/bloodsucker/powers/bs_cloak.dm b/code/modules/antagonists/bloodsucker/powers/cloak.dm similarity index 52% rename from code/modules/antagonists/bloodsucker/powers/bs_cloak.dm rename to code/modules/antagonists/bloodsucker/powers/cloak.dm index 9d83c95f05..23b35d1eaa 100644 --- a/code/modules/antagonists/bloodsucker/powers/bs_cloak.dm +++ b/code/modules/antagonists/bloodsucker/powers/cloak.dm @@ -2,40 +2,56 @@ /datum/action/bloodsucker/cloak name = "Cloak of Darkness" - desc = "Blend into the shadows and become invisible to the untrained eye." + desc = "Blend into the shadows and become invisible to the untrained eye. Movement is slowed in brightly lit areas." button_icon_state = "power_cloak" bloodcost = 5 cooldown = 50 bloodsucker_can_buy = TRUE amToggle = TRUE warn_constant_cost = TRUE - var/was_running - - var/light_min = 0.2 // If lum is above this, no good. + var/moveintent_was_run + 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) . = ..() if(!.) return - // Must be Dark - var/turf/T = owner.loc - if(istype(T) && T.get_lumcount() > light_min) - to_chat(owner, "This area is not dark enough to blend in") - return FALSE + + // must have nobody around to see the cloak + var/watchers = viewers(9,get_turf(owner)) + for(var/mob/living/M in watchers) + if(M != owner) + to_chat(owner, "You may only vanish into the shadows unseen.") + return FALSE + return TRUE /datum/action/bloodsucker/cloak/ActivatePower() var/datum/antagonist/bloodsucker/bloodsuckerdatum = owner.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) var/mob/living/user = owner - was_running = (user.m_intent == MOVE_INTENT_RUN) - if(was_running) - user.toggle_move_intent() - ADD_TRAIT(user, TRAIT_NORUNNING, "cloak of darkness") + while(bloodsuckerdatum && ContinueActive(user)) // Pay Blood Toll (if awake) - owner.alpha = max(20, owner.alpha - min(75, 10 + 5 * level_current)) + owner.alpha = max(35, owner.alpha - min(75, 10 + 5 * level_current)) bloodsuckerdatum.AddBloodVolume(-0.2) - sleep(5) // Check every few ticks that we haven't disabled this power + + moveintent_was_run = (user.m_intent == MOVE_INTENT_RUN) + var/turf/T = get_turf(user) + lum = T.get_lumcount() + + if(istype(owner.loc)) + if(lum > walk_threshold) + if(moveintent_was_run) + user.toggle_move_intent() + ADD_TRAIT(user, TRAIT_NORUNNING, "cloak of darkness") + + if(lum < walk_threshold) + if(!moveintent_was_run) + user.toggle_move_intent() + REMOVE_TRAIT(user, TRAIT_NORUNNING, "cloak of darkness") + + sleep(5) // Check every few ticks /datum/action/bloodsucker/cloak/ContinueActive(mob/living/user, mob/living/target) if (!..()) @@ -43,15 +59,11 @@ if(user.stat == !CONSCIOUS) // Must be CONSCIOUS to_chat(owner, "Your cloak failed due to you falling unconcious! ") return FALSE - var/turf/T = owner.loc // Must be DARK - if(istype(T) && T.get_lumcount() > light_min) - to_chat(owner, "Your cloak failed due to there being too much light!") - return FALSE return TRUE /datum/action/bloodsucker/cloak/DeactivatePower(mob/living/user = owner, mob/living/target) ..() REMOVE_TRAIT(user, TRAIT_NORUNNING, "cloak of darkness") user.alpha = 255 - if(was_running && user.m_intent != MOVE_INTENT_RUN) + if(!moveintent_was_run) user.toggle_move_intent() diff --git a/code/modules/antagonists/bloodsucker/powers/bs_feed.dm b/code/modules/antagonists/bloodsucker/powers/feed.dm similarity index 98% rename from code/modules/antagonists/bloodsucker/powers/bs_feed.dm rename to code/modules/antagonists/bloodsucker/powers/feed.dm index 2da84b6075..f9ff31d94a 100644 --- a/code/modules/antagonists/bloodsucker/powers/bs_feed.dm +++ b/code/modules/antagonists/bloodsucker/powers/feed.dm @@ -170,7 +170,7 @@ // Warn Feeder about Witnesses... var/was_unnoticed = TRUE for(var/mob/living/M in viewers(notice_range, owner)) - if(M != owner && M != target && iscarbon(M) && M.mind && !M.has_unlimited_silicon_privilege && !M.eye_blind && !M.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER)) + if(M != owner && M != target && iscarbon(M) && M.mind && !M.silicon_privileges && !M.eye_blind && !M.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER)) was_unnoticed = FALSE break if(was_unnoticed) diff --git a/code/modules/antagonists/bloodsucker/powers/bs_fortitude.dm b/code/modules/antagonists/bloodsucker/powers/fortitude.dm similarity index 100% rename from code/modules/antagonists/bloodsucker/powers/bs_fortitude.dm rename to code/modules/antagonists/bloodsucker/powers/fortitude.dm diff --git a/code/modules/antagonists/bloodsucker/powers/bs_gohome.dm b/code/modules/antagonists/bloodsucker/powers/go_home.dm similarity index 94% rename from code/modules/antagonists/bloodsucker/powers/bs_gohome.dm rename to code/modules/antagonists/bloodsucker/powers/go_home.dm index 476f8ae012..3fa8a07299 100644 --- a/code/modules/antagonists/bloodsucker/powers/bs_gohome.dm +++ b/code/modules/antagonists/bloodsucker/powers/go_home.dm @@ -28,9 +28,9 @@ to_chat(owner, "Your coffin has been destroyed!") return FALSE return TRUE - + /datum/action/bloodsucker/gohome/proc/flicker_lights(var/flicker_range, var/beat_volume) - for(var/obj/machinery/light/L in view(flicker_range, get_turf(owner))) + for(var/obj/machinery/light/L in view(flicker_range, get_turf(owner))) playsound(get_turf(owner), 'sound/effects/singlebeat.ogg', beat_volume, 1) @@ -45,7 +45,7 @@ flicker_lights(4, 40) sleep(50) flicker_lights(4, 60) - for(var/obj/machinery/light/L in view(6, get_turf(owner))) + for(var/obj/machinery/light/L in view(6, get_turf(owner))) L.flicker(5) playsound(get_turf(owner), 'sound/effects/singlebeat.ogg', 60, 1) // ( STEP TWO: Lights OFF? ) @@ -56,7 +56,7 @@ if(!owner) return // SEEN?: (effects ONLY if there are witnesses! Otherwise you just POOF) - + var/am_seen = FALSE // Do Effects (seen by anyone) var/drop_item = FALSE // Drop Stuff (seen by non-vamp) if(isturf(owner.loc)) // Only check if I'm not in a Locker or something. @@ -65,7 +65,7 @@ if(T && T.lighting_object && T.get_lumcount()>= 0.1) // B) Check for Viewers for(var/mob/living/M in viewers(get_turf(owner))) - if(M != owner && isliving(M) && M.mind && !M.has_unlimited_silicon_privilege && !M.eye_blind) // M.client <--- add this in after testing! + if(M != owner && isliving(M) && M.mind && !M.silicon_privileges && !M.eye_blind) // M.client <--- add this in after testing! am_seen = TRUE if (!M.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER)) drop_item = TRUE @@ -95,12 +95,12 @@ puff.effect_type = /obj/effect/particle_effect/smoke/vampsmoke puff.set_up(3, 0, get_turf(owner)) puff.start() - + //STEP FIVE: Create animal at prev location var/mob/living/simple_animal/SA = pick(/mob/living/simple_animal/mouse,/mob/living/simple_animal/mouse,/mob/living/simple_animal/mouse, /mob/living/simple_animal/hostile/retaliate/bat) //prob(300) /mob/living/simple_animal/mouse, new SA (owner.loc) // TELEPORT: Move to Coffin & Close it! - do_teleport(owner, bloodsuckerdatum.coffin, no_effects = TRUE, forced = TRUE, channel = TELEPORT_CHANNEL_QUANTUM) + do_teleport(owner, bloodsuckerdatum.coffin, no_effects = TRUE, forced = TRUE, channel = TELEPORT_CHANNEL_QUANTUM) user.resting = TRUE user.Stun(30,1) // CLOSE LID: If fail, force me in. @@ -112,4 +112,4 @@ bloodsuckerdatum.coffin.update_icon() // Lock Coffin bloodsuckerdatum.coffin.LockMe(owner) - + diff --git a/code/modules/antagonists/bloodsucker/powers/bs_haste.dm b/code/modules/antagonists/bloodsucker/powers/haste.dm similarity index 53% rename from code/modules/antagonists/bloodsucker/powers/bs_haste.dm rename to code/modules/antagonists/bloodsucker/powers/haste.dm index a1aaf50499..47c93b794e 100644 --- a/code/modules/antagonists/bloodsucker/powers/bs_haste.dm +++ b/code/modules/antagonists/bloodsucker/powers/haste.dm @@ -14,6 +14,9 @@ message_Trigger = ""//"Whom will you subvert to your will?" bloodsucker_can_buy = TRUE must_be_capacitated = TRUE + var/list/hit //current hit, set while power is in use as we can't pass the list as an extra calling argument in registersignal. + /// If set, uses this speed in deciseconds instead of world.tick_lag + var/speed_override /datum/action/bloodsucker/targeted/haste/CheckCanUse(display_error) . = ..() @@ -43,43 +46,46 @@ return TRUE /datum/action/bloodsucker/targeted/haste/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. + // This is a non-async proc to make sure the power is "locked" until this finishes. + hit = list() + RegisterSignal(owner, COMSIG_MOVABLE_MOVED, .proc/on_move) var/mob/living/user = owner var/turf/T = isturf(A) ? A : get_turf(A) // Pulled? Not anymore. - owner.pulledby = null - // Step One: Heatseek toward Target's Turf - walk_to(owner, T, 0, 0.01, 20) // NOTE: this runs in the background! to cancel it, you need to use walk(owner.current,0), or give them a new path. + user.pulledby?.stop_pulling() + // Go to target turf + // DO NOT USE WALK TO. playsound(get_turf(owner), 'sound/weapons/punchmiss.ogg', 25, 1, -1) - var/safety = 20 - while(get_turf(owner) != T && safety > 0 && !(isliving(target) && target.Adjacent(owner))) - user.canmove = FALSE //Dont move while doing the thing, or itll break - safety -- - // Did I get knocked down? - if(owner && owner.incapacitated(ignore_restraints=TRUE, ignore_grab=TRUE))// owner.incapacitated()) - // We're gonna cancel. But am I on the ground? Spin me! - if(user.resting) - var/send_dir = get_dir(owner, T) - new /datum/forced_movement(owner, get_ranged_target_turf(owner, send_dir, 1), 1, FALSE) - owner.spin(10) + var/safety = get_dist(user, T) * 3 + 1 + var/consequetive_failures = 0 + var/speed = isnull(speed_override)? world.tick_lag : speed_override + while(--safety && (get_turf(user) != T)) + var/success = step_towards(user, T) //This does not try to go around obstacles. + if(!success) + success = step_to(user, T) //this does + if(!success) + if(++consequetive_failures >= 3) //if 3 steps don't work + break //just stop + else + consequetive_failures = 0 + if(user.resting) + user.setDir(turn(user.dir, 90)) //down? spin2win :^) + if(user.incapacitated(ignore_restraints = TRUE, ignore_grab = TRUE)) //actually down? stop. break - // Spin/Stun people we pass. - //var/mob/living/newtarget = locate(/mob/living) in oview(1, owner) - var/list/mob/living/foundtargets = list() - for(var/mob/living/newtarget in oview(1, owner)) - if (newtarget && newtarget != target && !(newtarget in foundtargets))//!newtarget.IsKnockdown()) - if (rand(0, 5) < level_current) - playsound(get_turf(newtarget), "sound/weapons/punch[rand(1,4)].ogg", 15, 1, -1) - newtarget.Knockdown(10 + level_current * 5) - if(newtarget.IsStun()) - newtarget.spin(10,1) - if (rand(0,4)) - newtarget.drop_all_held_items() - foundtargets += newtarget - sleep(1) - if(user) - user.update_canmove() //Let the poor guy move again + if(success) //don't sleep if we failed to move. + sleep(speed) + UnregisterSignal(owner, COMSIG_MOVABLE_MOVED) + hit = null + user.update_canmove() /datum/action/bloodsucker/targeted/haste/DeactivatePower(mob/living/user = owner, mob/living/target) ..() // activate = FALSE user.update_canmove() + +/datum/action/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 + playsound(L, "sound/weapons/punch[rand(1,4)].ogg", 15, 1, -1) + L.Knockdown(10 + level_current * 5, override_hardstun = 0.1) + L.spin(10, 1) diff --git a/code/modules/antagonists/bloodsucker/powers/bs_lunge.dm b/code/modules/antagonists/bloodsucker/powers/lunge.dm similarity index 63% rename from code/modules/antagonists/bloodsucker/powers/bs_lunge.dm rename to code/modules/antagonists/bloodsucker/powers/lunge.dm index 48e12332a2..c3a3090d55 100644 --- a/code/modules/antagonists/bloodsucker/powers/bs_lunge.dm +++ b/code/modules/antagonists/bloodsucker/powers/lunge.dm @@ -7,9 +7,9 @@ button_icon_state = "power_lunge" bloodcost = 10 cooldown = 120 - target_range = 3 + target_range = 5 power_activates_immediately = TRUE - message_Trigger = ""//"Whom will you subvert to your will?" + message_Trigger = "Whom will you ensnare within your grasp?" must_be_capacitated = TRUE bloodsucker_can_buy = TRUE @@ -58,25 +58,29 @@ var/do_knockdown = !is_A_facing_B(target,owner) || owner.alpha <= 0 || istype(owner.loc, /obj/structure/closet) // CAUSES: Target has their back to me, I'm invisible, or I'm in a Closet // Step One: Heatseek toward Target's Turf - - walk_towards(owner, T, 0.1, 10) // NOTE: this runs in the background! to cancel it, you need to use walk(owner.current,0), or give them a new path. addtimer(CALLBACK(owner, .proc/_walk, 0), 2 SECONDS) - if(get_turf(owner) != T && !(isliving(target) && target.Adjacent(owner)) && owner.incapacitated() && owner.resting) - var/send_dir = get_dir(owner, T) - new /datum/forced_movement(owner, get_ranged_target_turf(owner, send_dir, 1), 1, FALSE) - owner.spin(10) - // Step Two: Check if I'm at/adjectent to Target's CURRENT turf (not original...that was just a destination) - sleep(1) - if(target.Adjacent(owner)) - // LEVEL 2: If behind target, mute or unconscious! - if(do_knockdown) // && level_current >= 1) - target.Knockdown(15 + 10 * level_current,1) - target.adjustStaminaLoss(40 + 10 * level_current) - // Cancel Walk (we were close enough to contact them) - walk(owner, 0) - target.Stun(10,1) //Without this the victim can just walk away - target.grabbedby(owner) // Taken from mutations.dm under changelings - target.grippedby(owner, instant = TRUE) //instant aggro grab + target.playsound_local(get_turf(owner), 'sound/bloodsucker/lunge_warn.ogg', 60, FALSE, pressure_affected = FALSE) // target-only telegraphing + owner.playsound_local(owner, 'sound/bloodsucker/lunge_warn.ogg', 60, FALSE, pressure_affected = FALSE) // audio feedback to the user + if(do_mob(owner, owner, 6, TRUE, TRUE)) + walk_towards(owner, T, 0.1, 10) // yes i know i shouldn't use this but i don't know how to work in anything better + if(get_turf(owner) != T && !(isliving(target) && target.Adjacent(owner)) && owner.incapacitated() && owner.resting) + var/send_dir = get_dir(owner, T) + new /datum/forced_movement(owner, get_ranged_target_turf(owner, send_dir, 1), 1, FALSE) + owner.spin(10) + // Step Two: Check if I'm at/adjectent to Target's CURRENT turf (not original...that was just a destination) + for(var/i in 1 to 6) + if (target.Adjacent(owner)) + // LEVEL 2: If behind target, mute or unconscious! + if(do_knockdown) // && level_current >= 1) + target.Knockdown(15 + 10 * level_current,1) + target.adjustStaminaLoss(40 + 10 * level_current) + // Cancel Walk (we were close enough to contact them) + walk(owner, 0) + target.Stun(10,1) //Without this the victim can just walk away + target.grabbedby(owner) // Taken from mutations.dm under changelings + target.grippedby(owner, instant = TRUE) //instant aggro grab + break + sleep(i*3) /datum/action/bloodsucker/targeted/lunge/DeactivatePower(mob/living/user = owner, mob/living/target) ..() // activate = FALSE diff --git a/code/modules/antagonists/bloodsucker/powers/bs_masquerade.dm b/code/modules/antagonists/bloodsucker/powers/masquerade.dm similarity index 99% rename from code/modules/antagonists/bloodsucker/powers/bs_masquerade.dm rename to code/modules/antagonists/bloodsucker/powers/masquerade.dm index 0435ddccd5..7d41899dc2 100644 --- a/code/modules/antagonists/bloodsucker/powers/bs_masquerade.dm +++ b/code/modules/antagonists/bloodsucker/powers/masquerade.dm @@ -54,8 +54,8 @@ REMOVE_TRAIT(user, TRAIT_VIRUSIMMUNE, "bloodsucker") var/obj/item/organ/heart/vampheart/H = user.getorganslot(ORGAN_SLOT_HEART) var/obj/item/organ/eyes/vassal/bloodsucker/E = user.getorganslot(ORGAN_SLOT_EYES) - E.flash_protect = 0 - + E.flash_protect = 0 + // WE ARE ALIVE! // bloodsuckerdatum.poweron_masquerade = TRUE while(bloodsuckerdatum && ContinueActive(user)) diff --git a/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm b/code/modules/antagonists/bloodsucker/powers/mesmerize.dm similarity index 63% rename from code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm rename to code/modules/antagonists/bloodsucker/powers/mesmerize.dm index dc9d1d46a0..b238c5ba36 100644 --- a/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm +++ b/code/modules/antagonists/bloodsucker/powers/mesmerize.dm @@ -11,24 +11,25 @@ button_icon_state = "power_mez" bloodcost = 30 cooldown = 300 - target_range = 1 - power_activates_immediately = FALSE + target_range = 3 + power_activates_immediately = TRUE message_Trigger = "Whom will you subvert to your will?" must_be_capacitated = TRUE bloodsucker_can_buy = TRUE + var/success /datum/action/bloodsucker/targeted/mesmerize/CheckCanUse(display_error) . = ..() if(!.) return - if (!owner.getorganslot(ORGAN_SLOT_EYES)) + if(!owner.getorganslot(ORGAN_SLOT_EYES)) if (display_error) to_chat(owner, "You have no eyes with which to mesmerize.") return FALSE // Check: Eyes covered? var/mob/living/L = owner - if (istype(L) && L.is_eyes_covered() || !isturf(owner.loc)) - if (display_error) + if(istype(L) && L.is_eyes_covered() || !isturf(owner.loc)) + if(display_error) to_chat(owner, "Your eyes are concealed from sight.") return FALSE return TRUE @@ -38,46 +39,51 @@ /datum/action/bloodsucker/targeted/mesmerize/CheckCanTarget(atom/A,display_error) // Check: Self - if (A == owner) + if(A == owner) return FALSE var/mob/living/carbon/target = A // We already know it's carbon due to CheckValidTarget() + // Bloodsucker - if (target.mind && target.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER)) + if(target.mind && target.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER)) if (display_error) to_chat(owner, "Bloodsuckers are immune to [src].") return FALSE // Dead/Unconscious - if (target.stat > CONSCIOUS) + if(target.stat > CONSCIOUS) if (display_error) to_chat(owner, "Your victim is not [(target.stat == DEAD || HAS_TRAIT(target, TRAIT_FAKEDEATH))?"alive":"conscious"].") return FALSE // Check: Target has eyes? - if (!target.getorganslot(ORGAN_SLOT_EYES)) + if(!target.getorganslot(ORGAN_SLOT_EYES)) if (display_error) to_chat(owner, "They have no eyes!") return FALSE // Check: Target blind? - if (target.eye_blind > 0) + if(target.eye_blind > 0) if (display_error) to_chat(owner, "Your victim's eyes are glazed over. They cannot perceive you.") return FALSE // Check: Target See Me? (behind wall) - if (!(owner in view(target_range, get_turf(target)))) + if(!(target in view(target_range, get_turf(owner)))) // Sub-Check: GET CLOSER //if (!(owner in range(target_range, get_turf(target))) // if (display_error) // to_chat(owner, "You're too far from your victim.") - if (display_error) + if(display_error) to_chat(owner, "You're too far outside your victim's view.") return FALSE + + if(target.has_status_effect(STATUS_EFFECT_MESMERIZE)) // ? + return TRUE + // Check: Facing target? - if (!is_A_facing_B(owner,target)) // in unsorted.dm + if(!is_A_facing_B(owner,target)) // in unsorted.dm if (display_error) to_chat(owner, "You must be facing your victim.") return FALSE // Check: Target facing me? - if (!target.resting && !is_A_facing_B(target,owner)) - if (display_error) + if(!target.resting && !is_A_facing_B(target,owner)) + if(display_error) to_chat(owner, "Your victim must be facing you to see into your eyes.") return FALSE return TRUE @@ -88,19 +94,28 @@ var/mob/living/user = owner if(istype(target)) - target.Stun(40) //Utterly useless without this, its okay since there are so many checks to go through - target.apply_status_effect(STATUS_EFFECT_MESMERIZE, 45) //So you cant rotate with combat mode, plus fancy status alert + var/power_time = 138 + level_current * 12 + target.apply_status_effect(STATUS_EFFECT_MESMERIZE, 30) + user.apply_status_effect(STATUS_EFFECT_MESMERIZE, 30) + if(do_mob(user, target, 30, TRUE, TRUE)) // 3 seconds windup + success = CheckCanTarget(target) + if(success) // target just has to be out of view when it is fully charged in order to avoid + PowerActivatedSuccessfully() // blood & cooldown only altered if power activated successfully - less "fuck you"-y + target.face_atom(user) + target.apply_status_effect(STATUS_EFFECT_MESMERIZE, power_time) // pretty much purely cosmetic + target.Stun(power_time) + to_chat(user, "[target] is fixed in place by your hypnotic gaze.") + target.next_move = world.time + power_time // <--- Use direct change instead. We want an unmodified delay to their next move // target.changeNext_move(power_time) // check click.dm + target.notransform = TRUE // <--- Fuck it. We tried using next_move, but they could STILL resist. We're just doing a hard freeze. + else + to_chat(user, "[target] has escaped your gaze!") + DeactivatePower() + DeactivateRangedAbility() + StartCooldown() + // oops! if they knew how they could just spam stun the victim and themselves. - if(do_mob(user, target, 40, 0, TRUE, extra_checks = CALLBACK(src, .proc/ContinueActive, user, target))) - PowerActivatedSuccessfully() // PAY COST! BEGIN COOLDOWN! - var/power_time = 90 + level_current * 12 - target.apply_status_effect(STATUS_EFFECT_MESMERIZE, power_time + 80) - to_chat(user, "[target] is fixed in place by your hypnotic gaze.") - target.Stun(power_time) - target.next_move = world.time + power_time // <--- Use direct change instead. We want an unmodified delay to their next move // target.changeNext_move(power_time) // check click.dm - target.notransform = TRUE // <--- Fuck it. We tried using next_move, but they could STILL resist. We're just doing a hard freeze. spawn(power_time) - if(istype(target)) + if(istype(target) && success) target.notransform = FALSE // They Woke Up! (Notice if within view) if(istype(user) && target.stat == CONSCIOUS && (target in view(10, get_turf(user))) ) diff --git a/code/modules/antagonists/bloodsucker/powers/v_recuperate.dm b/code/modules/antagonists/bloodsucker/powers/recuperate.dm similarity index 100% rename from code/modules/antagonists/bloodsucker/powers/v_recuperate.dm rename to code/modules/antagonists/bloodsucker/powers/recuperate.dm diff --git a/code/modules/antagonists/bloodsucker/powers/bs_trespass.dm b/code/modules/antagonists/bloodsucker/powers/trespass.dm similarity index 100% rename from code/modules/antagonists/bloodsucker/powers/bs_trespass.dm rename to code/modules/antagonists/bloodsucker/powers/trespass.dm diff --git a/code/modules/antagonists/bloodsucker/powers/bs_veil.dm b/code/modules/antagonists/bloodsucker/powers/veil.dm similarity index 100% rename from code/modules/antagonists/bloodsucker/powers/bs_veil.dm rename to code/modules/antagonists/bloodsucker/powers/veil.dm diff --git a/code/modules/antagonists/brother/brother.dm b/code/modules/antagonists/brother/brother.dm index 2292006da1..efe21f38fa 100644 --- a/code/modules/antagonists/brother/brother.dm +++ b/code/modules/antagonists/brother/brother.dm @@ -5,7 +5,6 @@ var/special_role = ROLE_BROTHER var/datum/team/brother_team/team antag_moodlet = /datum/mood_event/focused - can_hijack = HIJACK_HIJACKER /datum/antagonist/brother/create_team(datum/team/brother_team/new_team) if(!new_team) diff --git a/code/modules/antagonists/clockcult/clockcult.dm b/code/modules/antagonists/clockcult/clockcult.dm index d68e9b594d..1869414ab6 100644 --- a/code/modules/antagonists/clockcult/clockcult.dm +++ b/code/modules/antagonists/clockcult/clockcult.dm @@ -120,7 +120,7 @@ hierophant_network.Grant(current) current.throw_alert("clockinfo", /obj/screen/alert/clockwork/infodump) var/obj/structure/destructible/clockwork/massive/celestial_gateway/G = GLOB.ark_of_the_clockwork_justiciar - if(G.active && ishuman(current)) + if(G && G.active && ishuman(current)) current.add_overlay(mutable_appearance('icons/effects/genetics.dmi', "servitude", -MUTATIONS_LAYER)) /datum/antagonist/clockcult/remove_innate_effects(mob/living/mob_override) @@ -174,9 +174,12 @@ log_admin("[key_name(admin)] has made [new_owner.current] into a servant of Ratvar.") /datum/antagonist/clockcult/admin_remove(mob/user) - remove_servant_of_ratvar(owner.current, TRUE) - message_admins("[key_name_admin(user)] has removed clockwork servant status from [owner.current].") - log_admin("[key_name(user)] has removed clockwork servant status from [owner.current].") + var/mob/target = owner.current + if(!target) + return + remove_servant_of_ratvar(target, TRUE) + message_admins("[key_name_admin(user)] has removed clockwork servant status from [target].") + log_admin("[key_name(user)] has removed clockwork servant status from [target].") /datum/antagonist/clockcult/get_admin_commands() . = ..() diff --git a/code/modules/antagonists/disease/disease_abilities.dm b/code/modules/antagonists/disease/disease_abilities.dm index 7b30d10c5d..e8dcaf9cc7 100644 --- a/code/modules/antagonists/disease/disease_abilities.dm +++ b/code/modules/antagonists/disease/disease_abilities.dm @@ -5,49 +5,49 @@ is currently following. */ GLOBAL_LIST_INIT(disease_ability_singletons, list( - new /datum/disease_ability/action/cough, - new /datum/disease_ability/action/sneeze, - new /datum/disease_ability/action/infect, - new /datum/disease_ability/symptom/mild/cough, - new /datum/disease_ability/symptom/mild/sneeze, - new /datum/disease_ability/symptom/medium/shedding, - new /datum/disease_ability/symptom/medium/beard, - new /datum/disease_ability/symptom/medium/hallucigen, - new /datum/disease_ability/symptom/medium/choking, - new /datum/disease_ability/symptom/medium/confusion, - new /datum/disease_ability/symptom/medium/vomit, - new /datum/disease_ability/symptom/medium/voice_change, - new /datum/disease_ability/symptom/medium/visionloss, - new /datum/disease_ability/symptom/medium/deafness, - new /datum/disease_ability/symptom/powerful/narcolepsy, - new /datum/disease_ability/symptom/medium/fever, - new /datum/disease_ability/symptom/medium/shivering, - new /datum/disease_ability/symptom/medium/headache, - new /datum/disease_ability/symptom/medium/nano_boost, - new /datum/disease_ability/symptom/medium/nano_destroy, - new /datum/disease_ability/symptom/medium/viraladaptation, - new /datum/disease_ability/symptom/medium/viralevolution, - new /datum/disease_ability/symptom/medium/vitiligo, - new /datum/disease_ability/symptom/medium/revitiligo, - new /datum/disease_ability/symptom/medium/itching, - new /datum/disease_ability/symptom/medium/heal/weight_loss, - new /datum/disease_ability/symptom/medium/heal/sensory_restoration, - new /datum/disease_ability/symptom/medium/heal/mind_restoration, - new /datum/disease_ability/symptom/powerful/fire, - new /datum/disease_ability/symptom/powerful/flesh_eating, -// new /datum/disease_ability/symptom/powerful/genetic_mutation, - new /datum/disease_ability/symptom/powerful/inorganic_adaptation, - new /datum/disease_ability/symptom/powerful/heal/starlight, - new /datum/disease_ability/symptom/powerful/heal/oxygen, - new /datum/disease_ability/symptom/powerful/heal/chem, - new /datum/disease_ability/symptom/powerful/heal/metabolism, - new /datum/disease_ability/symptom/powerful/heal/dark, - new /datum/disease_ability/symptom/powerful/heal/water, - new /datum/disease_ability/symptom/powerful/heal/plasma, - new /datum/disease_ability/symptom/powerful/heal/radiation, - new /datum/disease_ability/symptom/powerful/heal/coma, - new /datum/disease_ability/symptom/powerful/youth - )) +new /datum/disease_ability/action/cough, +new /datum/disease_ability/action/sneeze, +new /datum/disease_ability/action/infect, +new /datum/disease_ability/symptom/mild/cough, +new /datum/disease_ability/symptom/mild/sneeze, +new /datum/disease_ability/symptom/medium/shedding, +new /datum/disease_ability/symptom/medium/beard, +new /datum/disease_ability/symptom/medium/hallucigen, +new /datum/disease_ability/symptom/medium/choking, +new /datum/disease_ability/symptom/medium/confusion, +new /datum/disease_ability/symptom/medium/vomit, +new /datum/disease_ability/symptom/medium/voice_change, +new /datum/disease_ability/symptom/medium/visionloss, +new /datum/disease_ability/symptom/medium/deafness, +new /datum/disease_ability/symptom/powerful/narcolepsy, +new /datum/disease_ability/symptom/medium/fever, +new /datum/disease_ability/symptom/medium/shivering, +new /datum/disease_ability/symptom/medium/headache, +new /datum/disease_ability/symptom/medium/nano_boost, +new /datum/disease_ability/symptom/medium/nano_destroy, +new /datum/disease_ability/symptom/medium/viraladaptation, +new /datum/disease_ability/symptom/medium/viralevolution, +new /datum/disease_ability/symptom/medium/disfiguration, +new /datum/disease_ability/symptom/medium/polyvitiligo, +new /datum/disease_ability/symptom/medium/itching, +new /datum/disease_ability/symptom/medium/heal/weight_loss, +new /datum/disease_ability/symptom/medium/heal/sensory_restoration, +new /datum/disease_ability/symptom/medium/heal/mind_restoration, +new /datum/disease_ability/symptom/powerful/fire, +new /datum/disease_ability/symptom/powerful/flesh_eating, +new /datum/disease_ability/symptom/powerful/genetic_mutation, +new /datum/disease_ability/symptom/powerful/inorganic_adaptation, +new /datum/disease_ability/symptom/powerful/heal/starlight, +new /datum/disease_ability/symptom/powerful/heal/oxygen, +new /datum/disease_ability/symptom/powerful/heal/chem, +new /datum/disease_ability/symptom/powerful/heal/metabolism, +new /datum/disease_ability/symptom/powerful/heal/dark, +new /datum/disease_ability/symptom/powerful/heal/water, +new /datum/disease_ability/symptom/powerful/heal/plasma, +new /datum/disease_ability/symptom/powerful/heal/radiation, +new /datum/disease_ability/symptom/powerful/heal/coma, +new /datum/disease_ability/symptom/powerful/youth +)) /datum/disease_ability var/name @@ -57,7 +57,7 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list( var/short_desc = "" var/long_desc = "" var/stat_block = "" - var/threshold_block = list() + var/threshold_block = "" var/category = "" var/list/symptoms @@ -76,7 +76,7 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list( resistance += initial(S.resistance) stage_speed += initial(S.stage_speed) transmittable += initial(S.transmittable) - threshold_block += initial(S.threshold_desc) + threshold_block += "

[initial(S.threshold_desc)]" stat_block = "Resistance: [resistance]
Stealth: [stealth]
Stage Speed: [stage_speed]
Transmissibility: [transmittable]

" if(symptoms.len == 1) //lazy boy's dream name = initial(S.name) @@ -106,10 +106,8 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list( for(var/T in symptoms) var/datum/symptom/S = new T() SD.symptoms += S - S.OnAdd(SD) if(SD.processing) - if(S.Start(SD)) - S.next_activation = world.time + rand(S.symptom_delay_min * 10, S.symptom_delay_max * 10) + S.Start(SD) SD.Refresh() for(var/T in actions) var/datum/action/A = new T() @@ -136,7 +134,6 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list( var/datum/symptom/S = locate(T) in SD.symptoms if(S) SD.symptoms -= S - S.OnRemove(SD) if(SD.processing) S.End(SD) qdel(S) @@ -296,7 +293,6 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list( cost = 8 category = "Symptom (Strong+)" - /******MILD******/ /datum/disease_ability/symptom/mild/cough @@ -377,11 +373,11 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list( /datum/disease_ability/symptom/medium/viralevolution symptoms = list(/datum/symptom/viralevolution) -/datum/disease_ability/symptom/medium/vitiligo - symptoms = list(/datum/symptom/vitiligo) +/datum/disease_ability/symptom/medium/polyvitiligo + symptoms = list(/datum/symptom/polyvitiligo) -/datum/disease_ability/symptom/medium/revitiligo - symptoms = list(/datum/symptom/revitiligo) +/datum/disease_ability/symptom/medium/disfiguration + symptoms = list(/datum/symptom/disfiguration) /datum/disease_ability/symptom/medium/itching symptoms = list(/datum/symptom/itching) @@ -409,11 +405,9 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list( /datum/disease_ability/symptom/powerful/flesh_eating symptoms = list(/datum/symptom/flesh_eating) -/* /datum/disease_ability/symptom/powerful/genetic_mutation symptoms = list(/datum/symptom/genetic_mutation) cost = 8 -*/ /datum/disease_ability/symptom/powerful/inorganic_adaptation symptoms = list(/datum/symptom/inorganic_adaptation) @@ -457,4 +451,4 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list( /datum/disease_ability/symptom/powerful/heal/coma symptoms = list(/datum/symptom/heal/coma) short_desc = "Cause victims to fall into a healing coma when hurt." - long_desc = "Cause victims to fall into a healing coma when hurt." + long_desc = "Cause victims to fall into a healing coma when hurt." \ No newline at end of file diff --git a/code/modules/antagonists/ert/ert.dm b/code/modules/antagonists/ert/ert.dm index 0fb41cabc8..5c878bcc55 100644 --- a/code/modules/antagonists/ert/ert.dm +++ b/code/modules/antagonists/ert/ert.dm @@ -12,7 +12,6 @@ var/list/name_source show_in_antagpanel = FALSE antag_moodlet = /datum/mood_event/focused - can_hijack = HIJACK_PREVENT /datum/antagonist/ert/on_gain() update_name() diff --git a/code/modules/antagonists/highlander/highlander.dm b/code/modules/antagonists/highlander/highlander.dm index 49635356ac..eccf7e3c60 100644 --- a/code/modules/antagonists/highlander/highlander.dm +++ b/code/modules/antagonists/highlander/highlander.dm @@ -3,7 +3,7 @@ var/obj/item/claymore/highlander/sword show_in_antagpanel = FALSE show_name_in_check_antagonists = TRUE - can_hijack = HIJACK_HIJACKER + hijack_speed = 2 //if you kill everyone and actually haev a hand to hijack with, you win?? /datum/antagonist/highlander/apply_innate_effects(mob/living/mob_override) var/mob/living/L = owner.current || mob_override diff --git a/code/modules/antagonists/ninja/ninja.dm b/code/modules/antagonists/ninja/ninja.dm index 943cb02696..12bdbec77a 100644 --- a/code/modules/antagonists/ninja/ninja.dm +++ b/code/modules/antagonists/ninja/ninja.dm @@ -8,11 +8,6 @@ var/give_objectives = TRUE var/give_equipment = TRUE -/datum/antagonist/ninja/New() - if(helping_station) - can_hijack = HIJACK_PREVENT - . = ..() - /datum/antagonist/ninja/apply_innate_effects(mob/living/mob_override) var/mob/living/M = mob_override || owner.current update_ninja_icons_added(M) @@ -135,8 +130,6 @@ adj = "objectiveless" else return - if(helping_station) - can_hijack = HIJACK_PREVENT new_owner.assigned_role = ROLE_NINJA new_owner.special_role = ROLE_NINJA new_owner.add_antag_datum(src) diff --git a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm index 0d815703c5..c6c29a385b 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm @@ -178,23 +178,22 @@ else return NUKE_OFF_UNLOCKED -/obj/machinery/nuclearbomb/update_icon() - if(deconstruction_state == NUKESTATE_INTACT) - switch(get_nuke_state()) - if(NUKE_OFF_LOCKED, NUKE_OFF_UNLOCKED) - icon_state = "nuclearbomb_base" - update_icon_interior() - update_icon_lights() - if(NUKE_ON_TIMING) - cut_overlays() - icon_state = "nuclearbomb_timing" - if(NUKE_ON_EXPLODING) - cut_overlays() - icon_state = "nuclearbomb_exploding" - else +/obj/machinery/nuclearbomb/update_icon_state() + if(deconstruction_state != NUKESTATE_INTACT) icon_state = "nuclearbomb_base" - update_icon_interior() - update_icon_lights() + return + switch(get_nuke_state()) + if(NUKE_OFF_LOCKED, NUKE_OFF_UNLOCKED) + icon_state = "nuclearbomb_base" + if(NUKE_ON_TIMING) + icon_state = "nuclearbomb_timing" + if(NUKE_ON_EXPLODING) + icon_state = "nuclearbomb_exploding" + +/obj/machinery/nuclearbomb/update_overlays() + . = ..() + update_icon_interior() + update_icon_lights() /obj/machinery/nuclearbomb/proc/update_icon_interior() cut_overlay(interior) diff --git a/code/modules/antagonists/nukeop/nukeop.dm b/code/modules/antagonists/nukeop/nukeop.dm index d343951d53..4a63ba65bd 100644 --- a/code/modules/antagonists/nukeop/nukeop.dm +++ b/code/modules/antagonists/nukeop/nukeop.dm @@ -8,7 +8,6 @@ var/always_new_team = FALSE //If not assigned a team by default ops will try to join existing ones, set this to TRUE to always create new team. var/send_to_spawnpoint = TRUE //Should the user be moved to default spawnpoint. var/nukeop_outfit = /datum/outfit/syndicate - can_hijack = HIJACK_HIJACKER //Alternative way to wipe out the station. /datum/antagonist/nukeop/proc/update_synd_icons_added(mob/living/M) var/datum/atom_hud/antag/opshud = GLOB.huds[ANTAG_HUD_OPS] diff --git a/code/modules/antagonists/official/official.dm b/code/modules/antagonists/official/official.dm index 9165a99d42..1d340253c4 100644 --- a/code/modules/antagonists/official/official.dm +++ b/code/modules/antagonists/official/official.dm @@ -4,7 +4,6 @@ show_in_antagpanel = FALSE var/datum/objective/mission var/datum/team/ert/ert_team - can_hijack = HIJACK_PREVENT /datum/antagonist/official/greet() to_chat(owner, "You are a CentCom Official.") diff --git a/code/modules/antagonists/overthrow/overthrow_converter.dm b/code/modules/antagonists/overthrow/overthrow_converter.dm index 23599bd01b..99d1a52de8 100644 --- a/code/modules/antagonists/overthrow/overthrow_converter.dm +++ b/code/modules/antagonists/overthrow/overthrow_converter.dm @@ -9,7 +9,7 @@ throw_speed = 3 throw_range = 5 w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=600, MAT_GLASS=200) + custom_materials = list(/datum/material/iron=600, /datum/material/glass=200) var/uses = 2 /obj/item/overthrow_converter/proc/convert(mob/living/carbon/human/target, mob/living/carbon/human/user) // Should probably also delete any mindshield implant. Not sure. diff --git a/code/modules/antagonists/swarmer/swarmer.dm b/code/modules/antagonists/swarmer/swarmer.dm index bf976e3cca..99d12972d8 100644 --- a/code/modules/antagonists/swarmer/swarmer.dm +++ b/code/modules/antagonists/swarmer/swarmer.dm @@ -4,7 +4,7 @@ desc = "A shell of swarmer that was completely powered down. It can no longer activate itself." icon = 'icons/mob/swarmer.dmi' icon_state = "swarmer_unactivated" - materials = list(MAT_METAL=10000, MAT_GLASS=4000) + custom_materials = list(/datum/material/iron=10000, /datum/material/glass=4000) /obj/effect/mob_spawn/swarmer name = "unactivated swarmer" @@ -191,7 +191,7 @@ return 0 /obj/item/IntegrateAmount() //returns the amount of resources gained when eating this item - if(materials[MAT_METAL] || materials[MAT_GLASS]) + if(custom_materials[getmaterialref(/datum/material/iron)] || custom_materials[getmaterialref(/datum/material/glass)]) return 1 return ..() diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index fcaa0f2211..576569b8ba 100644 --- a/code/modules/antagonists/traitor/datum_traitor.dm +++ b/code/modules/antagonists/traitor/datum_traitor.dm @@ -10,7 +10,9 @@ var/should_give_codewords = TRUE var/should_equip = TRUE var/datum/traitor_class/traitor_kind + var/traitor_kind = TRAITOR_HUMAN //Set on initial assignment can_hijack = HIJACK_HIJACKER + hijack_speed = 0.5 //10 seconds per hijack stage by default /datum/antagonist/traitor/New() ..() @@ -82,6 +84,7 @@ message = GLOB.syndicate_code_response_regex.Replace(message, "$1") hearing_args[HEARING_RAW_MESSAGE] = message +// needs to be refactored to base /datum/antagonist sometime.. /datum/antagonist/traitor/proc/add_objective(datum/objective/O) objectives += O diff --git a/code/modules/antagonists/wishgranter/wishgranter.dm b/code/modules/antagonists/wishgranter/wishgranter.dm index 21cab26d1e..d22d1b5e39 100644 --- a/code/modules/antagonists/wishgranter/wishgranter.dm +++ b/code/modules/antagonists/wishgranter/wishgranter.dm @@ -2,7 +2,6 @@ name = "Wishgranter Avatar" show_in_antagpanel = FALSE show_name_in_check_antagonists = TRUE - can_hijack = HIJACK_HIJACKER /datum/antagonist/wishgranter/proc/forge_objectives() var/datum/objective/hijack/hijack = new diff --git a/code/modules/antagonists/wizard/wizard.dm b/code/modules/antagonists/wizard/wizard.dm index 5e4cc17541..234bb3d1a1 100644 --- a/code/modules/antagonists/wizard/wizard.dm +++ b/code/modules/antagonists/wizard/wizard.dm @@ -12,7 +12,6 @@ var/move_to_lair = TRUE var/outfit_type = /datum/outfit/wizard var/wiz_age = WIZARD_AGE_MIN /* Wizards by nature cannot be too young. */ - can_hijack = HIJACK_HIJACKER /datum/antagonist/wizard/on_gain() register() diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index 2d291c580e..c50ca2f187 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -12,7 +12,7 @@ icon_state = "" flags_1 = CONDUCT_1 w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=100) + custom_materials = list(/datum/material/iron=100) throwforce = 2 throw_speed = 3 throw_range = 7 diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index 56e21aa79a..b6afc3cc0b 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -8,7 +8,7 @@ righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' throwforce = 0 w_class = WEIGHT_CLASS_TINY - materials = list(MAT_METAL = 300, MAT_GLASS = 300) + custom_materials = list(/datum/material/iron = 300, /datum/material/glass = 300) crit_fail = FALSE //Is the flash burnt out? light_color = LIGHT_COLOR_WHITE light_power = FLASH_LIGHT_POWER @@ -267,7 +267,7 @@ throw_speed = 2 throw_range = 3 w_class = WEIGHT_CLASS_BULKY - materials = list(MAT_GLASS=7500, MAT_METAL=1000) + custom_materials = list(/datum/material/glass=7500, /datum/material/iron=1000) attack_verb = list("shoved", "bashed") block_chance = 50 armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 0, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 70) diff --git a/code/modules/assembly/health.dm b/code/modules/assembly/health.dm index 3fca066f86..cddc4fb08f 100644 --- a/code/modules/assembly/health.dm +++ b/code/modules/assembly/health.dm @@ -2,7 +2,7 @@ name = "health sensor" desc = "Used for scanning and monitoring health." icon_state = "health" - materials = list(MAT_METAL=800, MAT_GLASS=200) + custom_materials = list(/datum/material/iron=800, /datum/material/glass=200) attachable = TRUE secured = FALSE diff --git a/code/modules/assembly/igniter.dm b/code/modules/assembly/igniter.dm index 36bbb509fb..dbd8f834ca 100644 --- a/code/modules/assembly/igniter.dm +++ b/code/modules/assembly/igniter.dm @@ -2,7 +2,7 @@ name = "igniter" desc = "A small electronic device able to ignite combustible substances." icon_state = "igniter" - materials = list(MAT_METAL=500, MAT_GLASS=50) + custom_materials = list(/datum/material/iron=500, /datum/material/glass=50) var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread heat = 1000 diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index b223992d2c..d19666077d 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -2,7 +2,7 @@ name = "infrared emitter" desc = "Emits a visible or invisible beam and is triggered when the beam is interrupted." icon_state = "infrared" - materials = list(MAT_METAL=1000, MAT_GLASS=500) + custom_materials = list(/datum/material/iron=1000, /datum/material/glass=500) is_position_sensitive = TRUE var/on = FALSE diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index 7c8952eb33..c701e13a26 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -3,7 +3,7 @@ desc = "A handy little spring-loaded trap for catching pesty rodents." icon_state = "mousetrap" item_state = "mousetrap" - materials = list(MAT_METAL=100) + custom_materials = list(/datum/material/iron=100) attachable = TRUE var/armed = FALSE diff --git a/code/modules/assembly/playback.dm b/code/modules/assembly/playback.dm index 42135f7ff9..14ad8c96c9 100644 --- a/code/modules/assembly/playback.dm +++ b/code/modules/assembly/playback.dm @@ -2,7 +2,7 @@ name = "playback device" desc = "A small electronic device able to record a voice sample, and repeat that sample when it receive a signal." icon_state = "radio" - materials = list(MAT_METAL=500, MAT_GLASS=50) + custom_materials = list(/datum/material/iron = 500, /datum/material/glass = 50) flags_1 = HEAR_1 attachable = TRUE verb_say = "beeps" diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 329ea85c0e..f1a4ce47cc 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -2,7 +2,7 @@ name = "proximity sensor" desc = "Used for scanning and alerting when someone enters a certain proximity." icon_state = "prox" - materials = list(MAT_METAL=800, MAT_GLASS=200) + custom_materials = list(/datum/material/iron=800, /datum/material/glass=200) attachable = TRUE var/scanning = FALSE diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index 53cbb8ea2a..cee0a9054c 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -5,7 +5,7 @@ item_state = "signaler" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - materials = list(MAT_METAL=400, MAT_GLASS=120) + custom_materials = list(/datum/material/iron=400, /datum/material/glass=120) wires = WIRE_RECEIVE | WIRE_PULSE | WIRE_RADIO_PULSE | WIRE_RADIO_RECEIVE attachable = TRUE diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index a5c6298910..bbcddbdb93 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -2,7 +2,7 @@ name = "timer" desc = "Used to time things. Works well with contraptions which has to count down. Tick tock." icon_state = "timer" - materials = list(MAT_METAL=500, MAT_GLASS=50) + custom_materials = list(/datum/material/iron=500, /datum/material/glass=50) attachable = TRUE var/timing = FALSE diff --git a/code/modules/assembly/voice.dm b/code/modules/assembly/voice.dm index 3f37969e82..15c9afbf00 100644 --- a/code/modules/assembly/voice.dm +++ b/code/modules/assembly/voice.dm @@ -7,7 +7,7 @@ name = "voice analyzer" desc = "A small electronic device able to record a voice sample, and send a signal when that sample is repeated." icon_state = "voice" - materials = list(MAT_METAL=500, MAT_GLASS=50) + custom_materials = list(/datum/material/iron=500, /datum/material/glass=50) flags_1 = HEAR_1 attachable = TRUE verb_say = "beeps" diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index e85cf1efa6..4d2b8de586 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -72,7 +72,7 @@ power_channel = ENVIRON req_access = list(ACCESS_ATMOSPHERICS) max_integrity = 250 - integrity_failure = 80 + integrity_failure = 0.33 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 100, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 30) resistance_flags = FIRE_PROOF @@ -229,7 +229,7 @@ . += "Alt-click to [locked ? "unlock" : "lock"] the interface." /obj/machinery/airalarm/ui_status(mob/user) - if(user.has_unlimited_silicon_privilege && aidisabled) + if(hasSiliconAccessInArea(user) && aidisabled) to_chat(user, "AI control has been disabled.") else if(!shorted) return ..() @@ -245,7 +245,7 @@ /obj/machinery/airalarm/ui_data(mob/user) var/data = list( "locked" = locked, - "siliconUser" = user.has_unlimited_silicon_privilege || hasSiliconAccessInArea(user), + "siliconUser" = hasSiliconAccessInArea(user), "emagged" = (obj_flags & EMAGGED ? 1 : 0), "danger_level" = danger_level, ) @@ -288,7 +288,7 @@ "danger_level" = cur_tlv.get_danger_level(environment.gases[gas_id] * partial_pressure) )) - if(!locked || user.has_unlimited_silicon_privilege || hasSiliconAccessInArea(user)) + if(!locked || hasSiliconAccessInArea(user, PRIVILEDGES_SILICON|PRIVILEDGES_DRONE)) data["vents"] = list() for(var/id_tag in A.air_vent_names) var/long_name = A.air_vent_names[id_tag] @@ -368,12 +368,14 @@ /obj/machinery/airalarm/ui_act(action, params) if(..() || buildstage != 2) return - if((locked && !usr.has_unlimited_silicon_privilege && !hasSiliconAccessInArea(usr)) || (usr.has_unlimited_silicon_privilege && aidisabled)) + var/silicon_access = hasSiliconAccessInArea(usr) + var/bot_priviledges = silicon_access || (usr.silicon_privileges & PRIVILEDGES_DRONE) + if((locked && !bot_priviledges) || (silicon_access && aidisabled)) return var/device_id = params["id_tag"] switch(action) if("lock") - if(usr.has_unlimited_silicon_privilege && !wires.is_cut(WIRE_IDSCAN)) + if(bot_priviledges && !wires.is_cut(WIRE_IDSCAN)) locked = !locked . = TRUE if("power", "toggle_filter", "widenet", "scrubbing") diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index bad2b85bfe..0d335da482 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -19,7 +19,7 @@ armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 100, "bomb" = 10, "bio" = 100, "rad" = 100, "fire" = 80, "acid" = 50) max_integrity = 250 - integrity_failure = 100 + integrity_failure = 0.4 pressure_resistance = 7 * ONE_ATMOSPHERE var/temperature_resistance = 1000 + T0C var/starter_temp diff --git a/code/modules/awaymissions/super_secret_room.dm b/code/modules/awaymissions/super_secret_room.dm index 3903df9686..0bc0abef1e 100644 --- a/code/modules/awaymissions/super_secret_room.dm +++ b/code/modules/awaymissions/super_secret_room.dm @@ -122,7 +122,7 @@ icon = 'icons/obj/economy.dmi' icon_state = "rupee" w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_GLASS = 500) + custom_materials = list(/datum/material/glass = 500) /obj/item/rupee/New() var/newcolor = color2hex(pick(10;"green", 5;"blue", 3;"red", 1;"purple")) diff --git a/code/modules/cargo/exports/large_objects.dm b/code/modules/cargo/exports/large_objects.dm index bf67286f11..b7bdcb1f59 100644 --- a/code/modules/cargo/exports/large_objects.dm +++ b/code/modules/cargo/exports/large_objects.dm @@ -24,13 +24,13 @@ export_types = list(/obj/structure/ore_box) /datum/export/large/crate/wood - cost = 140 // + cost = 140 unit_name = "wooden crate" export_types = list(/obj/structure/closet/crate/wooden) exclude_types = list() /datum/export/large/barrel - cost = 500 //150 to make meaning proffit of 350 + cost = 300 //double the wooden cost of a coffin. unit_name = "wooden barrel" export_types = list(/obj/structure/fermenting_barrel) @@ -40,19 +40,11 @@ export_types = list(/obj/structure/closet/crate/coffin) /datum/export/large/reagent_dispenser - cost = 100 // +0-400 depending on amount of reagents left - var/contents_cost = 400 - -/datum/export/large/reagent_dispenser/get_cost(obj/O) - var/obj/structure/reagent_dispensers/D = O - var/ratio = D.reagents.total_volume / D.reagents.maximum_volume - - return ..() + round(contents_cost * ratio) + cost = 100 /datum/export/large/reagent_dispenser/water unit_name = "watertank" export_types = list(/obj/structure/reagent_dispensers/watertank) - contents_cost = 200 /datum/export/large/reagent_dispenser/fuel unit_name = "fueltank" @@ -60,7 +52,6 @@ /datum/export/large/reagent_dispenser/beer unit_name = "beer keg" - contents_cost = 700 export_types = list(/obj/structure/reagent_dispensers/beerkeg) /datum/export/large/pipedispenser diff --git a/code/modules/cargo/exports/materials.dm b/code/modules/cargo/exports/materials.dm index d8fc5f22ab..a9d3b25d90 100644 --- a/code/modules/cargo/exports/materials.dm +++ b/code/modules/cargo/exports/materials.dm @@ -15,16 +15,13 @@ if(!isitem(O)) return 0 var/obj/item/I = O - if(!(material_id in I.materials)) + if(!(getmaterialref(material_id) in I.custom_materials)) return 0 - var/amount = I.materials[material_id] + var/amount = I.custom_materials[getmaterialref(material_id)] - if(istype(I, /obj/item/stack)) - var/obj/item/stack/S = I - amount *= S.amount - if(istype(I, /obj/item/stack/ore)) - amount *= 0.8 // Station's ore redemption equipment is really goddamn good. + if(istype(I, /obj/item/stack/ore)) + amount *= 0.8 // Station's ore redemption equipment is really goddamn good. return round(amount/MINERAL_MATERIAL_AMOUNT) @@ -32,53 +29,48 @@ /datum/export/material/bananium cost = 500 - material_id = MAT_BANANIUM + material_id = /datum/material/bananium message = "cm3 of bananium" /datum/export/material/diamond cost = 250 - material_id = MAT_DIAMOND + material_id = /datum/material/diamond message = "cm3 of diamonds" /datum/export/material/plasma cost = 100 - material_id = MAT_PLASMA + material_id = /datum/material/plasma message = "cm3 of plasma" /datum/export/material/uranium cost = 50 - material_id = MAT_URANIUM + material_id = /datum/material/uranium message = "cm3 of uranium" /datum/export/material/gold cost = 60 - material_id = MAT_GOLD + material_id = /datum/material/gold message = "cm3 of gold" /datum/export/material/silver cost = 25 - material_id = MAT_SILVER + material_id = /datum/material/silver message = "cm3 of silver" /datum/export/material/titanium cost = 60 - material_id = MAT_TITANIUM + material_id = /datum/material/titanium message = "cm3 of titanium" -/datum/export/material/plastitanium - cost = 165 // plasma + titanium costs - material_id = MAT_TITANIUM // code can only check for one material_id; plastitanium is half plasma, half titanium - message = "cm3 of plastitanium" - /datum/export/material/plastic cost = 5 - material_id = MAT_PLASTIC + material_id = /datum/material/plastic message = "cm3 of plastic" /datum/export/material/metal cost = 3 message = "cm3 of metal" - material_id = MAT_METAL + material_id = /datum/material/iron export_types = list( /obj/item/stack/sheet/metal, /obj/item/stack/tile/plasteel, /obj/item/stack/rods, /obj/item/stack/ore, /obj/item/coin) @@ -86,6 +78,26 @@ /datum/export/material/glass cost = 3 message = "cm3 of glass" - material_id = MAT_GLASS + material_id = /datum/material/glass export_types = list(/obj/item/stack/sheet/glass, /obj/item/stack/ore, /obj/item/shard) + +/datum/export/material/adamantine + cost = 300 + material_id = /datum/material/adamantine + message = "cm3 of adamantine" + +/datum/export/material/mythril + cost = 1000 + material_id = /datum/material/mythril + message = "cm3 of mythril" + +/datum/export/material/bscrystal + cost = 150 + message = "cm3 of bluespace crystals" + material_id = /datum/material/bluespace + +/datum/export/material/runite + cost = 300 + message = "cm3 of runite" + material_id = /datum/material/runite \ No newline at end of file diff --git a/code/modules/cargo/exports/sheets.dm b/code/modules/cargo/exports/sheets.dm index f784083097..be0d2d6bee 100644 --- a/code/modules/cargo/exports/sheets.dm +++ b/code/modules/cargo/exports/sheets.dm @@ -67,16 +67,26 @@ message = "of plasteel" export_types = list(/obj/item/stack/sheet/plasteel) +/datum/export/material/plastitanium + cost = 165 // plasma + titanium costs + export_types = list(/obj/item/stack/sheet/mineral/plastitanium) + message = "of plastitanium" + +/datum/export/material/plastitanium_glass + cost = 168 // plasma + titanium + glass costs + export_types = list(/obj/item/stack/sheet/plastitaniumglass) + message = "of plastitanium glass" + // 1 glass + 0.5 metal, cost is rounded up. /datum/export/stack/rglass cost = 6 message = "of reinforced glass" export_types = list(/obj/item/stack/sheet/rglass) -/datum/export/stack/bscrystal - cost = 150 - message = "of bluespace crystals" - export_types = list(/obj/item/stack/sheet/bluespace_crystal) +/datum/export/stack/plastitanium + cost = 165 // plasma + titanium costs + message = "of plastitanium" + export_types = list(/obj/item/stack/sheet/mineral/plastitanium) /datum/export/stack/wood cost = 15 @@ -129,12 +139,6 @@ message = "of alien alloy" export_types = list(/obj/item/stack/sheet/mineral/abductor) -/datum/export/stack/adamantine - unit_name = "bar" - cost = 250 - message = "of adamantine" - export_types = list(/obj/item/stack/sheet/mineral/adamantine) - /datum/export/stack/bone cost = 20 message = "of bones" diff --git a/code/modules/cargo/exports/weapons.dm b/code/modules/cargo/exports/weapons.dm index 5b78a5d630..c75a1c0bff 100644 --- a/code/modules/cargo/exports/weapons.dm +++ b/code/modules/cargo/exports/weapons.dm @@ -199,6 +199,31 @@ unit_name = "advanced shotgun shell" export_types = list(/obj/item/ammo_casing/shotgun/dragonsbreath, /obj/item/ammo_casing/shotgun/meteorslug, /obj/item/ammo_casing/shotgun/pulseslug, /obj/item/ammo_casing/shotgun/frag12, /obj/item/ammo_casing/shotgun/ion, /obj/item/ammo_casing/shotgun/laserslug) +///////////////////////// +//Bow and Arrows///////// +///////////////////////// + +/datum/export/weapon/bows + cost = 450 + unit_name = "bow" + export_types = list(/obj/item/gun/ballistic/bow) + +/datum/export/weapon/arrows + cost = 150 + unit_name = "arrow" + export_types = list(/obj/item/ammo_casing/caseless/arrow, /obj/item/ammo_casing/caseless/arrow/bone, /obj/item/ammo_casing/caseless/arrow/ashen) + +/datum/export/weapon/bow_teaching + cost = 500 + unit_name = "stone tablets" + export_types = list(/obj/item/book/granter/crafting_recipe/bone_bow) + +/datum/export/weapon/quiver + cost = 100 + unit_name = "quiver" + export_types = list(/obj/item/storage/belt/quiver) + + ///////////////////////// //The Traitor Sell Outs// ///////////////////////// diff --git a/code/modules/cargo/expressconsole.dm b/code/modules/cargo/expressconsole.dm index 264f9ac22e..a65d8cad40 100644 --- a/code/modules/cargo/expressconsole.dm +++ b/code/modules/cargo/expressconsole.dm @@ -97,7 +97,7 @@ var/canBeacon = beacon && (isturf(beacon.loc) || ismob(beacon.loc))//is the beacon in a valid location? var/list/data = list() data["locked"] = locked//swipe an ID to unlock - data["siliconUser"] = user.has_unlimited_silicon_privilege + data["siliconUser"] = hasSiliconAccessInArea(user) data["beaconzone"] = beacon ? get_area(beacon) : ""//where is the beacon located? outputs in the tgui data["usingBeacon"] = usingBeacon //is the mode set to deliver to the beacon or the cargobay? data["canBeacon"] = !usingBeacon || canBeacon //is the mode set to beacon delivery, and is the beacon in a valid location? diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index 4c9ddfe3bc..07a75bbfaf 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -2,7 +2,7 @@ var/name = "Crate" var/group = "" var/hidden = FALSE //Aka emag only - var/contraband = FALSE //Hacking the console with a multitool + var/contraband = FALSE //Requires a hacked console UNLESS DropPodOnly = TRUE, in which case it requires an emag var/cost = 700 // Minimum cost, or infinite points are possible. var/access = FALSE //What access does the Crate itself need? var/access_any = FALSE //Do we care about access? diff --git a/code/modules/cargo/packs/armory.dm b/code/modules/cargo/packs/armory.dm index ea8ef8ba0f..fc95b05007 100644 --- a/code/modules/cargo/packs/armory.dm +++ b/code/modules/cargo/packs/armory.dm @@ -178,7 +178,7 @@ /datum/supply_pack/security/armory/russian name = "Russian Surplus Crate" desc = "Hello Comrade, we have the most modern russian military equipment the black market can offer, for the right price of course. Sadly we couldnt remove the lock so it requires Armory access to open." - cost = 5000 + cost = 7500 contraband = TRUE contains = list(/obj/item/reagent_containers/food/snacks/rationpack, /obj/item/ammo_box/a762, @@ -192,12 +192,11 @@ /obj/item/clothing/mask/russian_balaclava, /obj/item/clothing/head/helmet/rus_ushanka, /obj/item/clothing/suit/armor/vest/russian_coat, - /obj/item/gun/ballistic/shotgun/boltaction, /obj/item/gun/ballistic/shotgun/boltaction) crate_name = "surplus military crate" /datum/supply_pack/security/armory/russian/fill(obj/structure/closet/crate/C) - for(var/i in 1 to 10) + for(var/i in 1 to 5) var/item = pick(contains) new item(C) @@ -218,7 +217,7 @@ crate_name = "swat crate" /datum/supply_pack/security/armory/swattasers //Lesser AEG tbh - name = "SWAT tatical tasers Crate" + name = "SWAT tactical tasers Crate" desc = "Contains two tactical energy gun, these guns are able to tase, disable and lethal as well as hold a seclight. Requires Armory access to open." cost = 7000 contains = list(/obj/item/gun/energy/e_gun/stun, diff --git a/code/modules/cargo/packs/costumes_toys.dm b/code/modules/cargo/packs/costumes_toys.dm index 4a64979502..c559e7925a 100644 --- a/code/modules/cargo/packs/costumes_toys.dm +++ b/code/modules/cargo/packs/costumes_toys.dm @@ -63,6 +63,7 @@ /obj/item/toy/cards/deck/syndicate, /obj/item/reagent_containers/food/drinks/bottle/absinthe, /obj/item/clothing/under/syndicate/tacticool, + /obj/item/clothing/under/syndicate/skirt, /obj/item/clothing/under/syndicate, /obj/item/suppressor, /obj/item/storage/fancy/cigarettes/cigpack_syndicate, diff --git a/code/modules/cargo/packs/emergency.dm b/code/modules/cargo/packs/emergency.dm index e32811f2d0..be81da3b92 100644 --- a/code/modules/cargo/packs/emergency.dm +++ b/code/modules/cargo/packs/emergency.dm @@ -130,7 +130,7 @@ /datum/supply_pack/emergency/bomb name = "Explosive Emergency Crate" - desc = "Science gone bonkers? Beeping behind the airlock? Buy now and be the hero the station des... I mean needs! (Time not included.)" + desc = "Science gone bonkers? Beeping behind the airlock? Buy now and become the hero the station des... I mean needs! Time not included, but a full bomb suit and hood, as well as a mask and defusal kit are! Non-Nuclear ordnances only." cost = 1500 contains = list(/obj/item/clothing/head/bomb_hood, /obj/item/clothing/suit/bomb_suit, diff --git a/code/modules/cargo/packs/medical.dm b/code/modules/cargo/packs/medical.dm index ea327ae820..5d02bbe60f 100644 --- a/code/modules/cargo/packs/medical.dm +++ b/code/modules/cargo/packs/medical.dm @@ -88,6 +88,7 @@ /obj/item/clothing/mask/gas, /obj/item/clothing/suit/space/hardsuit/medical) crate_name = "medical hardsuit" + crate_type = /obj/structure/closet/crate/secure/medical /datum/supply_pack/medical/supplies name = "Medical Supplies Crate" @@ -125,7 +126,7 @@ /obj/item/reagent_containers/medspray/synthflesh, /obj/item/reagent_containers/medspray/sterilizine) crate_name = "medco surgery tools" - crate_type = /obj/structure/closet/crate/medical + crate_type = /obj/structure/closet/crate/secure/medical /datum/supply_pack/medical/surgery name = "Surgical Supplies Crate" diff --git a/code/modules/cargo/packs/organic.dm b/code/modules/cargo/packs/organic.dm index 4aa991fc3f..cdac6f49f2 100644 --- a/code/modules/cargo/packs/organic.dm +++ b/code/modules/cargo/packs/organic.dm @@ -193,6 +193,7 @@ /obj/item/reagent_containers/food/snacks/meat/slab/bear, /obj/item/reagent_containers/food/snacks/meat/slab/xeno, /obj/item/reagent_containers/food/snacks/meat/slab/spider, + /obj/item/reagent_containers/food/snacks/meat/rawcrab, /obj/item/reagent_containers/food/snacks/meat/rawbacon, /obj/item/reagent_containers/food/snacks/spiderleg, /obj/item/reagent_containers/food/snacks/carpmeat, @@ -327,7 +328,7 @@ /datum/supply_pack/organic/seeds name = "Seeds Crate" - desc = "Big things have small beginnings. Contains thirteen different seeds." + desc = "Big things have small beginnings. Contains fourteen different seeds." cost = 1250 contains = list(/obj/item/seeds/chili, /obj/item/seeds/berry, diff --git a/code/modules/cargo/packs/science.dm b/code/modules/cargo/packs/science.dm index 8852a7e945..e6671a02ea 100644 --- a/code/modules/cargo/packs/science.dm +++ b/code/modules/cargo/packs/science.dm @@ -84,7 +84,7 @@ /datum/supply_pack/science/glasswork name = "Glass Blower Kit Crate" - desc = "Learn and make glassworks of usefull things for a profit! Contains glassworking tools and blowing rods. Glass not included." + desc = "Learn and make glassworks of useful things for a profit! Contains glassworking tools and blowing rods. Glass not included." cost = 1000 contains = list(/obj/item/glasswork/glasskit, /obj/item/glasswork/glasskit, @@ -111,9 +111,9 @@ /datum/supply_pack/science/nuke_b_gone name = "Nuke Defusal Kit" desc = "Contains set of tools to defuse a nuke." - cost = 7500 //Usefull for traitors/nukies that fucked up + cost = 7500 //Useful for traitors/nukies that fucked up dangerous = TRUE - DropPodOnly = TRUE + hidden = TRUE contains = list(/obj/item/nuke_core_container/nt, /obj/item/screwdriver/nuke/nt, /obj/item/paper/guides/nt/nuke_instructions) @@ -194,7 +194,7 @@ /datum/supply_pack/science/supermater name = "Supermatter Extraction Tools Crate" desc = "Contains a set of tools to extract a sliver of supermatter. Consult your CE today!" - cost = 7500 //Usefull for traitors that fucked up + cost = 7500 //Useful for traitors that fucked up hidden = TRUE contains = list(/obj/item/nuke_core_container/supermatter, /obj/item/scalpel/supermatter, diff --git a/code/modules/cargo/packs/security.dm b/code/modules/cargo/packs/security.dm index fd7e07a66c..90bc837767 100644 --- a/code/modules/cargo/packs/security.dm +++ b/code/modules/cargo/packs/security.dm @@ -103,7 +103,7 @@ desc = "An old russian Minutemen crate, comes with a full russian outfit, a mosin and a stripper clip." contraband = TRUE access = FALSE - cost = 5500 // + cost = 6500 // contains = list(/obj/item/clothing/suit/armor/navyblue/russian, /obj/item/clothing/shoes/combat, /obj/item/clothing/head/ushanka, diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index e05cee3487..dc550179f8 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -737,13 +737,13 @@ GLOBAL_LIST_EMPTY(external_rsc_urls) message_admins("Proxy Detection: [key_name_admin(src)] IP intel rated [res.intel*100]% likely to be a Proxy/VPN.") ip_intel = res.intel -/client/Click(atom/object, atom/location, control, params) +/client/Click(atom/object, atom/location, control, params, ignore_spam = FALSE) var/ab = FALSE var/list/L = params2list(params) if (object && object == middragatom && L["left"]) ab = max(0, 5 SECONDS-(world.time-middragtime)*0.1) var/mcl = CONFIG_GET(number/minute_click_limit) - if (!holder && mcl) + if (!holder && !ignore_spam && mcl) var/minute = round(world.time, 600) if (!clicklimiter) clicklimiter = new(LIMITER_SIZE) @@ -768,7 +768,7 @@ GLOBAL_LIST_EMPTY(external_rsc_urls) return var/scl = CONFIG_GET(number/second_click_limit) - if (!holder && scl) + if (!holder && !ignore_spam && scl) var/second = round(world.time, 10) if (!clicklimiter) clicklimiter = new(LIMITER_SIZE) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 793a72c1f7..cdc3fbc5b9 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1474,8 +1474,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("flavor_text") var/msg = stripped_multiline_input(usr, "Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!", "Flavor Text", features["flavor_text"], MAX_FAVOR_LEN, TRUE) - if(msg) - features["flavor_text"] = msg + if(!isnull(msg)) + features["flavor_text"] = html_decode(msg) if("hair") var/new_hair = input(user, "Choose your character's hair colour:", "Character Preference","#"+hair_color) as color|null diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 431947d9c1..ef2ee331a9 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -2,7 +2,7 @@ name = "clothing" resistance_flags = FLAMMABLE max_integrity = 200 - integrity_failure = 80 + integrity_failure = 0.4 var/damaged_clothes = 0 //similar to machine's BROKEN stat and structure's broken var var/flash_protect = 0 //What level of bright light protection item has. 1 = Flashers, Flashes, & Flashbangs | 2 = Welding | -1 = OH GOD WELDING BURNT OUT MY RETINAS var/tint = 0 //Sets the item's level of visual impairment tint, normally set to the same as flash_protect diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index b60856001e..5ae86636d6 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -8,7 +8,7 @@ strip_delay = 20 equip_delay_other = 25 resistance_flags = NONE - materials = list(MAT_GLASS = 250) + custom_materials = list(/datum/material/glass = 250) var/vision_flags = 0 var/darkness_view = 2//Base human is 2 var/invis_view = SEE_INVISIBLE_LIVING //admin only for now @@ -286,7 +286,7 @@ icon_state = "welding-g" item_state = "welding-g" actions_types = list(/datum/action/item_action/toggle) - materials = list(MAT_METAL = 250) + custom_materials = list(/datum/material/iron = 250) flash_protect = 2 tint = 2 visor_vars_to_toggle = VISOR_FLASHPROTECT | VISOR_TINT diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index e7f20e1358..50e458a224 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -237,6 +237,14 @@ icon_state = "knight_red" item_state = "knight_red" +/obj/item/clothing/head/helmet/knight/greyscale + name = "knight helmet" + desc = "A classic medieval helmet, if you hold it upside down you could see that it's actually a bucket." + icon_state = "knight_greyscale" + item_state = "knight_greyscale" + armor = list("melee" = 35, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 10, "bio" = 10, "rad" = 10, "fire" = 40, "acid" = 40) + material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR //Can change color and add prefix + /obj/item/clothing/head/helmet/skull name = "skull helmet" desc = "An intimidating tribal helmet, it doesn't look very comfortable." diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index bb2014db5c..4be949a65e 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -19,7 +19,7 @@ icon_state = "welding" flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH item_state = "welding" - materials = list(MAT_METAL=1750, MAT_GLASS=400) + custom_materials = list(/datum/material/iron=1750, /datum/material/glass=400) flash_protect = 2 tint = 2 armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 60) diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index e6c68f2662..38f0a7c20a 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -25,7 +25,7 @@ name = "welding mask" desc = "A gas mask with built-in welding goggles and a face shield. Looks like a skull - clearly designed by a nerd." icon_state = "weldingmask" - materials = list(MAT_METAL=4000, MAT_GLASS=2000) + custom_materials = list(/datum/material/iron=4000, /datum/material/glass=2000) flash_protect = 2 tint = 2 armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 55) diff --git a/code/modules/clothing/shoes/bananashoes.dm b/code/modules/clothing/shoes/bananashoes.dm index c4d06ea14c..ffb7771d2f 100644 --- a/code/modules/clothing/shoes/bananashoes.dm +++ b/code/modules/clothing/shoes/bananashoes.dm @@ -10,7 +10,7 @@ /obj/item/clothing/shoes/clown_shoes/banana_shoes/Initialize() . = ..() - AddComponent(/datum/component/material_container, list(MAT_BANANIUM), 200000, TRUE, /obj/item/stack) + AddComponent(/datum/component/material_container, list(/datum/material/bananium), 200000, TRUE, /obj/item/stack) AddComponent(/datum/component/squeak, list('sound/items/bikehorn.ogg'=1), 75) if(always_noslip) clothing_flags |= NOSLIP @@ -19,7 +19,7 @@ . = ..() var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container) if(on) - if(bananium.amount(MAT_BANANIUM) < 100) + if(bananium.get_material_amount(/datum/material/bananium) < 100) on = !on if(!always_noslip) clothing_flags &= ~NOSLIP @@ -27,7 +27,7 @@ to_chat(loc, "You ran out of bananium!") else new /obj/item/grown/bananapeel/specialpeel(get_step(src,turn(usr.dir, 180))) //honk - bananium.use_amount_type(100, MAT_BANANIUM) + bananium.use_amount_mat(100, /datum/material/bananium) /obj/item/clothing/shoes/clown_shoes/banana_shoes/attack_self(mob/user) var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container) @@ -43,7 +43,7 @@ /obj/item/clothing/shoes/clown_shoes/banana_shoes/ui_action_click(mob/user) var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container) - if(bananium.amount(MAT_BANANIUM)) + if(bananium.get_material_amount(/datum/material/bananium)) on = !on update_icon() to_chat(user, "You [on ? "activate" : "deactivate"] the prototype shoes.") diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 4591ba8b4e..1f0214cade 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -261,6 +261,14 @@ icon_state = "knight_red" item_state = "knight_red" +/obj/item/clothing/suit/armor/riot/knight/greyscale + name = "knight armour" + desc = "A classic suit of armour, able to be made from many different materials." + icon_state = "knight_greyscale" + item_state = "knight_greyscale" + armor = list("melee" = 35, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 10, "bio" = 10, "rad" = 10, "fire" = 40, "acid" = 40) + material_flags = MATERIAL_ADD_PREFIX //Can change color and add prefix + /obj/item/clothing/suit/armor/vest/durathread name = "makeshift vest" desc = "A vest made of durathread with strips of leather acting as trauma plates." diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm index 86d2b40d0f..628f7187ca 100644 --- a/code/modules/clothing/under/accessories.dm +++ b/code/modules/clothing/under/accessories.dm @@ -105,7 +105,7 @@ desc = "A bronze medal." icon_state = "bronze" item_color = "bronze" - materials = list(MAT_METAL=1000) + custom_materials = list(/datum/material/iron=1000) resistance_flags = FIRE_PROOF var/medaltype = "medal" //Sprite used for medalbox var/commended = FALSE @@ -190,7 +190,7 @@ icon_state = "silver" item_color = "silver" medaltype = "medal-silver" - materials = list(MAT_SILVER=1000) + custom_materials = list(/datum/material/silver=1000) /obj/item/clothing/accessory/medal/silver/valor name = "medal of valor" @@ -206,7 +206,7 @@ icon_state = "gold" item_color = "gold" medaltype = "medal-gold" - materials = list(MAT_GOLD=1000) + custom_materials = list(/datum/material/gold=1000) /obj/item/clothing/accessory/medal/gold/captain name = "medal of captaincy" @@ -217,7 +217,7 @@ name = "old medal of captaincy" desc = "A rustic badge pure gold, has been through hell and back by the looks, the syndcate have been after these by the looks of it for generations..." armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 10) //Pure gold - materials = list(MAT_GOLD=2000) + custom_materials = list(/datum/material/gold=2000) /obj/item/clothing/accessory/medal/gold/heroism name = "medal of exceptional heroism" @@ -230,7 +230,7 @@ item_color = "plasma" medaltype = "medal-plasma" armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = -10, "acid" = 0) //It's made of plasma. Of course it's flammable. - materials = list(MAT_PLASMA=1000) + custom_materials = list(/datum/material/plasma=1000) /obj/item/clothing/accessory/medal/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > 300) diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm index 6952a581da..971112ac38 100644 --- a/code/modules/clothing/under/jobs/medsci.dm +++ b/code/modules/clothing/under/jobs/medsci.dm @@ -158,6 +158,23 @@ can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP +/obj/item/clothing/under/rank/medical/paramedic + desc = "It's made of a special fiber that provides minor protection against biohazards. It has a dark blue cross on the chest denoting that the wearer is a trained paramedic." + name = "paramedic jumpsuit" + icon_state = "paramedic" + item_state = "w_suit" + permeability_coefficient = 0.5 + armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) + +/obj/item/clothing/under/rank/medical/paramedic/skirt + name = "paramedic jumpskirt" + desc = "It's made of a special fiber that provides minor protection against biohazards. It has a dark blue cross on the chest denoting that the wearer is a trained paramedic." + icon_state = "paramedic_skirt" + item_state = "w_suit" + body_parts_covered = CHEST|GROIN|ARMS + can_adjust = FALSE + fitted = FEMALE_UNIFORM_TOP + /obj/item/clothing/under/rank/nursesuit desc = "It's a jumpsuit commonly worn by nursing staff in the medical department." name = "nurse's suit" diff --git a/code/modules/clothing/under/trek.dm b/code/modules/clothing/under/trek.dm index 9564d03909..20852dbe62 100644 --- a/code/modules/clothing/under/trek.dm +++ b/code/modules/clothing/under/trek.dm @@ -19,7 +19,6 @@ icon_state = "trek_engsec" item_color = "trek_engsec" item_state = "r_suit" - armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) //more sec than eng, but w/e. strip_delay = 50 /obj/item/clothing/under/trek/medsci @@ -69,4 +68,4 @@ desc = "Something about it feels off..." icon_state = "trek_Q" item_color = "trek_Q" - item_state = "r_suit" \ No newline at end of file + item_state = "r_suit" diff --git a/code/modules/events/sentience.dm b/code/modules/events/sentience.dm index 96b6cded58..2d39e4270a 100644 --- a/code/modules/events/sentience.dm +++ b/code/modules/events/sentience.dm @@ -24,7 +24,7 @@ /datum/round_event/ghost_role/sentience/spawn_role() var/list/mob/dead/observer/candidates - candidates = get_candidates(ROLE_ALIEN, null, ROLE_ALIEN) + candidates = get_candidates(ROLE_SENTIENCE, null, ROLE_SENTIENCE) // find our chosen mob to breathe life into // Mobs have to be simple animals, mindless and on station diff --git a/code/modules/events/wizard/departmentrevolt.dm b/code/modules/events/wizard/departmentrevolt.dm index 67e96455f0..b82cd91323 100644 --- a/code/modules/events/wizard/departmentrevolt.dm +++ b/code/modules/events/wizard/departmentrevolt.dm @@ -19,7 +19,7 @@ jobs_to_revolt = list("Assistant") nation_name = pick("Assa", "Mainte", "Tunnel", "Gris", "Grey", "Liath", "Grigio", "Ass", "Assi") if("white") - jobs_to_revolt = list("Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist") + jobs_to_revolt = list("Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Paramedic", "Virologist") nation_name = pick("Mede", "Healtha", "Recova", "Chemi", "Geneti", "Viro", "Psych") if("yellow") jobs_to_revolt = list("Chief Engineer", "Station Engineer", "Atmospheric Technician") diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index d39492d9bf..270e8cff6c 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -202,7 +202,7 @@ force = 1 throwforce = 1 amount_per_transfer_from_this = 5 - materials = list(MAT_METAL=100) + custom_materials = list(/datum/material/iron=100) possible_transfer_amounts = list() volume = 5 flags_1 = CONDUCT_1 @@ -218,7 +218,7 @@ force = 14 throwforce = 10 amount_per_transfer_from_this = 20 - materials = list(MAT_GOLD=1000) + custom_materials = list(/datum/material/gold=1000) volume = 150 /obj/item/reagent_containers/food/drinks/trophy/silver_cup @@ -229,7 +229,7 @@ force = 10 throwforce = 8 amount_per_transfer_from_this = 15 - materials = list(MAT_SILVER=800) + custom_materials = list(/datum/material/silver=800) volume = 100 /obj/item/reagent_containers/food/drinks/trophy/bronze_cup @@ -240,7 +240,7 @@ force = 5 throwforce = 4 amount_per_transfer_from_this = 10 - materials = list(MAT_METAL=400) + custom_materials = list(/datum/material/iron=400) volume = 25 ///////////////////////////////////////////////Drinks///////////////////////////////////////// @@ -400,7 +400,7 @@ name = "shaker" desc = "A metal shaker to mix drinks in." icon_state = "shaker" - materials = list(MAT_METAL=1500) + custom_materials = list(/datum/material/iron=1500) amount_per_transfer_from_this = 10 volume = 100 isGlass = FALSE @@ -409,7 +409,7 @@ name = "flask" desc = "Every good spaceman knows it's a good idea to bring along a couple of pints of whiskey wherever they go." icon_state = "flask" - materials = list(MAT_METAL=250) + custom_materials = list(/datum/material/iron=250) volume = 60 isGlass = FALSE @@ -417,7 +417,7 @@ name = "captain's flask" desc = "A gold flask belonging to the captain." icon_state = "flask_gold" - materials = list(MAT_GOLD=500) + custom_materials = list(/datum/material/gold=500) /obj/item/reagent_containers/food/drinks/flask/det name = "detective's flask" diff --git a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm index 0d769932db..defc44ed51 100644 --- a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm +++ b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm @@ -6,7 +6,7 @@ icon_state = "glass_empty" amount_per_transfer_from_this = 10 volume = 50 - materials = list(MAT_GLASS=500) + custom_materials = list(/datum/material/glass=500) max_integrity = 20 spillable = TRUE resistance_flags = ACID_PROOF @@ -45,7 +45,7 @@ amount_per_transfer_from_this = 15 possible_transfer_amounts = list() volume = 15 - materials = list(MAT_GLASS=100) + custom_materials = list(/datum/material/glass=100) /obj/item/reagent_containers/food/drinks/drinkingglass/shotglass/on_reagent_change(changetype) cut_overlays() diff --git a/code/modules/food_and_drinks/food/customizables.dm b/code/modules/food_and_drinks/food/customizables.dm index 016e37a5c4..2a313361c4 100644 --- a/code/modules/food_and_drinks/food/customizables.dm +++ b/code/modules/food_and_drinks/food/customizables.dm @@ -293,7 +293,7 @@ icon = 'icons/obj/food/soupsalad.dmi' icon_state = "bowl" reagent_flags = OPENCONTAINER - materials = list(MAT_GLASS = 500) + custom_materials = list(/datum/material/glass = 500) w_class = WEIGHT_CLASS_NORMAL /obj/item/reagent_containers/glass/bowl/attackby(obj/item/I,mob/user, params) diff --git a/code/modules/food_and_drinks/food/snacks_cake.dm b/code/modules/food_and_drinks/food/snacks_cake.dm index bb37ec9b5d..f2253ee760 100644 --- a/code/modules/food_and_drinks/food/snacks_cake.dm +++ b/code/modules/food_and_drinks/food/snacks_cake.dm @@ -85,6 +85,20 @@ tastes = list("cake" = 4, "cream cheese" = 3) foodtype = GRAIN | DAIRY +/obj/item/reagent_containers/food/snacks/store/cake/brioche + name = "brioche cake" + desc = "A ring of sweet, glazed buns." + icon_state = "briochecake" + slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/brioche + slices_num = 6 + bonus_reagents = list(/datum/reagent/consumable/nutriment = 10, /datum/reagent/consumable/nutriment/vitamin = 2) + +/obj/item/reagent_containers/food/snacks/cakeslice/brioche + name = "brioche cake slice" + desc = "Delicious sweet-bread. Who needs anything else?" + icon_state = "briochecake_slice" + filling_color = "#FFD700" + /obj/item/reagent_containers/food/snacks/cakeslice/cheese name = "cheese cake slice" desc = "Slice of pure cheestisfaction." @@ -375,7 +389,7 @@ obj/item/reagent_containers/food/snacks/store/cake/pound_cake /obj/item/reagent_containers/food/snacks/cakeslice/peach_slice name = "peach cake slice" desc = "A slice of peach cake." - icon_state = "peach_slice" + icon_state = "peachcake_slice" filling_color = "#00FFFF" tastes = list("cake" = 1, "sugar" = 1, "peachjuice" = 10) foodtype = GRAIN | SUGAR | DAIRY @@ -396,4 +410,4 @@ obj/item/reagent_containers/food/snacks/store/cake/pound_cake icon_state = "trumpetcakeslice" filling_color = "#7A3D80" tastes = list("cake" = 4, "violets" = 2, "jam" = 2) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR \ No newline at end of file + foodtype = GRAIN | DAIRY | FRUIT | SUGAR diff --git a/code/modules/food_and_drinks/food/snacks_egg.dm b/code/modules/food_and_drinks/food/snacks_egg.dm index c65e42c0e4..0f2856c090 100644 --- a/code/modules/food_and_drinks/food/snacks_egg.dm +++ b/code/modules/food_and_drinks/food/snacks_egg.dm @@ -101,7 +101,7 @@ desc = "A fried egg with a side of bacon. Delicious!" icon_state = "baconegg" bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1) - bitesize = 1 + bitesize = 2 filling_color = "#FFFFF0" tastes = list("egg" = 2, "bacon" = 2, "salt" = 1, "pepper" = 1) foodtype = MEAT | FRIED | BREAKFAST @@ -151,8 +151,17 @@ desc = "There is only one egg on this, how rude." icon_state = "benedict" bonus_reagents = list(/datum/reagent/consumable/nutriment/vitamin = 4) - trash = /obj/item/trash/plate w_class = WEIGHT_CLASS_NORMAL + trash = /obj/item/trash/plate list_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 4) tastes = list("egg" = 1, "bacon" = 1, "bun" = 1) foodtype = MEAT | BREAKFAST + +/obj/item/reagent_containers/food/snacks/scotchegg + name = "scotch egg" + desc = "A boiled egg wrapped in a delicious, seasoned meatball." + icon_state = "scotchegg" + bonus_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/vitamin = 2) + bitesize = 3 + filling_color = "#FFFFF0" + list_reagents = list(/datum/reagent/consumable/nutriment = 6) \ No newline at end of file diff --git a/code/modules/food_and_drinks/food/snacks_meat.dm b/code/modules/food_and_drinks/food/snacks_meat.dm index 5103418e6b..9bf95f65db 100644 --- a/code/modules/food_and_drinks/food/snacks_meat.dm +++ b/code/modules/food_and_drinks/food/snacks_meat.dm @@ -325,7 +325,7 @@ /obj/item/reagent_containers/food/snacks/corndog name = "corndog plate" desc = "A plate with two small corn dogs, with two dimples of ketchup and mustard to dip them in." - icon_state = "dorndog" + icon_state = "corndog" trash = /obj/item/trash/plate/alt tastes = list("hotdog" = 2, "mustard and ketchup" = 1, "fryed bread" = 1) bonus_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 2, /datum/reagent/consumable/mustard = 5, /datum/reagent/consumable/ketchup = 5) @@ -359,4 +359,4 @@ list_reagents = list(/datum/reagent/consumable/nutriment = 8, /datum/reagent/consumable/nutriment/vitamin = 2, /datum/reagent/consumable/bbqsauce = 5) bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1) tastes = list("meat" = 3, "smokey sauce" = 1) - foodtype = MEAT \ No newline at end of file + foodtype = MEAT diff --git a/code/modules/food_and_drinks/food/snacks_other.dm b/code/modules/food_and_drinks/food/snacks_other.dm index a7090a5274..7dc2188100 100644 --- a/code/modules/food_and_drinks/food/snacks_other.dm +++ b/code/modules/food_and_drinks/food/snacks_other.dm @@ -674,3 +674,26 @@ if (7000 to INFINITY) burn() ..() + +//Easter Stuff + +/obj/item/reagent_containers/food/snacks/chocolatebunny + name = "chocolate bunny" + desc = "Contains less than 10% real rabbit!" + icon_state = "chocolatebunny" + bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1) + list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/sugar = 2, /datum/reagent/consumable/coco = 2) + filling_color = "#A0522D" + +/obj/item/reagent_containers/food/snacks/soup/mammi + name = "Mammi" + desc = "A bowl of mushy bread and milk. It reminds you, not too fondly, of a bowel movement." + icon_state = "mammi" + bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 1) + list_reagents = list(/datum/reagent/consumable/nutriment = 8, /datum/reagent/consumable/nutriment/vitamin = 1) + +/obj/item/reagent_containers/food/snacks/hotcrossbun + bitesize = 2 + name = "hot-cross bun" + desc = "The Cross represents the Assistants that died for your sins." + icon_state = "hotcrossbun" \ No newline at end of file diff --git a/code/modules/food_and_drinks/food/snacks_pie.dm b/code/modules/food_and_drinks/food/snacks_pie.dm index 0c3623efda..1533f067ab 100644 --- a/code/modules/food_and_drinks/food/snacks_pie.dm +++ b/code/modules/food_and_drinks/food/snacks_pie.dm @@ -53,7 +53,8 @@ H.adjust_blurriness(1) H.visible_message("[H] is creamed by [src]!", "You've been creamed by [src]!") playsound(H, "desceration", 50, TRUE) - reagents.trans_to(H,15) //Cream pie combat + if(!H.is_mouth_covered()) + reagents.trans_to(H,15) //Cream pie combat if(!H.creamed) // one layer at a time H.add_overlay(creamoverlay) H.creamed = TRUE 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 71becf0542..4fc55ba4c3 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm @@ -319,7 +319,7 @@ /obj/machinery/icecream_vat/proc/replace_beaker(mob/living/user, obj/item/reagent_containers/new_beaker) if(beaker) beaker.forceMove(drop_location()) - if(user && Adjacent(user) && !issiliconoradminghost(user)) + if(user && Adjacent(user) && user.can_hold_items()) user.put_in_hands(beaker) if(new_beaker) beaker = new_beaker diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm index e908662658..eddd1bdc3f 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm @@ -309,8 +309,8 @@ var/metal = 0 for(var/obj/item/O in ingredients) O.microwave_act(src) - if(O.materials[MAT_METAL]) - metal += O.materials[MAT_METAL] + if(O.custom_materials?.len) + metal += O.custom_materials[getmaterialref(/datum/material/iron)] if(metal) spark() diff --git a/code/modules/food_and_drinks/recipes/drinks_recipes.dm b/code/modules/food_and_drinks/recipes/drinks_recipes.dm index c94118ddf1..59b2e7838a 100644 --- a/code/modules/food_and_drinks/recipes/drinks_recipes.dm +++ b/code/modules/food_and_drinks/recipes/drinks_recipes.dm @@ -591,7 +591,7 @@ results = list(/datum/reagent/consumable/ethanol/cogchamp = 3) required_reagents = list(/datum/reagent/consumable/ethanol/cognac = 1, /datum/reagent/fuel = 1, /datum/reagent/consumable/ethanol/screwdrivercocktail = 1) mix_message = "You hear faint sounds of gears turning as it mixes." - mix_sound = 'sound/effects/clockcult_gateway_closing.ogg' + mix_sound = 'sound/machines/clockcult/steam_whoosh.ogg' /datum/chemical_reaction/quadruplesec name = "Quadruple Sec" diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm index e572cc76ff..c3890b28eb 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm @@ -3,36 +3,6 @@ ////////////////////////////////////////////////BREAD//////////////////////////////////////////////// -/datum/crafting_recipe/food/meatbread - name = "Meat bread" - reqs = list( - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, - /obj/item/reagent_containers/food/snacks/meat/cutlet/plain = 3, - /obj/item/reagent_containers/food/snacks/cheesewedge = 3 - ) - result = /obj/item/reagent_containers/food/snacks/store/bread/meat - subcategory = CAT_BREAD - -/datum/crafting_recipe/food/xenomeatbread - name = "Xenomeat bread" - reqs = list( - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, - /obj/item/reagent_containers/food/snacks/meat/cutlet/xeno = 3, - /obj/item/reagent_containers/food/snacks/cheesewedge = 3 - ) - result = /obj/item/reagent_containers/food/snacks/store/bread/xenomeat - subcategory = CAT_BREAD - -/datum/crafting_recipe/food/spidermeatbread - name = "Spidermeat bread" - reqs = list( - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, - /obj/item/reagent_containers/food/snacks/meat/cutlet/spider = 3, - /obj/item/reagent_containers/food/snacks/cheesewedge = 3 - ) - result = /obj/item/reagent_containers/food/snacks/store/bread/spidermeat - subcategory = CAT_BREAD - /datum/crafting_recipe/food/banananutbread name = "Banana nut bread" reqs = list( @@ -44,16 +14,6 @@ result = /obj/item/reagent_containers/food/snacks/store/bread/banana subcategory = CAT_BREAD -/datum/crafting_recipe/food/tofubread - name = "Tofu bread" - reqs = list( - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, - /obj/item/reagent_containers/food/snacks/tofu = 3, - /obj/item/reagent_containers/food/snacks/cheesewedge = 3 - ) - result = /obj/item/reagent_containers/food/snacks/store/bread/tofu - subcategory = CAT_BREAD - /datum/crafting_recipe/food/creamcheesebread name = "Cream cheese bread" reqs = list( @@ -64,6 +24,16 @@ result = /obj/item/reagent_containers/food/snacks/store/bread/creamcheese subcategory = CAT_BREAD +/datum/crafting_recipe/food/meatbread + name = "Meat bread" + reqs = list( + /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /obj/item/reagent_containers/food/snacks/meat/cutlet/plain = 3, + /obj/item/reagent_containers/food/snacks/cheesewedge = 3 + ) + result = /obj/item/reagent_containers/food/snacks/store/bread/meat + subcategory = CAT_BREAD + /datum/crafting_recipe/food/mimanabread name = "Mimana bread" reqs = list( @@ -75,6 +45,38 @@ result = /obj/item/reagent_containers/food/snacks/store/bread/mimana subcategory = CAT_BREAD +/datum/crafting_recipe/food/spidermeatbread + name = "Spidermeat bread" + reqs = list( + /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /obj/item/reagent_containers/food/snacks/meat/cutlet/spider = 3, + /obj/item/reagent_containers/food/snacks/cheesewedge = 3 + ) + result = /obj/item/reagent_containers/food/snacks/store/bread/spidermeat + subcategory = CAT_BREAD + +/datum/crafting_recipe/food/tofubread + name = "Tofu bread" + reqs = list( + /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /obj/item/reagent_containers/food/snacks/tofu = 3, + /obj/item/reagent_containers/food/snacks/cheesewedge = 3 + ) + result = /obj/item/reagent_containers/food/snacks/store/bread/tofu + subcategory = CAT_BREAD + +/datum/crafting_recipe/food/xenomeatbread + name = "Xenomeat bread" + reqs = list( + /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /obj/item/reagent_containers/food/snacks/meat/cutlet/xeno = 3, + /obj/item/reagent_containers/food/snacks/cheesewedge = 3 + ) + result = /obj/item/reagent_containers/food/snacks/store/bread/xenomeat + subcategory = CAT_BREAD + +////////////////////////////////////////////////TOAST//////////////////////////////////////////////// + /datum/crafting_recipe/food/butteredtoast name = "Buttered Toast" reqs = list( @@ -84,6 +86,45 @@ result = /obj/item/reagent_containers/food/snacks/butteredtoast subcategory = CAT_BREAD +/datum/crafting_recipe/food/slimetoast + name = "Slime toast" + reqs = list( + /datum/reagent/toxin/slimejelly = 5, + /obj/item/reagent_containers/food/snacks/breadslice/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/jelliedtoast/slime + subcategory = CAT_BREAD + +/datum/crafting_recipe/food/jelliedtoast + name = "Jellied toast" + reqs = list( + /datum/reagent/consumable/cherryjelly = 5, + /obj/item/reagent_containers/food/snacks/breadslice/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/jelliedtoast/cherry + subcategory = CAT_BREAD + +/datum/crafting_recipe/food/peanutbuttertoast + name = "Peanut butter toast" + reqs = list( + /datum/reagent/consumable/peanut_butter = 5, + /obj/item/reagent_containers/food/snacks/breadslice/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/peanut_buttertoast + subcategory = CAT_BREAD + +////////////////////////////////////////////////MISC//////////////////////////////////////////////// + +/datum/crafting_recipe/food/baguette + name = "Baguette" + time = 40 + reqs = list(/datum/reagent/consumable/sodiumchloride = 1, + /datum/reagent/consumable/blackpepper = 1, + /obj/item/reagent_containers/food/snacks/pastrybase = 2 + ) + result = /obj/item/reagent_containers/food/snacks/baguette + subcategory = CAT_BREAD + /datum/crafting_recipe/food/butterbiscuit name = "Butter Biscuit" reqs = list( @@ -100,4 +141,13 @@ /obj/item/reagent_containers/food/snacks/butter = 3, ) result = /obj/item/reagent_containers/food/snacks/butterdog + subcategory = CAT_BREAD + +/datum/crafting_recipe/food/twobread + name = "Two bread" + reqs = list( + /datum/reagent/consumable/ethanol/wine = 5, + /obj/item/reagent_containers/food/snacks/breadslice/plain = 2 + ) + result = /obj/item/reagent_containers/food/snacks/twobread subcategory = CAT_BREAD \ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm index ffa8709245..cf96c01e7b 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm @@ -1,8 +1,74 @@ // see code/module/crafting/table.dm -////////////////////////////////////////////////BURGERS//////////////////////////////////////////////// +////////////////////////////////////////////////STANDARD BURGS//////////////////////////////////////////////// +/datum/crafting_recipe/food/burger + name = "Burger" + reqs = list( + /obj/item/reagent_containers/food/snacks/meat/steak/plain = 1, + /obj/item/reagent_containers/food/snacks/bun = 1 + ) + + result = /obj/item/reagent_containers/food/snacks/burger/plain + subcategory = CAT_BURGER + +/datum/crafting_recipe/food/baconburger + name = "Bacon Burger" + reqs = list( + /obj/item/reagent_containers/food/snacks/meat/bacon = 3, + /obj/item/reagent_containers/food/snacks/cheesewedge = 1, + /obj/item/reagent_containers/food/snacks/bun = 1 + ) + + result = /obj/item/reagent_containers/food/snacks/burger/baconburger + subcategory = CAT_BURGER + +/datum/crafting_recipe/food/bigbiteburger + name = "Big bite burger" + reqs = list( + /obj/item/reagent_containers/food/snacks/meat/steak/plain = 3, + /obj/item/reagent_containers/food/snacks/cheesewedge = 2, + /obj/item/reagent_containers/food/snacks/bun = 1 + ) + result = /obj/item/reagent_containers/food/snacks/burger/bigbite + subcategory = CAT_BURGER + +/datum/crafting_recipe/food/superbiteburger + name = "Super bite burger" + reqs = list( + /datum/reagent/consumable/sodiumchloride = 5, + /datum/reagent/consumable/blackpepper = 5, + /obj/item/reagent_containers/food/snacks/meat/steak/plain = 5, + /obj/item/reagent_containers/food/snacks/grown/tomato = 4, + /obj/item/reagent_containers/food/snacks/cheesewedge = 3, + /obj/item/reagent_containers/food/snacks/boiledegg = 1, + /obj/item/reagent_containers/food/snacks/meat/bacon = 1, + /obj/item/reagent_containers/food/snacks/bun = 1 + + ) + result = /obj/item/reagent_containers/food/snacks/burger/superbite + subcategory = CAT_BURGER + +/datum/crafting_recipe/food/cheeseburger + name = "Cheese Burger" + reqs = list( + /obj/item/reagent_containers/food/snacks/meat/steak/plain = 1, + /obj/item/reagent_containers/food/snacks/cheesewedge = 1, + /obj/item/reagent_containers/food/snacks/bun = 1 + ) + result = /obj/item/reagent_containers/food/snacks/burger/cheese + subcategory = CAT_BURGER + +/datum/crafting_recipe/food/corgiburger + name = "Corgi burger" + reqs = list( + /obj/item/reagent_containers/food/snacks/meat/slab/corgi = 1, + /obj/item/reagent_containers/food/snacks/bun = 1 + ) + + result = /obj/item/reagent_containers/food/snacks/burger/corgi + subcategory = CAT_BURGER /datum/crafting_recipe/food/humanburger name = "Human burger" @@ -16,26 +82,37 @@ result = /obj/item/reagent_containers/food/snacks/burger/human subcategory = CAT_BURGER -/datum/crafting_recipe/food/burger - name = "Burger" +/datum/crafting_recipe/food/ribburger + name = "McRib" reqs = list( - /obj/item/reagent_containers/food/snacks/meat/steak/plain = 1, + /obj/item/reagent_containers/food/snacks/bbqribs = 1, //The sauce is already included in the ribs + /obj/item/reagent_containers/food/snacks/onion_slice = 1, //feel free to remove if too burdensome. /obj/item/reagent_containers/food/snacks/bun = 1 ) - - result = /obj/item/reagent_containers/food/snacks/burger/plain + result = /obj/item/reagent_containers/food/snacks/burger/rib subcategory = CAT_BURGER -/datum/crafting_recipe/food/corgiburger - name = "Corgi burger" +/datum/crafting_recipe/food/mcguffin + name = "McGuffin" reqs = list( - /obj/item/reagent_containers/food/snacks/meat/slab/corgi = 1, + /obj/item/reagent_containers/food/snacks/friedegg = 1, + /obj/item/reagent_containers/food/snacks/meat/bacon = 2, /obj/item/reagent_containers/food/snacks/bun = 1 ) - - result = /obj/item/reagent_containers/food/snacks/burger/corgi + result = /obj/item/reagent_containers/food/snacks/burger/mcguffin subcategory = CAT_BURGER +/datum/crafting_recipe/food/tofuburger + name = "Tofu burger" + reqs = list( + /obj/item/reagent_containers/food/snacks/tofu = 1, + /obj/item/reagent_containers/food/snacks/bun = 1 + ) + result = /obj/item/reagent_containers/food/snacks/burger/tofu + subcategory = CAT_BURGER + +///////////////EXOTIC////////////////// + /datum/crafting_recipe/food/appendixburger name = "Appendix burger" reqs = list( @@ -54,15 +131,6 @@ result = /obj/item/reagent_containers/food/snacks/burger/brain subcategory = CAT_BURGER -/datum/crafting_recipe/food/xenoburger - name = "Xeno burger" - reqs = list( - /obj/item/reagent_containers/food/snacks/meat/steak/xeno = 1, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/xeno - subcategory = CAT_BURGER - /datum/crafting_recipe/food/bearger name = "Bearger" reqs = list( @@ -72,6 +140,16 @@ result = /obj/item/reagent_containers/food/snacks/burger/bearger subcategory = CAT_BURGER +/datum/crafting_recipe/food/chickenburger + name = "Chicken Sandwich" + reqs = list( + /obj/item/reagent_containers/food/snacks/meat/steak/chicken = 1, + /datum/reagent/consumable/mayonnaise = 5, + /obj/item/reagent_containers/food/snacks/bun = 1 + ) + result = /obj/item/reagent_containers/food/snacks/burger/chicken + subcategory = CAT_BURGER + /datum/crafting_recipe/food/fishburger name = "Fish burger" reqs = list( @@ -82,25 +160,73 @@ result = /obj/item/reagent_containers/food/snacks/burger/fish subcategory = CAT_BURGER -/datum/crafting_recipe/food/tofuburger - name = "Tofu burger" +/datum/crafting_recipe/food/fivealarmburger + name = "Five alarm burger" reqs = list( - /obj/item/reagent_containers/food/snacks/tofu = 1, - /obj/item/reagent_containers/food/snacks/bun = 1 + /obj/item/reagent_containers/food/snacks/grown/ghost_chili = 2, + /obj/item/reagent_containers/food/snacks/meat/steak/plain = 1, + /obj/item/reagent_containers/food/snacks/bun = 1 ) - result = /obj/item/reagent_containers/food/snacks/burger/tofu + result = /obj/item/reagent_containers/food/snacks/burger/fivealarm subcategory = CAT_BURGER -/datum/crafting_recipe/food/ghostburger - name = "Ghost burger" +/datum/crafting_recipe/food/slimeburger + name = "Jelly burger" reqs = list( - /obj/item/ectoplasm = 1, - /datum/reagent/consumable/sodiumchloride = 2, + /datum/reagent/toxin/slimejelly = 5, /obj/item/reagent_containers/food/snacks/bun = 1 ) - result = /obj/item/reagent_containers/food/snacks/burger/ghost + result = /obj/item/reagent_containers/food/snacks/burger/jelly/slime subcategory = CAT_BURGER +/datum/crafting_recipe/food/jellyburger + name = "Jelly burger" + reqs = list( + /datum/reagent/consumable/cherryjelly = 5, + /obj/item/reagent_containers/food/snacks/bun = 1 + ) + result = /obj/item/reagent_containers/food/snacks/burger/jelly/cherry + subcategory = CAT_BURGER + +/datum/crafting_recipe/food/baseballburger + name = "Home run baseball burger" + reqs = list( + /obj/item/melee/baseball_bat = 1, + /obj/item/reagent_containers/food/snacks/bun = 1 + ) + result = /obj/item/reagent_containers/food/snacks/burger/baseball + subcategory = CAT_BURGER + +/datum/crafting_recipe/food/ratburger + name = "Rat burger" + reqs = list( + /obj/item/reagent_containers/food/snacks/deadmouse = 1, + /obj/item/reagent_containers/food/snacks/bun = 1 + ) + result = /obj/item/reagent_containers/food/snacks/burger/rat + subcategory = CAT_BURGER + +/datum/crafting_recipe/food/soylentburger + name = "Soylent Burger" + reqs = list( + /obj/item/reagent_containers/food/snacks/soylentgreen = 1, //two full meats worth. + /obj/item/reagent_containers/food/snacks/cheesewedge = 2, + /obj/item/reagent_containers/food/snacks/bun = 1 + ) + result = /obj/item/reagent_containers/food/snacks/burger/soylent + subcategory = CAT_BURGER + +/datum/crafting_recipe/food/xenoburger + name = "Xeno burger" + reqs = list( + /obj/item/reagent_containers/food/snacks/meat/steak/xeno = 1, + /obj/item/reagent_containers/food/snacks/bun = 1 + ) + result = /obj/item/reagent_containers/food/snacks/burger/xeno + subcategory = CAT_BURGER + +////////////MYSTICAL//////////////// + /datum/crafting_recipe/food/clownburger name = "Clown burger" reqs = list( @@ -119,6 +245,35 @@ result = /obj/item/reagent_containers/food/snacks/burger/mime subcategory = CAT_BURGER +/datum/crafting_recipe/food/ghostburger + name = "Ghost burger" + reqs = list( + /obj/item/ectoplasm = 1, + /datum/reagent/consumable/sodiumchloride = 2, + /obj/item/reagent_containers/food/snacks/bun = 1 + ) + result = /obj/item/reagent_containers/food/snacks/burger/ghost + subcategory = CAT_BURGER + +/datum/crafting_recipe/food/spellburger + name = "Spell burger" + reqs = list( + /obj/item/clothing/head/wizard/fake = 1, + ) + result = /obj/item/reagent_containers/food/snacks/burger/spell + subcategory = CAT_BURGER + +/datum/crafting_recipe/food/spellburger2 + name = "Spell burger" + reqs = list( + /obj/item/clothing/head/wizard = 1, + /obj/item/reagent_containers/food/snacks/bun = 1 + ) + result = /obj/item/reagent_containers/food/snacks/burger/spell + subcategory = CAT_BURGER + +////////////COLORED BURGERS////////////// + /datum/crafting_recipe/food/redburger name = "Red burger" reqs = list( @@ -197,154 +352,4 @@ /obj/item/reagent_containers/food/snacks/bun = 1 ) result = /obj/item/reagent_containers/food/snacks/burger/white - subcategory = CAT_BURGER - -/datum/crafting_recipe/food/spellburger - name = "Spell burger" - reqs = list( - /obj/item/clothing/head/wizard/fake = 1, - ) - result = /obj/item/reagent_containers/food/snacks/burger/spell - subcategory = CAT_BURGER - -/datum/crafting_recipe/food/spellburger2 - name = "Spell burger" - reqs = list( - /obj/item/clothing/head/wizard = 1, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/spell - subcategory = CAT_BURGER - -/datum/crafting_recipe/food/bigbiteburger - name = "Big bite burger" - reqs = list( - /obj/item/reagent_containers/food/snacks/meat/steak/plain = 3, - /obj/item/reagent_containers/food/snacks/cheesewedge = 2, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/bigbite - subcategory = CAT_BURGER - -/datum/crafting_recipe/food/superbiteburger - name = "Super bite burger" - reqs = list( - /datum/reagent/consumable/sodiumchloride = 5, - /datum/reagent/consumable/blackpepper = 5, - /obj/item/reagent_containers/food/snacks/meat/steak/plain = 5, - /obj/item/reagent_containers/food/snacks/grown/tomato = 4, - /obj/item/reagent_containers/food/snacks/cheesewedge = 3, - /obj/item/reagent_containers/food/snacks/boiledegg = 1, - /obj/item/reagent_containers/food/snacks/meat/bacon = 1, - /obj/item/reagent_containers/food/snacks/bun = 1 - - ) - result = /obj/item/reagent_containers/food/snacks/burger/superbite - subcategory = CAT_BURGER - -/datum/crafting_recipe/food/slimeburger - name = "Jelly burger" - reqs = list( - /datum/reagent/toxin/slimejelly = 5, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/jelly/slime - subcategory = CAT_BURGER - -/datum/crafting_recipe/food/jellyburger - name = "Jelly burger" - reqs = list( - /datum/reagent/consumable/cherryjelly = 5, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/jelly/cherry - subcategory = CAT_BURGER - -/datum/crafting_recipe/food/fivealarmburger - name = "Five alarm burger" - reqs = list( - /obj/item/reagent_containers/food/snacks/grown/ghost_chili = 2, - /obj/item/reagent_containers/food/snacks/meat/steak/plain = 1, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/fivealarm - subcategory = CAT_BURGER - -/datum/crafting_recipe/food/ratburger - name = "Rat burger" - reqs = list( - /obj/item/reagent_containers/food/snacks/deadmouse = 1, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/rat - subcategory = CAT_BURGER - -/datum/crafting_recipe/food/baseballburger - name = "Home run baseball burger" - reqs = list( - /obj/item/melee/baseball_bat = 1, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/baseball - subcategory = CAT_BURGER - -/datum/crafting_recipe/food/baconburger - name = "Bacon Burger" - reqs = list( - /obj/item/reagent_containers/food/snacks/meat/bacon = 3, - /obj/item/reagent_containers/food/snacks/cheesewedge = 1, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - - result = /obj/item/reagent_containers/food/snacks/burger/baconburger - subcategory = CAT_BURGER - -/datum/crafting_recipe/food/cheeseburger - name = "Cheese Burger" - reqs = list( - /obj/item/reagent_containers/food/snacks/meat/steak/plain = 1, - /obj/item/reagent_containers/food/snacks/cheesewedge = 1, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/cheese - subcategory = CAT_BURGER - -/datum/crafting_recipe/food/soylentburger - name = "Soylent Burger" - reqs = list( - /obj/item/reagent_containers/food/snacks/soylentgreen = 1, //two full meats worth. - /obj/item/reagent_containers/food/snacks/cheesewedge = 2, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/soylent - subcategory = CAT_BURGER - -/datum/crafting_recipe/food/ribburger - name = "McRib" - reqs = list( - /obj/item/reagent_containers/food/snacks/bbqribs = 1, //The sauce is already included in the ribs - /obj/item/reagent_containers/food/snacks/onion_slice = 1, //feel free to remove if too burdensome. - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/rib - subcategory = CAT_BURGER - -/datum/crafting_recipe/food/mcguffin - name = "McGuffin" - reqs = list( - /obj/item/reagent_containers/food/snacks/friedegg = 1, - /obj/item/reagent_containers/food/snacks/meat/bacon = 2, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/mcguffin - subcategory = CAT_BURGER - -/datum/crafting_recipe/food/chickenburger - name = "Chicken Sandwich" - reqs = list( - /obj/item/reagent_containers/food/snacks/meat/steak/chicken = 1, - /datum/reagent/consumable/mayonnaise = 5, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/chicken subcategory = CAT_BURGER \ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm index f168896164..f6441210f6 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm @@ -1,7 +1,93 @@ // see code/module/crafting/table.dm -////////////////////////////////////////////////CAKE//////////////////////////////////////////////// +////////////////////////////////////////////////FRUIT CAKE//////////////////////////////////////////////// + +/datum/crafting_recipe/food/applecake + name = "Apple cake" + reqs = list( + /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/reagent_containers/food/snacks/grown/apple = 2 + ) + result = /obj/item/reagent_containers/food/snacks/store/cake/apple + subcategory = CAT_CAKE + +/datum/crafting_recipe/food/bscccake + name = "Blackberry and strawberry chocolate cake" + reqs = list( + /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/reagent_containers/food/snacks/chocolatebar = 2, + /obj/item/reagent_containers/food/snacks/grown/berries = 5 + ) + result = /obj/item/reagent_containers/food/snacks/store/cake/bscc + subcategory = CAT_CAKE + +/datum/crafting_recipe/food/bscvcake + name = "Blackberry and strawberry vanilla cake" + reqs = list( + /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/reagent_containers/food/snacks/grown/berries = 5 + ) + result = /obj/item/reagent_containers/food/snacks/store/cake/bsvc + subcategory = CAT_CAKE + +/datum/crafting_recipe/food/lemoncake + name = "Lemon cake" + reqs = list( + /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 2 + ) + result = /obj/item/reagent_containers/food/snacks/store/cake/lemon + subcategory = CAT_CAKE + +/datum/crafting_recipe/food/limecake + name = "Lime cake" + reqs = list( + /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/reagent_containers/food/snacks/grown/citrus/lime = 2 + ) + result = /obj/item/reagent_containers/food/snacks/store/cake/lime + subcategory = CAT_CAKE + +/datum/crafting_recipe/food/orangecake + name = "Orange cake" + reqs = list( + /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 2 + ) + result = /obj/item/reagent_containers/food/snacks/store/cake/orange + subcategory = CAT_CAKE + +/datum/crafting_recipe/food/peachcake + name = "Peach cake" + reqs = list( + /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/reagent_containers/food/snacks/grown/peach = 5 + ) + result = /obj/item/reagent_containers/food/snacks/store/cake/peach_cake + subcategory = CAT_CAKE + +///////////////////////////////////FANCY//////////////////////////////////////////// + +/datum/crafting_recipe/food/birthdaycake + name = "Birthday cake" + reqs = list( + /datum/reagent/consumable/sugar = 5, + /datum/reagent/consumable/caramel =2, + /obj/item/candle = 1, + /obj/item/reagent_containers/food/snacks/store/cake/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/store/cake/birthday + subcategory = CAT_CAKE + +/datum/crafting_recipe/food/briochecake + name = "Brioche cake" + reqs = list( + /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /datum/reagent/consumable/sugar = 2 + ) + result = /obj/item/reagent_containers/food/snacks/store/cake/brioche + subcategory = CAT_CAKE /datum/crafting_recipe/food/carrotcake name = "Carrot cake" @@ -21,42 +107,6 @@ result = /obj/item/reagent_containers/food/snacks/store/cake/cheese subcategory = CAT_CAKE -/datum/crafting_recipe/food/applecake - name = "Apple cake" - reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, - /obj/item/reagent_containers/food/snacks/grown/apple = 2 - ) - result = /obj/item/reagent_containers/food/snacks/store/cake/apple - subcategory = CAT_CAKE - -/datum/crafting_recipe/food/orangecake - name = "Orange cake" - reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, - /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 2 - ) - result = /obj/item/reagent_containers/food/snacks/store/cake/orange - subcategory = CAT_CAKE - -/datum/crafting_recipe/food/limecake - name = "Lime cake" - reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, - /obj/item/reagent_containers/food/snacks/grown/citrus/lime = 2 - ) - result = /obj/item/reagent_containers/food/snacks/store/cake/lime - subcategory = CAT_CAKE - -/datum/crafting_recipe/food/lemoncake - name = "Lemon cake" - reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, - /obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 2 - ) - result = /obj/item/reagent_containers/food/snacks/store/cake/lemon - subcategory = CAT_CAKE - /datum/crafting_recipe/food/chocolatecake name = "Chocolate cake" reqs = list( @@ -66,35 +116,6 @@ result = /obj/item/reagent_containers/food/snacks/store/cake/chocolate subcategory = CAT_CAKE -/datum/crafting_recipe/food/birthdaycake - name = "Birthday cake" - reqs = list( - /datum/reagent/consumable/sugar = 5, - /datum/reagent/consumable/caramel =2, - /obj/item/candle = 1, - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1 - ) - result = /obj/item/reagent_containers/food/snacks/store/cake/birthday - subcategory = CAT_CAKE - -/datum/crafting_recipe/food/braincake - name = "Brain cake" - reqs = list( - /obj/item/organ/brain = 1, - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1 - ) - result = /obj/item/reagent_containers/food/snacks/store/cake/brain - subcategory = CAT_CAKE - -/datum/crafting_recipe/food/slimecake - name = "Slime cake" - reqs = list( - /obj/item/slime_extract = 1, - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1 - ) - result = /obj/item/reagent_containers/food/snacks/store/cake/slimecake - subcategory = CAT_CAKE - /datum/crafting_recipe/food/pumpkinspicecake name = "Pumpkin spice cake" reqs = list( @@ -104,6 +125,26 @@ result = /obj/item/reagent_containers/food/snacks/store/cake/pumpkinspice subcategory = CAT_CAKE +/datum/crafting_recipe/food/poundcake + name = "Pound cake" + reqs = list( + /obj/item/reagent_containers/food/snacks/store/cake/plain = 4 + ) + result = /obj/item/reagent_containers/food/snacks/store/cake/pound_cake + subcategory = CAT_CAKE + +/datum/crafting_recipe/food/vanillacake + name = "Vanilla cake" + always_availible = FALSE + reqs = list( + /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/reagent_containers/food/snacks/grown/vanillapod = 2 + ) + result = /obj/item/reagent_containers/food/snacks/store/cake/vanilla_cake + subcategory = CAT_CAKE + +/////////////SPECIAL//////////// + /datum/crafting_recipe/food/holycake name = "Angel food cake" reqs = list( @@ -113,12 +154,24 @@ result = /obj/item/reagent_containers/food/snacks/store/cake/holy_cake subcategory = CAT_CAKE -/datum/crafting_recipe/food/poundcake - name = "Pound cake" +/datum/crafting_recipe/food/braincake + name = "Brain cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 4 + /obj/item/organ/brain = 1, + /obj/item/reagent_containers/food/snacks/store/cake/plain = 1 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/pound_cake + result = /obj/item/reagent_containers/food/snacks/store/cake/brain + subcategory = CAT_CAKE + +/datum/crafting_recipe/food/clowncake + name = "Clown cake" + always_availible = FALSE + reqs = list( + /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/reagent_containers/food/snacks/sundae = 2, + /obj/item/reagent_containers/food/snacks/grown/banana = 5 + ) + result = /obj/item/reagent_containers/food/snacks/store/cake/clown_cake subcategory = CAT_CAKE /datum/crafting_recipe/food/hardwarecake @@ -131,53 +184,13 @@ result = /obj/item/reagent_containers/food/snacks/store/cake/hardware_cake subcategory = CAT_CAKE -/datum/crafting_recipe/food/bscccake - name = "blackberry and strawberry chocolate cake" +/datum/crafting_recipe/food/slimecake + name = "Slime cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, - /obj/item/reagent_containers/food/snacks/chocolatebar = 2, - /obj/item/reagent_containers/food/snacks/grown/berries = 5 + /obj/item/slime_extract = 1, + /obj/item/reagent_containers/food/snacks/store/cake/plain = 1 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/bscc - subcategory = CAT_CAKE - -/datum/crafting_recipe/food/bscvcake - name = "blackberry and strawberry vanilla cake" - reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, - /obj/item/reagent_containers/food/snacks/grown/berries = 5 - ) - result = /obj/item/reagent_containers/food/snacks/store/cake/bsvc - subcategory = CAT_CAKE - -/datum/crafting_recipe/food/clowncake - name = "clown cake" - always_availible = FALSE - reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, - /obj/item/reagent_containers/food/snacks/sundae = 2, - /obj/item/reagent_containers/food/snacks/grown/banana = 5 - ) - result = /obj/item/reagent_containers/food/snacks/store/cake/clown_cake - subcategory = CAT_CAKE - -/datum/crafting_recipe/food/vanillacake - name = "vanilla cake" - always_availible = FALSE - reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, - /obj/item/reagent_containers/food/snacks/grown/vanillapod = 2 - ) - result = /obj/item/reagent_containers/food/snacks/store/cake/vanilla_cake - subcategory = CAT_CAKE - -/datum/crafting_recipe/food/peachcake - name = "Peach cake" - reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, - /obj/item/reagent_containers/food/snacks/grown/peach = 5 - ) - result = /obj/item/reagent_containers/food/snacks/store/cake/peach_cake + result = /obj/item/reagent_containers/food/snacks/store/cake/slimecake subcategory = CAT_CAKE /datum/crafting_recipe/food/trumpetcake diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_donut.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_donut.dm new file mode 100644 index 0000000000..ac5576ac25 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_donut.dm @@ -0,0 +1,255 @@ +// see code/module/crafting/table.dm + +////////////////////////////////////////////////DONUTS//////////////////////////////////////////////// + +/datum/crafting_recipe/food/donut + time = 15 + name = "Donut" + reqs = list( + /datum/reagent/consumable/sugar = 1, + /obj/item/reagent_containers/food/snacks/pastrybase = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/plain + subcategory = CAT_DONUT + +/datum/crafting_recipe/food/donut/chaos + name = "Chaos donut" + reqs = list( + /datum/reagent/consumable/frostoil = 5, + /datum/reagent/consumable/capsaicin = 5, + /obj/item/reagent_containers/food/snacks/pastrybase = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/chaos + +datum/crafting_recipe/food/donut/meat + time = 15 + name = "Meat donut" + reqs = list( + /obj/item/reagent_containers/food/snacks/meat/slab = 1, + /obj/item/reagent_containers/food/snacks/pastrybase = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/meat + +/datum/crafting_recipe/food/donut/jelly + name = "Jelly donut" + reqs = list( + /datum/reagent/consumable/berryjuice = 5, + /obj/item/reagent_containers/food/snacks/pastrybase = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/plain + +/datum/crafting_recipe/food/donut/slimejelly + name = "Slime jelly donut" + reqs = list( + /datum/reagent/toxin/slimejelly = 5, + /obj/item/reagent_containers/food/snacks/pastrybase = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain + +/datum/crafting_recipe/food/donut/glaze + time = 15 + name = "glaze donut" + reqs = list( + /datum/reagent/consumable/sugar = 10, + /obj/item/reagent_containers/food/snacks/pastrybase = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/glaze + subcategory = CAT_DONUT + +/datum/crafting_recipe/food/donut/berry + name = "Berry Donut" + reqs = list( + /datum/reagent/consumable/berryjuice = 3, + /obj/item/reagent_containers/food/snacks/donut/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/berry + +/datum/crafting_recipe/food/donut/trumpet + name = "Spaceman's Donut" + reqs = list( + /datum/reagent/medicine/polypyr = 3, + /obj/item/reagent_containers/food/snacks/donut/plain = 1 + ) + + result = /obj/item/reagent_containers/food/snacks/donut/trumpet + +/datum/crafting_recipe/food/donut/apple + name = "Apple Donut" + reqs = list( + /datum/reagent/consumable/applejuice = 3, + /obj/item/reagent_containers/food/snacks/donut/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/apple + +/datum/crafting_recipe/food/donut/caramel + name = "Caramel Donut" + reqs = list( + /datum/reagent/consumable/caramel = 3, + /obj/item/reagent_containers/food/snacks/donut/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/caramel + +/datum/crafting_recipe/food/donut/choco + name = "Chocolate Donut" + reqs = list( + /obj/item/reagent_containers/food/snacks/chocolatebar = 1, + /obj/item/reagent_containers/food/snacks/donut/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/choco + +/datum/crafting_recipe/food/donut/blumpkin + name = "Blumpkin Donut" + reqs = list( + /datum/reagent/consumable/blumpkinjuice = 3, + /obj/item/reagent_containers/food/snacks/donut/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/blumpkin + +/datum/crafting_recipe/food/donut/bungo + name = "Bungo Donut" + reqs = list( + /datum/reagent/consumable/bungojuice = 3, + /obj/item/reagent_containers/food/snacks/donut/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/bungo + +/datum/crafting_recipe/food/donut/matcha + name = "Matcha Donut" + reqs = list( + /datum/reagent/toxin/teapowder = 3, + /obj/item/reagent_containers/food/snacks/donut/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/matcha + +////////////////////////////////////////////////////JELLY DONUTS/////////////////////////////////////////////////////// + +/datum/crafting_recipe/food/donut/jelly/apple + name = "Apple Jelly Donut" + reqs = list( + /datum/reagent/consumable/applejuice = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/apple + +/datum/crafting_recipe/food/donut/jelly/berry + name = "Berry Jelly Donut" + reqs = list( + /datum/reagent/consumable/berryjuice = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/berry + +/datum/crafting_recipe/food/donut/jelly/blumpkin + name = "Blumpkin Jelly Donut" + reqs = list( + /datum/reagent/consumable/blumpkinjuice = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/blumpkin + +/datum/crafting_recipe/food/donut/jelly/bungo + name = "Bungo Jelly Donut" + reqs = list( + /datum/reagent/consumable/bungojuice = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/bungo + +/datum/crafting_recipe/food/donut/jelly/caramel + name = "Caramel Jelly Donut" + reqs = list( + /datum/reagent/consumable/caramel = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/caramel + +/datum/crafting_recipe/food/donut/jelly/choco + name = "Chocolate Jelly Donut" + reqs = list( + /obj/item/reagent_containers/food/snacks/chocolatebar = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/choco + +/datum/crafting_recipe/food/donut/jelly/matcha + name = "Matcha Jelly Donut" + reqs = list( + /datum/reagent/toxin/teapowder = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/matcha + +/datum/crafting_recipe/food/donut/jelly/trumpet + name = "Spaceman's Jelly Donut" + reqs = list( + /datum/reagent/medicine/polypyr = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/trumpet + +////////////////////////////////////////////////////SLIME DONUTS/////////////////////////////////////////////////////// + +/datum/crafting_recipe/food/donut/slimejelly/apple + name = "Apple Slime Donut" + reqs = list( + /datum/reagent/consumable/applejuice = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/apple + +/datum/crafting_recipe/food/donut/slimejelly/berry + name = "Berry Slime Donut" + reqs = list( + /datum/reagent/consumable/berryjuice = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/berry + +/datum/crafting_recipe/food/donut/slimejelly/blumpkin + name = "Blumpkin Slime Donut" + reqs = list( + /datum/reagent/consumable/blumpkinjuice = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/blumpkin + +/datum/crafting_recipe/food/donut/slimejelly/bungo + name = "Bungo Slime Donut" + reqs = list( + /datum/reagent/consumable/bungojuice = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/bungo + +/datum/crafting_recipe/food/donut/slimejelly/caramel + name = "Caramel Slime Donut" + reqs = list( + /datum/reagent/consumable/caramel = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/caramel + +/datum/crafting_recipe/food/donut/slimejelly/choco + name = "Chocolate Slime Donut" + reqs = list( + /obj/item/reagent_containers/food/snacks/chocolatebar = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/choco + +/datum/crafting_recipe/food/donut/slimejelly/trumpet + name = "Spaceman's Slime Donut" + reqs = list( + /datum/reagent/medicine/polypyr = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 + ) + + result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/trumpet + +/datum/crafting_recipe/food/donut/slimejelly/matcha + name = "Matcha Slime Donut" + reqs = list( + /datum/reagent/toxin/teapowder = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/matcha diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm index c049cd7563..108307119d 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm @@ -59,4 +59,15 @@ /obj/item/reagent_containers/food/snacks/grown/corn = 1 ) result = /obj/item/reagent_containers/food/snacks/salad/eggbowl + subcategory = CAT_EGG + +/datum/crafting_recipe/food/scotchegg + name = "Scotch egg" + reqs = list( + /datum/reagent/consumable/sodiumchloride = 1, + /datum/reagent/consumable/blackpepper = 1, + /obj/item/reagent_containers/food/snacks/boiledegg = 1, + /obj/item/reagent_containers/food/snacks/faggot = 1 + ) + result = /obj/item/reagent_containers/food/snacks/scotchegg subcategory = CAT_EGG \ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm index e204b0c72c..6d443c99f0 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm @@ -3,6 +3,64 @@ //Misc. Frozen.// ///////////////// +/datum/crafting_recipe/food/banana_split + name = "Banana Split" + always_availible = FALSE + reqs = list( + /obj/item/reagent_containers/food/snacks/icecream = 3, + /obj/item/reagent_containers/food/snacks/grown/banana = 1, + /obj/item/reagent_containers/food/snacks/grown/cherries = 1, + /obj/item/reagent_containers/food/snacks/chocolatebar = 1 + ) + result = /obj/item/reagent_containers/food/snacks/banana_split + subcategory = CAT_ICE + + /datum/crafting_recipe/food/bluecharrie_float + name = "Blue Cherry Shake" + always_availible = FALSE + reqs = list( + /obj/item/reagent_containers/food/snacks/icecream = 1, + /obj/item/reagent_containers/food/snacks/grown/bluecherries = 3, + /obj/item/reagent_containers/food/drinks/drinkingglass = 1 + ) + result = /obj/item/reagent_containers/food/snacks/bluecharrie_float + subcategory = CAT_ICE + +/datum/crafting_recipe/food/charrie_float + name = "Cherry Shake" + always_availible = FALSE + reqs = list( + /obj/item/reagent_containers/food/snacks/icecream = 1, + /obj/item/reagent_containers/food/snacks/grown/cherries = 3, + /obj/item/reagent_containers/food/drinks/drinkingglass = 1 + ) + result = /obj/item/reagent_containers/food/snacks/charrie_float + subcategory = CAT_ICE + +/datum/crafting_recipe/food/root_float + name = "Cola Float" + always_availible = FALSE + reqs = list( + /obj/item/reagent_containers/food/snacks/icecream = 1, + /obj/item/reagent_containers/food/snacks/grown/cherries = 1, + /datum/reagent/consumable/space_cola = 10, + /obj/item/reagent_containers/food/drinks/drinkingglass = 1 + ) + result = /obj/item/reagent_containers/food/snacks/cola_float + subcategory = CAT_ICE + +/datum/crafting_recipe/food/honkdae + name ="Honkdae" + reqs = list( + /datum/reagent/consumable/cream = 5, + /obj/item/clothing/mask/gas/clown_hat = 1, + /obj/item/reagent_containers/food/snacks/grown/cherries = 1, + /obj/item/reagent_containers/food/snacks/grown/banana = 2, + /obj/item/reagent_containers/food/snacks/icecream = 1 + ) + result = /obj/item/reagent_containers/food/snacks/honkdae + subcategory = CAT_ICE + /datum/crafting_recipe/food/icecreamsandwich name = "Icecream sandwich" reqs = list( @@ -14,7 +72,7 @@ subcategory = CAT_ICE /datum/crafting_recipe/food/spacefreezy - name ="Space freezy" + name ="Space Freezy" reqs = list( /datum/reagent/consumable/bluecherryjelly = 5, /datum/reagent/consumable/spacemountainwind = 15, @@ -34,105 +92,8 @@ result = /obj/item/reagent_containers/food/snacks/sundae subcategory = CAT_ICE -/datum/crafting_recipe/food/honkdae - name ="Honkdae" - reqs = list( - /datum/reagent/consumable/cream = 5, - /obj/item/clothing/mask/gas/clown_hat = 1, - /obj/item/reagent_containers/food/snacks/grown/cherries = 1, - /obj/item/reagent_containers/food/snacks/grown/banana = 2, - /obj/item/reagent_containers/food/snacks/icecream = 1 - ) - result = /obj/item/reagent_containers/food/snacks/honkdae - subcategory = CAT_ICE - -/datum/crafting_recipe/food/banana_split - name = "Banana Split" - always_availible = FALSE - reqs = list( - /obj/item/reagent_containers/food/snacks/icecream = 3, - /obj/item/reagent_containers/food/snacks/grown/banana = 1, - /obj/item/reagent_containers/food/snacks/grown/cherries = 1, - /obj/item/reagent_containers/food/snacks/chocolatebar = 1 - ) - result = /obj/item/reagent_containers/food/snacks/banana_split - subcategory = CAT_ICE - -/datum/crafting_recipe/food/root_float - name = "Cola Float" - always_availible = FALSE - reqs = list( - /obj/item/reagent_containers/food/snacks/icecream = 1, - /obj/item/reagent_containers/food/snacks/grown/cherries = 1, - /datum/reagent/consumable/space_cola = 10, - /obj/item/reagent_containers/food/drinks/drinkingglass = 1 - ) - result = /obj/item/reagent_containers/food/snacks/cola_float - subcategory = CAT_ICE - -/datum/crafting_recipe/food/charrie_float - name = "Cherry Shake" - always_availible = FALSE - reqs = list( - /obj/item/reagent_containers/food/snacks/icecream = 1, - /obj/item/reagent_containers/food/snacks/grown/cherries = 3, - /obj/item/reagent_containers/food/drinks/drinkingglass = 1 - ) - result = /obj/item/reagent_containers/food/snacks/charrie_float - subcategory = CAT_ICE - -/datum/crafting_recipe/food/bluecharrie_float - name = "Blue Cherry Shake" - always_availible = FALSE - reqs = list( - /obj/item/reagent_containers/food/snacks/icecream = 1, - /obj/item/reagent_containers/food/snacks/grown/bluecherries = 3, - /obj/item/reagent_containers/food/drinks/drinkingglass = 1 - ) - result = /obj/item/reagent_containers/food/snacks/bluecharrie_float - subcategory = CAT_ICE - //////////////////////////SNOW CONES/////////////////////// -/datum/crafting_recipe/food/flavorless_sc - name = "Flavorless snowcone" - reqs = list( - /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/consumable/ice = 15 - ) - result = /obj/item/reagent_containers/food/snacks/snowcones - subcategory = CAT_ICE - -/datum/crafting_recipe/food/pineapple_sc - name = "Pineapple snowcone" - reqs = list( - /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/consumable/ice = 15, - /obj/item/reagent_containers/food/snacks/pineappleslice = 2 - ) - result = /obj/item/reagent_containers/food/snacks/snowcones/pineapple - subcategory = CAT_ICE - -/datum/crafting_recipe/food/lime_sc - name = "Lime snowcone" - reqs = list( - /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/consumable/ice = 15, - /datum/reagent/consumable/limejuice = 5 - ) - result = /obj/item/reagent_containers/food/snacks/snowcones/lime - subcategory = CAT_ICE - -/datum/crafting_recipe/food/lemon_sc - name = "Lemon snowcone" - reqs = list( - /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/consumable/ice = 15, - /datum/reagent/consumable/lemonjuice = 5 - ) - result = /obj/item/reagent_containers/food/snacks/snowcones/lemon - subcategory = CAT_ICE - /datum/crafting_recipe/food/apple_sc name = "Apple snowcone" reqs = list( @@ -143,24 +104,14 @@ result = /obj/item/reagent_containers/food/snacks/snowcones/apple subcategory = CAT_ICE -/datum/crafting_recipe/food/grape_sc - name = "Grape snowcone" +/datum/crafting_recipe/food/berry_sc + name = "Berry snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, - /datum/reagent/consumable/grapejuice = 5 + /datum/reagent/consumable/berryjuice = 5 ) - result = /obj/item/reagent_containers/food/snacks/snowcones/grape - subcategory = CAT_ICE - -/datum/crafting_recipe/food/orange_sc - name = "Orange snowcone" - reqs = list( - /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/consumable/ice = 15, - /datum/reagent/consumable/orangejuice = 5 - ) - result = /obj/item/reagent_containers/food/snacks/snowcones/orange + result = /obj/item/reagent_containers/food/snacks/snowcones/berry subcategory = CAT_ICE /datum/crafting_recipe/food/blue_sc @@ -183,14 +134,13 @@ result = /obj/item/reagent_containers/food/snacks/snowcones/red subcategory = CAT_ICE -/datum/crafting_recipe/food/berry_sc - name = "Berry snowcone" +/datum/crafting_recipe/food/flavorless_sc + name = "Flavorless snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/consumable/ice = 15, - /datum/reagent/consumable/berryjuice = 5 + /datum/reagent/consumable/ice = 15 ) - result = /obj/item/reagent_containers/food/snacks/snowcones/berry + result = /obj/item/reagent_containers/food/snacks/snowcones subcategory = CAT_ICE /datum/crafting_recipe/food/fruitsalad_sc @@ -206,24 +156,84 @@ result = /obj/item/reagent_containers/food/snacks/snowcones/fruitsalad subcategory = CAT_ICE -/datum/crafting_recipe/food/mime_sc - name = "Mime snowcone" +/datum/crafting_recipe/food/grape_sc + name = "Grape snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, - /datum/reagent/consumable/nothing = 5 + /datum/reagent/consumable/grapejuice = 5 ) - result = /obj/item/reagent_containers/food/snacks/snowcones/mime + result = /obj/item/reagent_containers/food/snacks/snowcones/grape subcategory = CAT_ICE -/datum/crafting_recipe/food/clown_sc - name = "Clown snowcone" +/datum/crafting_recipe/food/honey_sc + name = "Honey snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, - /datum/reagent/consumable/laughter = 5 + /datum/reagent/consumable/honey = 5 ) - result = /obj/item/reagent_containers/food/snacks/snowcones/clown + result = /obj/item/reagent_containers/food/snacks/snowcones/honey + subcategory = CAT_ICE + +/datum/crafting_recipe/food/lemon_sc + name = "Lemon snowcone" + reqs = list( + /obj/item/reagent_containers/food/drinks/sillycup = 1, + /datum/reagent/consumable/ice = 15, + /datum/reagent/consumable/lemonjuice = 5 + ) + result = /obj/item/reagent_containers/food/snacks/snowcones/lemon + subcategory = CAT_ICE + +/datum/crafting_recipe/food/lime_sc + name = "Lime snowcone" + reqs = list( + /obj/item/reagent_containers/food/drinks/sillycup = 1, + /datum/reagent/consumable/ice = 15, + /datum/reagent/consumable/limejuice = 5 + ) + result = /obj/item/reagent_containers/food/snacks/snowcones/lime + subcategory = CAT_ICE + +/datum/crafting_recipe/food/orange_sc + name = "Orange snowcone" + reqs = list( + /obj/item/reagent_containers/food/drinks/sillycup = 1, + /datum/reagent/consumable/ice = 15, + /datum/reagent/consumable/orangejuice = 5 + ) + result = /obj/item/reagent_containers/food/snacks/snowcones/orange + subcategory = CAT_ICE + +/datum/crafting_recipe/food/pineapple_sc + name = "Pineapple snowcone" + reqs = list( + /obj/item/reagent_containers/food/drinks/sillycup = 1, + /datum/reagent/consumable/ice = 15, + /obj/item/reagent_containers/food/snacks/pineappleslice = 2 + ) + result = /obj/item/reagent_containers/food/snacks/snowcones/pineapple + subcategory = CAT_ICE + +/datum/crafting_recipe/food/pwrgame_sc + name = "Pwrgame snowcone" + reqs = list( + /obj/item/reagent_containers/food/drinks/sillycup = 1, + /datum/reagent/consumable/ice = 15, + /datum/reagent/consumable/pwr_game = 15 + ) + result = /obj/item/reagent_containers/food/snacks/snowcones/pwrgame + subcategory = CAT_ICE + +/datum/crafting_recipe/food/rainbow_sc + name = "Rainbow snowcone" + reqs = list( + /obj/item/reagent_containers/food/drinks/sillycup = 1, + /datum/reagent/consumable/ice = 15, + /datum/reagent/colorful_reagent = 1 //Harder to make + ) + result = /obj/item/reagent_containers/food/snacks/snowcones/rainbow subcategory = CAT_ICE /datum/crafting_recipe/food/soda_sc @@ -246,32 +256,24 @@ result = /obj/item/reagent_containers/food/snacks/snowcones/spacemountainwind subcategory = CAT_ICE -/datum/crafting_recipe/food/pwrgame_sc - name = "Pwrgame snowcone" +/////I don't like seperating the clown and mime./// + +/datum/crafting_recipe/food/mime_sc + name = "Mime snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, - /datum/reagent/consumable/pwr_game = 15 + /datum/reagent/consumable/nothing = 5 ) - result = /obj/item/reagent_containers/food/snacks/snowcones/pwrgame + result = /obj/item/reagent_containers/food/snacks/snowcones/mime subcategory = CAT_ICE -/datum/crafting_recipe/food/honey_sc - name = "Honey snowcone" +/datum/crafting_recipe/food/clown_sc + name = "Clown snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, - /datum/reagent/consumable/honey = 5 + /datum/reagent/consumable/laughter = 5 ) - result = /obj/item/reagent_containers/food/snacks/snowcones/honey - subcategory = CAT_ICE - -/datum/crafting_recipe/food/rainbow_sc - name = "Rainbow snowcone" - reqs = list( - /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/consumable/ice = 15, - /datum/reagent/colorful_reagent = 1 //Harder to make - ) - result = /obj/item/reagent_containers/food/snacks/snowcones/rainbow - subcategory = CAT_ICE + result = /obj/item/reagent_containers/food/snacks/snowcones/clown + subcategory = CAT_ICE \ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm index d8145410cd..efb773159d 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm @@ -1,3 +1,5 @@ +// see code/module/crafting/table.dm + ////////////////////////////////////////////////KEBABS//////////////////////////////////////////////// /datum/crafting_recipe/food/humankebab @@ -36,6 +38,18 @@ result = /obj/item/reagent_containers/food/snacks/kebab/tail subcategory = CAT_MEAT +/datum/crafting_recipe/food/fiestaskewer + name = "Fiesta Skewer" + reqs = list( + /obj/item/stack/rods = 1, + /obj/item/reagent_containers/food/snacks/grown/chili = 1, + /obj/item/reagent_containers/food/snacks/meat/cutlet = 1, + /obj/item/reagent_containers/food/snacks/grown/corn = 1, + /obj/item/reagent_containers/food/snacks/grown/tomato = 1 + ) + result = /obj/item/reagent_containers/food/snacks/kebab/fiesta + subcategory = CAT_MEAT + // see code/module/crafting/table.dm ////////////////////////////////////////////////MR SPIDER//////////////////////////////////////////////// @@ -52,6 +66,36 @@ ////////////////////////////////////////////////MISC RECIPE's//////////////////////////////////////////////// +/datum/crafting_recipe/food/ribs + name = "BBQ Ribs" + reqs = list( + /datum/reagent/consumable/bbqsauce = 5, + /obj/item/reagent_containers/food/snacks/meat/steak/plain = 2, + /obj/item/stack/rods = 2 + ) + result = /obj/item/reagent_containers/food/snacks/bbqribs + subcategory = CAT_MEAT + +/datum/crafting_recipe/food/nugget + name = "Chicken nugget" + reqs = list( + /obj/item/reagent_containers/food/snacks/meat/cutlet = 1 + ) + result = /obj/item/reagent_containers/food/snacks/nugget + subcategory = CAT_MEAT + +/datum/crafting_recipe/food/corndog + name = "Corndog meal" + reqs = list( + /obj/item/stack/rods = 1, + /obj/item/reagent_containers/food/snacks/meat/cutlet = 1, + /obj/item/reagent_containers/food/snacks/bun = 1, + /datum/reagent/consumable/mustard = 5, + /datum/reagent/consumable/ketchup = 5 + ) + result = /obj/item/reagent_containers/food/snacks/corndog + subcategory = CAT_MEAT + /datum/crafting_recipe/food/cornedbeef name = "Corned beef" reqs = list( @@ -72,16 +116,6 @@ result = /obj/item/reagent_containers/food/snacks/bearsteak subcategory = CAT_MEAT -/datum/crafting_recipe/food/enchiladas - name = "Enchiladas" - reqs = list( - /obj/item/reagent_containers/food/snacks/meat/cutlet = 2, - /obj/item/reagent_containers/food/snacks/grown/chili = 2, - /obj/item/reagent_containers/food/snacks/tortilla = 2 - ) - result = /obj/item/reagent_containers/food/snacks/enchiladas - subcategory = CAT_MEAT - /datum/crafting_recipe/food/stewedsoymeat name = "Stewed soymeat" reqs = list( @@ -101,23 +135,6 @@ result = /obj/item/reagent_containers/food/snacks/sausage subcategory = CAT_MEAT -/datum/crafting_recipe/food/nugget - name = "Chicken nugget" - reqs = list( - /obj/item/reagent_containers/food/snacks/meat/cutlet = 1 - ) - result = /obj/item/reagent_containers/food/snacks/nugget - subcategory = CAT_MEAT - -/datum/crafting_recipe/food/rawkhinkali - name = "Raw Khinkali" - reqs = list( - /obj/item/reagent_containers/food/snacks/doughslice = 1, - /obj/item/reagent_containers/food/snacks/faggot = 1 - ) - result = /obj/item/reagent_containers/food/snacks/rawkhinkali - subcategory = CAT_MEAT - /datum/crafting_recipe/food/pigblanket name = "Pig in a Blanket" reqs = list( @@ -128,18 +145,6 @@ result = /obj/item/reagent_containers/food/snacks/pigblanket subcategory = CAT_MEAT -/datum/crafting_recipe/food/corndog - name = "Corndog meal" - reqs = list( - /obj/item/stack/rods = 1, - /obj/item/reagent_containers/food/snacks/meat/cutlet = 1, - /obj/item/reagent_containers/food/snacks/bun = 1, - /datum/reagent/consumable/mustard = 5, - /datum/reagent/consumable/ketchup = 5 - ) - result = /obj/item/reagent_containers/food/snacks/corndog - subcategory = CAT_MEAT - /datum/crafting_recipe/food/ratkebab name = "Rat Kebab" reqs = list( @@ -166,25 +171,3 @@ ) result = /obj/item/reagent_containers/food/snacks/salad/ricepork subcategory = CAT_MEAT - -/datum/crafting_recipe/food/fiestaskewer - name = "Fiesta Skewer" - reqs = list( - /obj/item/stack/rods = 1, - /obj/item/reagent_containers/food/snacks/grown/chili = 1, - /obj/item/reagent_containers/food/snacks/meat/cutlet = 1, - /obj/item/reagent_containers/food/snacks/grown/corn = 1, - /obj/item/reagent_containers/food/snacks/grown/tomato = 1 - ) - result = /obj/item/reagent_containers/food/snacks/kebab/fiesta - subcategory = CAT_MEAT - -/datum/crafting_recipe/food/ribs - name = "BBQ Ribs" - reqs = list( - /datum/reagent/consumable/bbqsauce = 5, - /obj/item/reagent_containers/food/snacks/meat/steak/plain = 2, - /obj/item/stack/rods = 2 - ) - result = /obj/item/reagent_containers/food/snacks/bbqribs - subcategory = CAT_MEAT \ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm new file mode 100644 index 0000000000..e155a1bd23 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm @@ -0,0 +1,111 @@ +// see code/module/crafting/table.dm + +////////////////////////////////////////////////"MEXICAN"//////////////////////////////////////////////// + +/datum/crafting_recipe/food/burrito + name ="Burrito" + reqs = list( + /obj/item/reagent_containers/food/snacks/tortilla = 1, + /obj/item/reagent_containers/food/snacks/grown/soybeans = 2 + ) + result = /obj/item/reagent_containers/food/snacks/burrito + subcategory = CAT_MEXICAN + +/datum/crafting_recipe/food/cheesyburrito + name ="Cheesy burrito" + reqs = list( + /obj/item/reagent_containers/food/snacks/tortilla = 1, + /obj/item/reagent_containers/food/snacks/cheesewedge = 2, + /obj/item/reagent_containers/food/snacks/grown/soybeans = 1 + ) + result = /obj/item/reagent_containers/food/snacks/cheesyburrito + subcategory = CAT_MEXICAN + +/datum/crafting_recipe/food/enchiladas + name = "Enchiladas" + reqs = list( + /obj/item/reagent_containers/food/snacks/meat/cutlet = 2, + /obj/item/reagent_containers/food/snacks/grown/chili = 2, + /obj/item/reagent_containers/food/snacks/tortilla = 2 + ) + result = /obj/item/reagent_containers/food/snacks/enchiladas + subcategory = CAT_MEXICAN + +/datum/crafting_recipe/food/carneburrito + name ="Carne de asada burrito" + reqs = list( + /obj/item/reagent_containers/food/snacks/tortilla = 1, + /obj/item/reagent_containers/food/snacks/meat/cutlet = 2, + /obj/item/reagent_containers/food/snacks/grown/soybeans = 1 + ) + result = /obj/item/reagent_containers/food/snacks/carneburrito + subcategory = CAT_MEXICAN + +/datum/crafting_recipe/food/fuegoburrito + name ="Fuego plasma burrito" + reqs = list( + /obj/item/reagent_containers/food/snacks/tortilla = 1, + /obj/item/reagent_containers/food/snacks/grown/ghost_chili = 2, + /obj/item/reagent_containers/food/snacks/grown/soybeans = 1 + ) + result = /obj/item/reagent_containers/food/snacks/fuegoburrito + subcategory = CAT_MEXICAN + +/datum/crafting_recipe/food/taco + name ="Classic Taco" + reqs = list( + /obj/item/reagent_containers/food/snacks/tortilla = 1, + /obj/item/reagent_containers/food/snacks/cheesewedge = 1, + /obj/item/reagent_containers/food/snacks/meat/cutlet = 1, + /obj/item/reagent_containers/food/snacks/grown/cabbage = 1, + ) + result = /obj/item/reagent_containers/food/snacks/taco + subcategory = CAT_MEXICAN + +/datum/crafting_recipe/food/tacoplain + name ="Plain Taco" + reqs = list( + /obj/item/reagent_containers/food/snacks/tortilla = 1, + /obj/item/reagent_containers/food/snacks/cheesewedge = 1, + /obj/item/reagent_containers/food/snacks/meat/cutlet = 1, + ) + result = /obj/item/reagent_containers/food/snacks/taco/plain + subcategory = CAT_MEXICAN + +/datum/crafting_recipe/food/nachos + name ="Nachos" + reqs = list( + /datum/reagent/consumable/sodiumchloride = 1, + /obj/item/reagent_containers/food/snacks/tortilla = 1 + ) + result = /obj/item/reagent_containers/food/snacks/nachos + subcategory = CAT_MEXICAN + +/datum/crafting_recipe/food/cheesynachos + name ="Cheesy nachos" + reqs = list( + /datum/reagent/consumable/sodiumchloride = 1, + /obj/item/reagent_containers/food/snacks/cheesewedge = 1, + /obj/item/reagent_containers/food/snacks/tortilla = 1 + ) + result = /obj/item/reagent_containers/food/snacks/cheesynachos + subcategory = CAT_MEXICAN + +/datum/crafting_recipe/food/cubannachos + name ="Cuban nachos" + reqs = list( + /datum/reagent/consumable/ketchup = 5, + /obj/item/reagent_containers/food/snacks/grown/chili = 2, + /obj/item/reagent_containers/food/snacks/tortilla = 1 + ) + result = /obj/item/reagent_containers/food/snacks/cubannachos + subcategory = CAT_MEXICAN + +/datum/crafting_recipe/food/wrap + name = "Wrap" + reqs = list(/datum/reagent/consumable/soysauce = 10, + /obj/item/reagent_containers/food/snacks/friedegg = 1, + /obj/item/reagent_containers/food/snacks/grown/cabbage = 1, + ) + result = /obj/item/reagent_containers/food/snacks/eggwrap + subcategory = CAT_MEXICAN \ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm index 9cf5ea31a0..6a622d6719 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm @@ -1,62 +1,77 @@ // see code/module/crafting/table.dm -// MISC +//////////////////Eastern Foods////////////////////// -/datum/crafting_recipe/food/candiedapple - name = "Candied apple" - reqs = list(/datum/reagent/water = 5, - /datum/reagent/consumable/sugar = 5, - /obj/item/reagent_containers/food/snacks/grown/apple = 1 - ) - result = /obj/item/reagent_containers/food/snacks/candiedapple - subcategory = CAT_MISCFOOD - -/datum/crafting_recipe/food/spiderlollipop - name = "Spider Lollipop" - reqs = list(/obj/item/stack/rods = 1, - /datum/reagent/consumable/sugar = 5, +/datum/crafting_recipe/food/chawanmushi + name = "Chawanmushi" + reqs = list( /datum/reagent/water = 5, - /obj/item/reagent_containers/food/snacks/spiderling = 1 + /datum/reagent/consumable/soysauce = 5, + /obj/item/reagent_containers/food/snacks/boiledegg = 2, + /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 1 ) - result = /obj/item/reagent_containers/food/snacks/spiderlollipop + result = /obj/item/reagent_containers/food/snacks/chawanmushi subcategory = CAT_MISCFOOD -/datum/crafting_recipe/food/chococoin - name = "Choco coin" +/datum/crafting_recipe/food/khachapuri + name = "Khachapuri" reqs = list( - /obj/item/coin = 1, - /obj/item/reagent_containers/food/snacks/chocolatebar = 1, + /datum/reagent/consumable/eggyolk = 5, + /obj/item/reagent_containers/food/snacks/cheesewedge = 1, + /obj/item/reagent_containers/food/snacks/store/bread/plain = 1 ) - result = /obj/item/reagent_containers/food/snacks/chococoin + result = /obj/item/reagent_containers/food/snacks/khachapuri subcategory = CAT_MISCFOOD -/datum/crafting_recipe/food/fudgedice - name = "Fudge dice" +/datum/crafting_recipe/food/rawkhinkali + name = "Raw Khinkali" reqs = list( - /obj/item/dice = 1, - /obj/item/reagent_containers/food/snacks/chocolatebar = 1, + /obj/item/reagent_containers/food/snacks/doughslice = 1, + /obj/item/reagent_containers/food/snacks/faggot = 1 ) - result = /obj/item/reagent_containers/food/snacks/fudgedice + result = /obj/item/reagent_containers/food/snacks/rawkhinkali subcategory = CAT_MISCFOOD -/datum/crafting_recipe/food/chocoorange - name = "Choco orange" +/datum/crafting_recipe/food/meatbun + name = "Meat bun" reqs = list( - /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 1, - /obj/item/reagent_containers/food/snacks/chocolatebar = 1, + /datum/reagent/consumable/soysauce = 5, + /obj/item/reagent_containers/food/snacks/bun = 1, + /obj/item/reagent_containers/food/snacks/faggot = 1, + /obj/item/reagent_containers/food/snacks/grown/cabbage = 1 ) - result = /obj/item/reagent_containers/food/snacks/chocoorange + result = /obj/item/reagent_containers/food/snacks/meatbun subcategory = CAT_MISCFOOD -/datum/crafting_recipe/food/loadedbakedpotato - name = "Loaded baked potato" +/////////////////////////////////MISC///////////////////////////////////// + +/datum/crafting_recipe/food/beans + name = "Beans" time = 40 - reqs = list( - /obj/item/reagent_containers/food/snacks/grown/potato = 1, - /obj/item/reagent_containers/food/snacks/cheesewedge = 1 + reqs = list(/datum/reagent/consumable/ketchup = 5, + /obj/item/reagent_containers/food/snacks/grown/soybeans = 2 ) - result = /obj/item/reagent_containers/food/snacks/loadedbakedpotato + result = /obj/item/reagent_containers/food/snacks/beans + subcategory = CAT_MISCFOOD + +/datum/crafting_recipe/food/branrequests + name = "Bran Requests Cereal" + reqs = list( + /obj/item/reagent_containers/food/snacks/grown/wheat = 1, + /obj/item/reagent_containers/food/snacks/no_raisin = 1, + ) + result = /obj/item/reagent_containers/food/snacks/branrequests + subcategory = CAT_MISCFOOD + +/datum/crafting_recipe/food/oatmeal + name = "Oatmeal" + reqs = list( + /datum/reagent/consumable/milk = 10, + /obj/item/reagent_containers/glass/bowl = 1, + /obj/item/reagent_containers/food/snacks/grown/oat = 1 + ) + result = /obj/item/reagent_containers/food/snacks/salad/oatmeal subcategory = CAT_MISCFOOD /datum/crafting_recipe/food/cheesyfries @@ -68,24 +83,6 @@ result = /obj/item/reagent_containers/food/snacks/cheesyfries subcategory = CAT_MISCFOOD -/datum/crafting_recipe/food/wrap - name = "Wrap" - reqs = list(/datum/reagent/consumable/soysauce = 10, - /obj/item/reagent_containers/food/snacks/friedegg = 1, - /obj/item/reagent_containers/food/snacks/grown/cabbage = 1, - ) - result = /obj/item/reagent_containers/food/snacks/eggwrap - subcategory = CAT_MISCFOOD - -/datum/crafting_recipe/food/beans - name = "Beans" - time = 40 - reqs = list(/datum/reagent/consumable/ketchup = 5, - /obj/item/reagent_containers/food/snacks/grown/soybeans = 2 - ) - result = /obj/item/reagent_containers/food/snacks/beans - subcategory = CAT_MISCFOOD - /datum/crafting_recipe/food/eggplantparm name ="Eggplant parmigiana" reqs = list( @@ -95,91 +92,14 @@ result = /obj/item/reagent_containers/food/snacks/eggplantparm subcategory = CAT_MISCFOOD -/datum/crafting_recipe/food/baguette - name = "Baguette" +/datum/crafting_recipe/food/loadedbakedpotato + name = "Loaded baked potato" time = 40 - reqs = list(/datum/reagent/consumable/sodiumchloride = 1, - /datum/reagent/consumable/blackpepper = 1, - /obj/item/reagent_containers/food/snacks/pastrybase = 2 - ) - result = /obj/item/reagent_containers/food/snacks/baguette - subcategory = CAT_MISCFOOD - -////////////////////////////////////////////////TOAST//////////////////////////////////////////////// - -/datum/crafting_recipe/food/slimetoast - name = "Slime toast" reqs = list( - /datum/reagent/toxin/slimejelly = 5, - /obj/item/reagent_containers/food/snacks/breadslice/plain = 1 + /obj/item/reagent_containers/food/snacks/grown/potato = 1, + /obj/item/reagent_containers/food/snacks/cheesewedge = 1 ) - result = /obj/item/reagent_containers/food/snacks/jelliedtoast/slime - subcategory = CAT_MISCFOOD - -/datum/crafting_recipe/food/jelliedtoast - name = "Jellied toast" - reqs = list( - /datum/reagent/consumable/cherryjelly = 5, - /obj/item/reagent_containers/food/snacks/breadslice/plain = 1 - ) - result = /obj/item/reagent_containers/food/snacks/jelliedtoast/cherry - subcategory = CAT_MISCFOOD - -/datum/crafting_recipe/food/peanutbuttertoast - name = "Peanut butter toast" - reqs = list( - /datum/reagent/consumable/peanut_butter = 5, - /obj/item/reagent_containers/food/snacks/breadslice/plain = 1 - ) - result = /obj/item/reagent_containers/food/snacks/peanut_buttertoast - subcategory = CAT_MISCFOOD - -/datum/crafting_recipe/food/twobread - name = "Two bread" - reqs = list( - /datum/reagent/consumable/ethanol/wine = 5, - /obj/item/reagent_containers/food/snacks/breadslice/plain = 2 - ) - result = /obj/item/reagent_containers/food/snacks/twobread - subcategory = CAT_MISCFOOD - -/datum/crafting_recipe/food/burrito - name ="Burrito" - reqs = list( - /obj/item/reagent_containers/food/snacks/tortilla = 1, - /obj/item/reagent_containers/food/snacks/grown/soybeans = 2 - ) - result = /obj/item/reagent_containers/food/snacks/burrito - subcategory = CAT_MISCFOOD - -/datum/crafting_recipe/food/cheesyburrito - name ="Cheesy burrito" - reqs = list( - /obj/item/reagent_containers/food/snacks/tortilla = 1, - /obj/item/reagent_containers/food/snacks/cheesewedge = 2, - /obj/item/reagent_containers/food/snacks/grown/soybeans = 1 - ) - result = /obj/item/reagent_containers/food/snacks/cheesyburrito - subcategory = CAT_MISCFOOD - -/datum/crafting_recipe/food/carneburrito - name ="Carne de asada burrito" - reqs = list( - /obj/item/reagent_containers/food/snacks/tortilla = 1, - /obj/item/reagent_containers/food/snacks/meat/cutlet = 2, - /obj/item/reagent_containers/food/snacks/grown/soybeans = 1 - ) - result = /obj/item/reagent_containers/food/snacks/carneburrito - subcategory = CAT_MISCFOOD - -/datum/crafting_recipe/food/fuegoburrito - name ="Fuego plasma burrito" - reqs = list( - /obj/item/reagent_containers/food/snacks/tortilla = 1, - /obj/item/reagent_containers/food/snacks/grown/ghost_chili = 2, - /obj/item/reagent_containers/food/snacks/grown/soybeans = 1 - ) - result = /obj/item/reagent_containers/food/snacks/fuegoburrito + result = /obj/item/reagent_containers/food/snacks/loadedbakedpotato subcategory = CAT_MISCFOOD /datum/crafting_recipe/food/melonfruitbowl @@ -195,35 +115,6 @@ result = /obj/item/reagent_containers/food/snacks/melonfruitbowl subcategory = CAT_MISCFOOD -/datum/crafting_recipe/food/nachos - name ="Nachos" - reqs = list( - /datum/reagent/consumable/sodiumchloride = 1, - /obj/item/reagent_containers/food/snacks/tortilla = 1 - ) - result = /obj/item/reagent_containers/food/snacks/nachos - subcategory = CAT_MISCFOOD - -/datum/crafting_recipe/food/cheesynachos - name ="Cheesy nachos" - reqs = list( - /datum/reagent/consumable/sodiumchloride = 1, - /obj/item/reagent_containers/food/snacks/cheesewedge = 1, - /obj/item/reagent_containers/food/snacks/tortilla = 1 - ) - result = /obj/item/reagent_containers/food/snacks/cheesynachos - subcategory = CAT_MISCFOOD - -/datum/crafting_recipe/food/cubannachos - name ="Cuban nachos" - reqs = list( - /datum/reagent/consumable/ketchup = 5, - /obj/item/reagent_containers/food/snacks/grown/chili = 2, - /obj/item/reagent_containers/food/snacks/tortilla = 1 - ) - result = /obj/item/reagent_containers/food/snacks/cubannachos - subcategory = CAT_MISCFOOD - /datum/crafting_recipe/food/melonkeg name ="Melon keg" reqs = list( @@ -235,16 +126,6 @@ result = /obj/item/reagent_containers/food/snacks/melonkeg subcategory = CAT_MISCFOOD -/datum/crafting_recipe/food/honeybar - name = "Honey nut bar" - reqs = list( - /obj/item/reagent_containers/food/snacks/grown/oat = 1, - /datum/reagent/consumable/honey = 5 - ) - result = /obj/item/reagent_containers/food/snacks/honeybar - subcategory = CAT_MISCFOOD - - /datum/crafting_recipe/food/stuffedlegion name = "Stuffed legion" time = 40 @@ -257,7 +138,6 @@ result = /obj/item/reagent_containers/food/snacks/stuffedlegion subcategory = CAT_MISCFOOD - /datum/crafting_recipe/lizardwine //not a subtype of /datum/crafting_recipe/food due to a bug where the resulting bottle would contain 100u of lizardwine and 100u of ethanol. name = "Lizard wine" time = 40 @@ -269,7 +149,6 @@ category = CAT_FOOD subcategory = CAT_MISCFOOD - /datum/crafting_recipe/food/powercrepe name = "Powercrepe" time = 40 @@ -283,36 +162,6 @@ result = /obj/item/reagent_containers/food/snacks/powercrepe subcategory = CAT_MISCFOOD -/datum/crafting_recipe/food/taco - name ="Classic Taco" - reqs = list( - /obj/item/reagent_containers/food/snacks/tortilla = 1, - /obj/item/reagent_containers/food/snacks/cheesewedge = 1, - /obj/item/reagent_containers/food/snacks/meat/cutlet = 1, - /obj/item/reagent_containers/food/snacks/grown/cabbage = 1, - ) - result = /obj/item/reagent_containers/food/snacks/taco - subcategory = CAT_MISCFOOD - -/datum/crafting_recipe/food/tacoplain - name ="Plain Taco" - reqs = list( - /obj/item/reagent_containers/food/snacks/tortilla = 1, - /obj/item/reagent_containers/food/snacks/cheesewedge = 1, - /obj/item/reagent_containers/food/snacks/meat/cutlet = 1, - ) - result = /obj/item/reagent_containers/food/snacks/taco/plain - subcategory = CAT_MISCFOOD - -/datum/crafting_recipe/food/branrequests - name = "Bran Requests Cereal" - reqs = list( - /obj/item/reagent_containers/food/snacks/grown/wheat = 1, - /obj/item/reagent_containers/food/snacks/no_raisin = 1, - ) - result = /obj/item/reagent_containers/food/snacks/branrequests - subcategory = CAT_MISCFOOD - /datum/crafting_recipe/food/ricepudding name = "Rice pudding" reqs = list( @@ -322,22 +171,3 @@ ) result = /obj/item/reagent_containers/food/snacks/salad/ricepudding subcategory = CAT_MISCFOOD - -/datum/crafting_recipe/food/riceball - name = "Onigiri" - reqs = list( - /datum/reagent/consumable/soysauce = 1, - /obj/item/reagent_containers/food/snacks/grown/kudzupod = 1, - /obj/item/reagent_containers/food/snacks/salad/boiledrice = 1 - ) - result = /obj/item/reagent_containers/food/snacks/riceball - subcategory = CAT_MISCFOOD - -/datum/crafting_recipe/food/chocolatestrawberry - name = "Chocolate Strawberry" - reqs = list( - /obj/item/reagent_containers/food/snacks/chocolatebar = 1, - /obj/item/reagent_containers/food/snacks/grown/strawberry = 1 - ) - result = /obj/item/reagent_containers/food/snacks/chocolatestrawberry - subcategory = CAT_MISCFOOD \ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm index 62b8509eb1..8a393476a2 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm @@ -1,259 +1,108 @@ // see code/module/crafting/table.dm -////////////////////////////////////////////////DONUTS//////////////////////////////////////////////// +////////////////////////////////////////////////MUFFINS//////////////////////////////////////////////// -/datum/crafting_recipe/food/donut +/datum/crafting_recipe/food/muffin time = 15 - name = "Donut" + name = "Muffin" reqs = list( - /datum/reagent/consumable/sugar = 1, + /datum/reagent/consumable/milk = 5, /obj/item/reagent_containers/food/snacks/pastrybase = 1 ) - result = /obj/item/reagent_containers/food/snacks/donut/plain + result = /obj/item/reagent_containers/food/snacks/muffin subcategory = CAT_PASTRY -/datum/crafting_recipe/food/donut/chaos - name = "Chaos donut" +/datum/crafting_recipe/food/berrymuffin + name = "Berry muffin" reqs = list( - /datum/reagent/consumable/frostoil = 5, - /datum/reagent/consumable/capsaicin = 5, - /obj/item/reagent_containers/food/snacks/pastrybase = 1 + /datum/reagent/consumable/milk = 5, + /obj/item/reagent_containers/food/snacks/pastrybase = 1, + /obj/item/reagent_containers/food/snacks/grown/berries = 1 ) - result = /obj/item/reagent_containers/food/snacks/donut/chaos - -datum/crafting_recipe/food/donut/meat - time = 15 - name = "Meat donut" - reqs = list( - /obj/item/reagent_containers/food/snacks/meat/slab = 1, - /obj/item/reagent_containers/food/snacks/pastrybase = 1 - ) - result = /obj/item/reagent_containers/food/snacks/donut/meat - -/datum/crafting_recipe/food/donut/jelly - name = "Jelly donut" - reqs = list( - /datum/reagent/consumable/berryjuice = 5, - /obj/item/reagent_containers/food/snacks/pastrybase = 1 - ) - result = /obj/item/reagent_containers/food/snacks/donut/jelly/plain - -/datum/crafting_recipe/food/donut/slimejelly - name = "Slime jelly donut" - reqs = list( - /datum/reagent/toxin/slimejelly = 5, - /obj/item/reagent_containers/food/snacks/pastrybase = 1 - ) - result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain - -/datum/crafting_recipe/food/donut/glaze - time = 15 - name = "glaze donut" - reqs = list( - /datum/reagent/consumable/sugar = 10, - /obj/item/reagent_containers/food/snacks/pastrybase = 1 - ) - result = /obj/item/reagent_containers/food/snacks/donut/glaze + result = /obj/item/reagent_containers/food/snacks/muffin/berry subcategory = CAT_PASTRY -/datum/crafting_recipe/food/donut/berry - name = "Berry Donut" +/datum/crafting_recipe/food/booberrymuffin + name = "Booberry muffin" reqs = list( - /datum/reagent/consumable/berryjuice = 3, - /obj/item/reagent_containers/food/snacks/donut/plain = 1 + /datum/reagent/consumable/milk = 5, + /obj/item/reagent_containers/food/snacks/pastrybase = 1, + /obj/item/reagent_containers/food/snacks/grown/berries = 1, + /obj/item/ectoplasm = 1 ) - result = /obj/item/reagent_containers/food/snacks/donut/berry + result = /obj/item/reagent_containers/food/snacks/muffin/booberry + subcategory = CAT_PASTRY -/datum/crafting_recipe/food/donut/trumpet - name = "Spaceman's Donut" +/datum/crafting_recipe/food/poppymuffin + name = "Poppy muffin" reqs = list( - /datum/reagent/medicine/polypyr = 3, - /obj/item/reagent_containers/food/snacks/donut/plain = 1 + /datum/reagent/consumable/milk = 5, + /obj/item/reagent_containers/food/snacks/pastrybase = 1, + /obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 1, + /obj/item/seeds/poppy = 1 ) + result = /obj/item/reagent_containers/food/snacks/muffin/poppy + subcategory = CAT_PASTRY - result = /obj/item/reagent_containers/food/snacks/donut/trumpet +////////////////////////////////////////////CUPCAKES//////////////////////////////////////////// -/datum/crafting_recipe/food/donut/apple - name = "Apple Donut" +/datum/crafting_recipe/food/cherrycupcake + name = "Cherry cupcake" reqs = list( - /datum/reagent/consumable/applejuice = 3, - /obj/item/reagent_containers/food/snacks/donut/plain = 1 + /obj/item/reagent_containers/food/snacks/pastrybase = 1, + /obj/item/reagent_containers/food/snacks/grown/cherries = 1 ) - result = /obj/item/reagent_containers/food/snacks/donut/apple + result = /obj/item/reagent_containers/food/snacks/cherrycupcake + subcategory = CAT_PASTRY -/datum/crafting_recipe/food/donut/caramel - name = "Caramel Donut" +/datum/crafting_recipe/food/bluecherrycupcake + name = "Blue cherry cupcake" reqs = list( - /datum/reagent/consumable/caramel = 3, - /obj/item/reagent_containers/food/snacks/donut/plain = 1 + /obj/item/reagent_containers/food/snacks/pastrybase = 1, + /obj/item/reagent_containers/food/snacks/grown/bluecherries = 1 ) - result = /obj/item/reagent_containers/food/snacks/donut/caramel + result = /obj/item/reagent_containers/food/snacks/bluecherrycupcake + subcategory = CAT_PASTRY -/datum/crafting_recipe/food/donut/choco - name = "Chocolate Donut" +/datum/crafting_recipe/food/strawberrycupcake + name = "Strawberry cherry cupcake" reqs = list( - /obj/item/reagent_containers/food/snacks/chocolatebar = 1, - /obj/item/reagent_containers/food/snacks/donut/plain = 1 + /obj/item/reagent_containers/food/snacks/pastrybase = 1, + /obj/item/reagent_containers/food/snacks/grown/strawberry = 1 ) - result = /obj/item/reagent_containers/food/snacks/donut/choco + result = /obj/item/reagent_containers/food/snacks/strawberrycupcake + subcategory = CAT_PASTRY -/datum/crafting_recipe/food/donut/blumpkin - name = "Blumpkin Donut" +////////////////////////////////////////////COOKIES//////////////////////////////////////////// + +/datum/crafting_recipe/food/raisincookie + name = "Raisin cookie" reqs = list( - /datum/reagent/consumable/blumpkinjuice = 3, - /obj/item/reagent_containers/food/snacks/donut/plain = 1 + /obj/item/reagent_containers/food/snacks/no_raisin = 1, + /obj/item/reagent_containers/food/snacks/pastrybase = 1, + /obj/item/reagent_containers/food/snacks/grown/oat = 1 ) - result = /obj/item/reagent_containers/food/snacks/donut/blumpkin + result = /obj/item/reagent_containers/food/snacks/raisincookie + subcategory = CAT_PASTRY -/datum/crafting_recipe/food/donut/bungo - name = "Bungo Donut" +/datum/crafting_recipe/food/oatmealcookie + name = "Oatmeal cookie" reqs = list( - /datum/reagent/consumable/bungojuice = 3, - /obj/item/reagent_containers/food/snacks/donut/plain = 1 + /obj/item/reagent_containers/food/snacks/pastrybase = 1, + /obj/item/reagent_containers/food/snacks/grown/oat = 1 ) - result = /obj/item/reagent_containers/food/snacks/donut/bungo + result = /obj/item/reagent_containers/food/snacks/oatmealcookie + subcategory = CAT_PASTRY -/datum/crafting_recipe/food/donut/matcha - name = "Matcha Donut" +/datum/crafting_recipe/food/sugarcookie + time = 15 + name = "Sugar cookie" reqs = list( - /datum/reagent/toxin/teapowder = 3, - /obj/item/reagent_containers/food/snacks/donut/plain = 1 + /datum/reagent/consumable/sugar = 5, + /obj/item/reagent_containers/food/snacks/pastrybase = 1 ) - result = /obj/item/reagent_containers/food/snacks/donut/matcha - -////////////////////////////////////////////////////JELLY DONUTS/////////////////////////////////////////////////////// - -/datum/crafting_recipe/food/donut/jelly/berry - name = "Berry Jelly Donut" - reqs = list( - /datum/reagent/consumable/berryjuice = 3, - /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 - ) - result = /obj/item/reagent_containers/food/snacks/donut/jelly/berry - -/datum/crafting_recipe/food/donut/jelly/trumpet - name = "Spaceman's Jelly Donut" - reqs = list( - /datum/reagent/medicine/polypyr = 3, - /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 - ) - - result = /obj/item/reagent_containers/food/snacks/donut/jelly/trumpet - -/datum/crafting_recipe/food/donut/jelly/apple - name = "Apple Jelly Donut" - reqs = list( - /datum/reagent/consumable/applejuice = 3, - /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 - ) - result = /obj/item/reagent_containers/food/snacks/donut/jelly/apple - -/datum/crafting_recipe/food/donut/jelly/caramel - name = "Caramel Jelly Donut" - reqs = list( - /datum/reagent/consumable/caramel = 3, - /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 - ) - result = /obj/item/reagent_containers/food/snacks/donut/jelly/caramel - -/datum/crafting_recipe/food/donut/jelly/choco - name = "Chocolate Jelly Donut" - reqs = list( - /obj/item/reagent_containers/food/snacks/chocolatebar = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 - ) - result = /obj/item/reagent_containers/food/snacks/donut/jelly/choco - -/datum/crafting_recipe/food/donut/jelly/blumpkin - name = "Blumpkin Jelly Donut" - reqs = list( - /datum/reagent/consumable/blumpkinjuice = 3, - /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 - ) - result = /obj/item/reagent_containers/food/snacks/donut/jelly/blumpkin - -/datum/crafting_recipe/food/donut/jelly/bungo - name = "Bungo Jelly Donut" - reqs = list( - /datum/reagent/consumable/bungojuice = 3, - /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 - ) - result = /obj/item/reagent_containers/food/snacks/donut/jelly/bungo - -/datum/crafting_recipe/food/donut/jelly/matcha - name = "Matcha Jelly Donut" - reqs = list( - /datum/reagent/toxin/teapowder = 3, - /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 - ) - result = /obj/item/reagent_containers/food/snacks/donut/jelly/matcha - -////////////////////////////////////////////////////SLIME DONUTS/////////////////////////////////////////////////////// - -/datum/crafting_recipe/food/donut/slimejelly/berry - name = "Berry Slime Donut" - reqs = list( - /datum/reagent/consumable/berryjuice = 3, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 - ) - result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/berry - -/datum/crafting_recipe/food/donut/slimejelly/trumpet - name = "Spaceman's Slime Donut" - reqs = list( - /datum/reagent/medicine/polypyr = 3, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 - ) - - result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/trumpet - -/datum/crafting_recipe/food/donut/slimejelly/apple - name = "Apple Slime Donut" - reqs = list( - /datum/reagent/consumable/applejuice = 3, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 - ) - result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/apple - -/datum/crafting_recipe/food/donut/slimejelly/caramel - name = "Caramel Slime Donut" - reqs = list( - /datum/reagent/consumable/caramel = 3, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 - ) - result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/caramel - -/datum/crafting_recipe/food/donut/slimejelly/choco - name = "Chocolate Slime Donut" - reqs = list( - /obj/item/reagent_containers/food/snacks/chocolatebar = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 - ) - result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/choco - -/datum/crafting_recipe/food/donut/slimejelly/blumpkin - name = "Blumpkin Slime Donut" - reqs = list( - /datum/reagent/consumable/blumpkinjuice = 3, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 - ) - result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/blumpkin - -/datum/crafting_recipe/food/donut/slimejelly/bungo - name = "Bungo Slime Donut" - reqs = list( - /datum/reagent/consumable/bungojuice = 3, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 - ) - result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/bungo - -/datum/crafting_recipe/food/donut/slimejelly/matcha - name = "Matcha Slime Donut" - reqs = list( - /datum/reagent/toxin/teapowder = 3, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 - ) - result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/matcha + result = /obj/item/reagent_containers/food/snacks/sugarcookie + subcategory = CAT_PASTRY ////////////////////////////////////////////////WAFFLES AND PANCAKES//////////////////////////////////////////////// @@ -321,7 +170,6 @@ datum/crafting_recipe/food/donut/meat result = /obj/item/reagent_containers/food/snacks/pancakes/chocolatechip subcategory = CAT_PASTRY - ////////////////////////////////////////////////DONKPOCCKETS//////////////////////////////////////////////// /datum/crafting_recipe/food/donkpocket @@ -344,92 +192,26 @@ datum/crafting_recipe/food/donut/meat result = /obj/item/reagent_containers/food/snacks/dankpocket subcategory = CAT_PASTRY -////////////////////////////////////////////////MUFFINS//////////////////////////////////////////////// - -/datum/crafting_recipe/food/muffin - time = 15 - name = "Muffin" - reqs = list( - /datum/reagent/consumable/milk = 5, - /obj/item/reagent_containers/food/snacks/pastrybase = 1 - ) - result = /obj/item/reagent_containers/food/snacks/muffin - subcategory = CAT_PASTRY - -/datum/crafting_recipe/food/berrymuffin - name = "Berry muffin" - reqs = list( - /datum/reagent/consumable/milk = 5, - /obj/item/reagent_containers/food/snacks/pastrybase = 1, - /obj/item/reagent_containers/food/snacks/grown/berries = 1 - ) - result = /obj/item/reagent_containers/food/snacks/muffin/berry - subcategory = CAT_PASTRY - -/datum/crafting_recipe/food/booberrymuffin - name = "Booberry muffin" - reqs = list( - /datum/reagent/consumable/milk = 5, - /obj/item/reagent_containers/food/snacks/pastrybase = 1, - /obj/item/reagent_containers/food/snacks/grown/berries = 1, - /obj/item/ectoplasm = 1 - ) - result = /obj/item/reagent_containers/food/snacks/muffin/booberry - subcategory = CAT_PASTRY - -/datum/crafting_recipe/food/poppymuffin - name = "Poppy muffin" - reqs = list( - /datum/reagent/consumable/milk = 5, - /obj/item/reagent_containers/food/snacks/pastrybase = 1, - /obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 1, - /obj/item/seeds/poppy = 1 - ) - result = /obj/item/reagent_containers/food/snacks/muffin/poppy - subcategory = CAT_PASTRY - -/datum/crafting_recipe/food/chawanmushi - name = "Chawanmushi" - reqs = list( - /datum/reagent/water = 5, - /datum/reagent/consumable/soysauce = 5, - /obj/item/reagent_containers/food/snacks/boiledegg = 2, - /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 1 - ) - result = /obj/item/reagent_containers/food/snacks/chawanmushi - subcategory = CAT_PASTRY - ////////////////////////////////////////////OTHER//////////////////////////////////////////// -/datum/crafting_recipe/food/meatbun - name = "Meat bun" +/datum/crafting_recipe/food/chococornet + name = "Choco cornet" reqs = list( - /datum/reagent/consumable/soysauce = 5, - /obj/item/reagent_containers/food/snacks/bun = 1, - /obj/item/reagent_containers/food/snacks/faggot = 1, - /obj/item/reagent_containers/food/snacks/grown/cabbage = 1 + /datum/reagent/consumable/sodiumchloride = 1, + /obj/item/reagent_containers/food/snacks/pastrybase = 1, + /obj/item/reagent_containers/food/snacks/chocolatebar = 1 ) - result = /obj/item/reagent_containers/food/snacks/meatbun + result = /obj/item/reagent_containers/food/snacks/chococornet subcategory = CAT_PASTRY -/datum/crafting_recipe/food/khachapuri - name = "Khachapuri" - reqs = list( - /datum/reagent/consumable/eggyolk = 5, - /obj/item/reagent_containers/food/snacks/cheesewedge = 1, - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1 - ) - result = /obj/item/reagent_containers/food/snacks/khachapuri - subcategory = CAT_PASTRY - -/datum/crafting_recipe/food/sugarcookie +/datum/crafting_recipe/food/cracker time = 15 - name = "Sugar cookie" + name = "Cracker" reqs = list( - /datum/reagent/consumable/sugar = 5, - /obj/item/reagent_containers/food/snacks/pastrybase = 1 + /datum/reagent/consumable/sodiumchloride = 1, + /obj/item/reagent_containers/food/snacks/pastrybase = 1, ) - result = /obj/item/reagent_containers/food/snacks/sugarcookie + result = /obj/item/reagent_containers/food/snacks/cracker subcategory = CAT_PASTRY /datum/crafting_recipe/food/fortunecookie @@ -445,6 +227,34 @@ datum/crafting_recipe/food/donut/meat result = /obj/item/reagent_containers/food/snacks/fortunecookie subcategory = CAT_PASTRY +/datum/crafting_recipe/food/honeybun + name = "Honey bun" + reqs = list( + /obj/item/reagent_containers/food/snacks/pastrybase = 1, + /datum/reagent/consumable/honey = 5 + ) + result = /obj/item/reagent_containers/food/snacks/honeybun + subcategory = CAT_PASTRY + +/datum/crafting_recipe/food/hotcrossbun + name = "Hot-Cross Bun" + reqs = list( + /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /datum/reagent/consumable/sugar = 1 + ) + result = /obj/item/reagent_containers/food/snacks/hotcrossbun + subcategory = CAT_PASTRY + +/datum/crafting_recipe/food/mammi + name = "Mammi" + reqs = list( + /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /obj/item/reagent_containers/food/snacks/chocolatebar = 1, + /datum/reagent/consumable/milk = 5 + ) + result = /obj/item/reagent_containers/food/snacks/soup/mammi + subcategory = CAT_PASTRY + /datum/crafting_recipe/food/poppypretzel time = 15 name = "Poppy pretzel" @@ -465,78 +275,3 @@ datum/crafting_recipe/food/donut/meat result = /obj/item/reagent_containers/food/snacks/plumphelmetbiscuit subcategory = CAT_PASTRY -/datum/crafting_recipe/food/cracker - time = 15 - name = "Cracker" - reqs = list( - /datum/reagent/consumable/sodiumchloride = 1, - /obj/item/reagent_containers/food/snacks/pastrybase = 1, - ) - result = /obj/item/reagent_containers/food/snacks/cracker - subcategory = CAT_PASTRY - -/datum/crafting_recipe/food/chococornet - name = "Choco cornet" - reqs = list( - /datum/reagent/consumable/sodiumchloride = 1, - /obj/item/reagent_containers/food/snacks/pastrybase = 1, - /obj/item/reagent_containers/food/snacks/chocolatebar = 1 - ) - result = /obj/item/reagent_containers/food/snacks/chococornet - subcategory = CAT_PASTRY - -/datum/crafting_recipe/food/oatmealcookie - name = "Oatmeal cookie" - reqs = list( - /obj/item/reagent_containers/food/snacks/pastrybase = 1, - /obj/item/reagent_containers/food/snacks/grown/oat = 1 - ) - result = /obj/item/reagent_containers/food/snacks/oatmealcookie - subcategory = CAT_PASTRY - - -/datum/crafting_recipe/food/raisincookie - name = "Raisin cookie" - reqs = list( - /obj/item/reagent_containers/food/snacks/no_raisin = 1, - /obj/item/reagent_containers/food/snacks/pastrybase = 1, - /obj/item/reagent_containers/food/snacks/grown/oat = 1 - ) - result = /obj/item/reagent_containers/food/snacks/raisincookie - subcategory = CAT_PASTRY - -/datum/crafting_recipe/food/cherrycupcake - name = "Cherry cupcake" - reqs = list( - /obj/item/reagent_containers/food/snacks/pastrybase = 1, - /obj/item/reagent_containers/food/snacks/grown/cherries = 1 - ) - result = /obj/item/reagent_containers/food/snacks/cherrycupcake - subcategory = CAT_PASTRY - -/datum/crafting_recipe/food/bluecherrycupcake - name = "Blue cherry cupcake" - reqs = list( - /obj/item/reagent_containers/food/snacks/pastrybase = 1, - /obj/item/reagent_containers/food/snacks/grown/bluecherries = 1 - ) - result = /obj/item/reagent_containers/food/snacks/bluecherrycupcake - subcategory = CAT_PASTRY - -/datum/crafting_recipe/food/strawberrycupcake - name = "Strawberry cherry cupcake" - reqs = list( - /obj/item/reagent_containers/food/snacks/pastrybase = 1, - /obj/item/reagent_containers/food/snacks/grown/strawberry = 1 - ) - result = /obj/item/reagent_containers/food/snacks/strawberrycupcake - subcategory = CAT_PASTRY - -/datum/crafting_recipe/food/honeybun - name = "Honey bun" - reqs = list( - /obj/item/reagent_containers/food/snacks/pastrybase = 1, - /datum/reagent/consumable/honey = 5 - ) - result = /obj/item/reagent_containers/food/snacks/honeybun - subcategory = CAT_PASTRY \ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pies_sweets.dm similarity index 74% rename from code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm rename to code/modules/food_and_drinks/recipes/tablecraft/recipes_pies_sweets.dm index b5bed4d5fc..52becf81df 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pies_sweets.dm @@ -1,7 +1,16 @@ // see code/module/crafting/table.dm -////////////////////////////////////////////////PIES//////////////////////////////////////////////// +//////////////////////////////////FRUITS///////////////////////////////////////// + +/datum/crafting_recipe/food/applepie + name = "Apple pie" + reqs = list( + /obj/item/reagent_containers/food/snacks/pie/plain = 1, + /obj/item/reagent_containers/food/snacks/grown/apple = 1 + ) + result = /obj/item/reagent_containers/food/snacks/pie/applepie + subcategory = CAT_PIE /datum/crafting_recipe/food/bananacreampie name = "Banana cream pie" @@ -13,33 +22,13 @@ result = /obj/item/reagent_containers/food/snacks/pie/cream subcategory = CAT_PIE -/datum/crafting_recipe/food/meatpie - name = "Meat pie" - reqs = list( - /datum/reagent/consumable/blackpepper = 1, - /datum/reagent/consumable/sodiumchloride = 1, - /obj/item/reagent_containers/food/snacks/pie/plain = 1, - /obj/item/reagent_containers/food/snacks/meat/steak/plain = 1 - ) - result = /obj/item/reagent_containers/food/snacks/pie/meatpie - subcategory = CAT_PIE - -/datum/crafting_recipe/food/tofupie - name = "Tofu pie" +/datum/crafting_recipe/food/berryclafoutis + name = "Berry clafoutis" reqs = list( /obj/item/reagent_containers/food/snacks/pie/plain = 1, - /obj/item/reagent_containers/food/snacks/tofu = 1 + /obj/item/reagent_containers/food/snacks/grown/berries = 1 ) - result = /obj/item/reagent_containers/food/snacks/pie/tofupie - subcategory = CAT_PIE - -/datum/crafting_recipe/food/xenopie - name = "Xeno pie" - reqs = list( - /obj/item/reagent_containers/food/snacks/pie/plain = 1, - /obj/item/reagent_containers/food/snacks/meat/cutlet/xeno = 1 - ) - result = /obj/item/reagent_containers/food/snacks/pie/xemeatpie + result = /obj/item/reagent_containers/food/snacks/pie/berryclafoutis subcategory = CAT_PIE /datum/crafting_recipe/food/cherrypie @@ -51,13 +40,53 @@ result = /obj/item/reagent_containers/food/snacks/pie/cherrypie subcategory = CAT_PIE -/datum/crafting_recipe/food/berryclafoutis - name = "Berry clafoutis" +/datum/crafting_recipe/food/frostypie + name = "Frosty pie" reqs = list( /obj/item/reagent_containers/food/snacks/pie/plain = 1, - /obj/item/reagent_containers/food/snacks/grown/berries = 1 + /obj/item/reagent_containers/food/snacks/grown/bluecherries = 1 ) - result = /obj/item/reagent_containers/food/snacks/pie/berryclafoutis + result = /obj/item/reagent_containers/food/snacks/pie/frostypie + subcategory = CAT_PIE + +/datum/crafting_recipe/food/grapetart + name = "Grape tart" + reqs = list( + /datum/reagent/consumable/milk = 5, + /datum/reagent/consumable/sugar = 5, + /obj/item/reagent_containers/food/snacks/pie/plain = 1, + /obj/item/reagent_containers/food/snacks/grown/grapes = 3 + ) + result = /obj/item/reagent_containers/food/snacks/pie/grapetart + subcategory = CAT_PIE + +/datum/crafting_recipe/food/peachpie + name = "Peach Pie" + reqs = list( + /obj/item/reagent_containers/food/snacks/pie/plain = 1, + /obj/item/reagent_containers/food/snacks/grown/peach = 3 + ) + result = /obj/item/reagent_containers/food/snacks/pie/peachpie + subcategory = CAT_PIE + +/datum/crafting_recipe/food/strawberrypie + name = "Strawberry pie" + reqs = list( + /obj/item/reagent_containers/food/snacks/pie/plain = 1, + /obj/item/reagent_containers/food/snacks/grown/strawberry = 1 + ) + result = /obj/item/reagent_containers/food/snacks/pie/strawberrypie + subcategory = CAT_PIE + +//////////OTHER PIES///////// + +/datum/crafting_recipe/food/amanitapie + name = "Amanita pie" + reqs = list( + /obj/item/reagent_containers/food/snacks/pie/plain = 1, + /obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 1 + ) + result = /obj/item/reagent_containers/food/snacks/pie/amanita_pie subcategory = CAT_PIE /datum/crafting_recipe/food/bearypie @@ -70,64 +99,14 @@ result = /obj/item/reagent_containers/food/snacks/pie/bearypie subcategory = CAT_PIE -/datum/crafting_recipe/food/amanitapie - name = "Amanita pie" +/datum/crafting_recipe/food/baklava + name = "Baklava pie" reqs = list( - /obj/item/reagent_containers/food/snacks/pie/plain = 1, - /obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 1 + /obj/item/reagent_containers/food/snacks/butter = 1, + /obj/item/reagent_containers/food/snacks/tortilla = 4, //Layers + /obj/item/seeds/wheat/oat = 3 ) - result = /obj/item/reagent_containers/food/snacks/pie/amanita_pie - subcategory = CAT_PIE - -/datum/crafting_recipe/food/plumppie - name = "Plump pie" - reqs = list( - /obj/item/reagent_containers/food/snacks/pie/plain = 1, - /obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet = 1 - ) - result = /obj/item/reagent_containers/food/snacks/pie/plump_pie - subcategory = CAT_PIE - -/datum/crafting_recipe/food/applepie - name = "Apple pie" - reqs = list( - /obj/item/reagent_containers/food/snacks/pie/plain = 1, - /obj/item/reagent_containers/food/snacks/grown/apple = 1 - ) - result = /obj/item/reagent_containers/food/snacks/pie/applepie - subcategory = CAT_PIE - -/datum/crafting_recipe/food/pumpkinpie - name = "Pumpkin pie" - reqs = list( - /datum/reagent/consumable/milk = 5, - /datum/reagent/consumable/sugar = 5, - /obj/item/reagent_containers/food/snacks/pie/plain = 1, - /obj/item/reagent_containers/food/snacks/grown/pumpkin = 1 - ) - result = /obj/item/reagent_containers/food/snacks/pie/pumpkinpie - subcategory = CAT_PIE - -/datum/crafting_recipe/food/goldenappletart - name = "Golden apple tart" - reqs = list( - /datum/reagent/consumable/milk = 5, - /datum/reagent/consumable/sugar = 5, - /obj/item/reagent_containers/food/snacks/pie/plain = 1, - /obj/item/reagent_containers/food/snacks/grown/apple/gold = 1 - ) - result = /obj/item/reagent_containers/food/snacks/pie/appletart - subcategory = CAT_PIE - -/datum/crafting_recipe/food/grapetart - name = "Grape tart" - reqs = list( - /datum/reagent/consumable/milk = 5, - /datum/reagent/consumable/sugar = 5, - /obj/item/reagent_containers/food/snacks/pie/plain = 1, - /obj/item/reagent_containers/food/snacks/grown/grapes = 3 - ) - result = /obj/item/reagent_containers/food/snacks/pie/grapetart + result = /obj/item/reagent_containers/food/snacks/pie/baklava subcategory = CAT_PIE /datum/crafting_recipe/food/blumpkinpie @@ -151,32 +130,66 @@ result = /obj/item/reagent_containers/food/snacks/pie/dulcedebatata subcategory = CAT_PIE -/datum/crafting_recipe/food/frostypie - name = "Frosty pie" +/datum/crafting_recipe/food/meatpie + name = "Meat pie" reqs = list( + /datum/reagent/consumable/blackpepper = 1, + /datum/reagent/consumable/sodiumchloride = 1, /obj/item/reagent_containers/food/snacks/pie/plain = 1, - /obj/item/reagent_containers/food/snacks/grown/bluecherries = 1 + /obj/item/reagent_containers/food/snacks/meat/steak/plain = 1 ) - result = /obj/item/reagent_containers/food/snacks/pie/frostypie + result = /obj/item/reagent_containers/food/snacks/pie/meatpie subcategory = CAT_PIE -/datum/crafting_recipe/food/strawberrypie - name = "Strawberry pie" +/datum/crafting_recipe/food/plumppie + name = "Plump pie" reqs = list( /obj/item/reagent_containers/food/snacks/pie/plain = 1, - /obj/item/reagent_containers/food/snacks/grown/strawberry = 1 + /obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet = 1 ) - result = /obj/item/reagent_containers/food/snacks/pie/strawberrypie + result = /obj/item/reagent_containers/food/snacks/pie/plump_pie subcategory = CAT_PIE -/datum/crafting_recipe/food/baklava - name = "Baklava pie" +/datum/crafting_recipe/food/pumpkinpie + name = "Pumpkin pie" reqs = list( - /obj/item/reagent_containers/food/snacks/butter = 1, - /obj/item/reagent_containers/food/snacks/tortilla = 4, //Layers - /obj/item/seeds/wheat/oat = 3 + /datum/reagent/consumable/milk = 5, + /datum/reagent/consumable/sugar = 5, + /obj/item/reagent_containers/food/snacks/pie/plain = 1, + /obj/item/reagent_containers/food/snacks/grown/pumpkin = 1 ) - result = /obj/item/reagent_containers/food/snacks/pie/baklava + result = /obj/item/reagent_containers/food/snacks/pie/pumpkinpie + subcategory = CAT_PIE + +/datum/crafting_recipe/food/tofupie + name = "Tofu pie" + reqs = list( + /obj/item/reagent_containers/food/snacks/pie/plain = 1, + /obj/item/reagent_containers/food/snacks/tofu = 1 + ) + result = /obj/item/reagent_containers/food/snacks/pie/tofupie + subcategory = CAT_PIE + +/datum/crafting_recipe/food/xenopie + name = "Xeno pie" + reqs = list( + /obj/item/reagent_containers/food/snacks/pie/plain = 1, + /obj/item/reagent_containers/food/snacks/meat/cutlet/xeno = 1 + ) + result = /obj/item/reagent_containers/food/snacks/pie/xemeatpie + subcategory = CAT_PIE + +//////////////TARTS////////////// + +/datum/crafting_recipe/food/goldenappletart + name = "Golden apple tart" + reqs = list( + /datum/reagent/consumable/milk = 5, + /datum/reagent/consumable/sugar = 5, + /obj/item/reagent_containers/food/snacks/pie/plain = 1, + /obj/item/reagent_containers/food/snacks/grown/apple/gold = 1 + ) + result = /obj/item/reagent_containers/food/snacks/pie/appletart subcategory = CAT_PIE /datum/crafting_recipe/food/mimetart @@ -216,11 +229,77 @@ result = /obj/item/reagent_containers/food/snacks/pie/cocolavatart subcategory = CAT_PIE -/datum/crafting_recipe/food/peachpie - name = "Peach Pie" +////////////////////////////////////////////SWEETS//////////////////////////////////////////// + +/datum/crafting_recipe/food/candiedapple + name = "Candied apple" + reqs = list(/datum/reagent/water = 5, + /datum/reagent/consumable/sugar = 5, + /obj/item/reagent_containers/food/snacks/grown/apple = 1 + ) + result = /obj/item/reagent_containers/food/snacks/candiedapple + subcategory = CAT_PIE + +/datum/crafting_recipe/food/chococoin + name = "Choco coin" reqs = list( - /obj/item/reagent_containers/food/snacks/pie/plain = 1, - /obj/item/reagent_containers/food/snacks/grown/peach = 3 - ) - result = /obj/item/reagent_containers/food/snacks/pie/peachpie + /obj/item/coin = 1, + /obj/item/reagent_containers/food/snacks/chocolatebar = 1, + ) + result = /obj/item/reagent_containers/food/snacks/chococoin + subcategory = CAT_PIE + +/datum/crafting_recipe/food/chocoorange + name = "Choco orange" + reqs = list( + /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 1, + /obj/item/reagent_containers/food/snacks/chocolatebar = 1, + ) + result = /obj/item/reagent_containers/food/snacks/chocoorange + subcategory = CAT_PIE + +/datum/crafting_recipe/food/chocolatebunny + name = "Chocolate bunny" + reqs = list( + /datum/reagent/consumable/sugar = 2, + /obj/item/reagent_containers/food/snacks/chocolatebar = 1 + ) + result = /obj/item/reagent_containers/food/snacks/chocolatebunny + subcategory = CAT_PIE + +/datum/crafting_recipe/food/chocolatestrawberry + name = "Chocolate Strawberry" + reqs = list( + /obj/item/reagent_containers/food/snacks/chocolatebar = 1, + /obj/item/reagent_containers/food/snacks/grown/strawberry = 1 + ) + result = /obj/item/reagent_containers/food/snacks/chocolatestrawberry + subcategory = CAT_PIE + +/datum/crafting_recipe/food/fudgedice + name = "Fudge dice" + reqs = list( + /obj/item/dice = 1, + /obj/item/reagent_containers/food/snacks/chocolatebar = 1, + ) + result = /obj/item/reagent_containers/food/snacks/fudgedice + subcategory = CAT_PIE + +/datum/crafting_recipe/food/honeybar + name = "Honey nut bar" + reqs = list( + /obj/item/reagent_containers/food/snacks/grown/oat = 1, + /datum/reagent/consumable/honey = 5 + ) + result = /obj/item/reagent_containers/food/snacks/honeybar + subcategory = CAT_PIE + +/datum/crafting_recipe/food/spiderlollipop + name = "Spider Lollipop" + reqs = list(/obj/item/stack/rods = 1, + /datum/reagent/consumable/sugar = 5, + /datum/reagent/water = 5, + /obj/item/reagent_containers/food/snacks/spiderling = 1 + ) + result = /obj/item/reagent_containers/food/snacks/spiderlollipop subcategory = CAT_PIE \ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm index 64447dd180..21112a4a4f 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm @@ -3,6 +3,40 @@ ////////////////////////////////////////////////PIZZA!!!//////////////////////////////////////////////// +/datum/crafting_recipe/food/dankpizza + name = "Dank pizza" + reqs = list( + /obj/item/reagent_containers/food/snacks/pizzabread = 1, + /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 3, + /obj/item/reagent_containers/food/snacks/cheesewedge = 1, + /obj/item/reagent_containers/food/snacks/grown/tomato = 1 + ) + result = /obj/item/reagent_containers/food/snacks/pizza/dank + subcategory = CAT_PIZZA + +/datum/crafting_recipe/food/donkpocketpizza + name = "Donkpocket pizza" + reqs = list( + /obj/item/reagent_containers/food/snacks/pizzabread = 1, + /obj/item/reagent_containers/food/snacks/donkpocket/warm = 3, + /obj/item/reagent_containers/food/snacks/cheesewedge = 1, + /obj/item/reagent_containers/food/snacks/grown/tomato = 1 + ) + result = /obj/item/reagent_containers/food/snacks/pizza/donkpocket + subcategory = CAT_PIZZA + +/datum/crafting_recipe/food/pineapplepizza + name = "Hawaiian pizza" + reqs = list( + /obj/item/reagent_containers/food/snacks/pizzabread = 1, + /obj/item/reagent_containers/food/snacks/meat/cutlet = 2, + /obj/item/reagent_containers/food/snacks/pineappleslice = 3, + /obj/item/reagent_containers/food/snacks/cheesewedge = 1, + /obj/item/reagent_containers/food/snacks/grown/tomato = 1 + ) + result = /obj/item/reagent_containers/food/snacks/pizza/pineapple + subcategory = CAT_PIZZA + /datum/crafting_recipe/food/margheritapizza name = "Margherita pizza" reqs = list( @@ -24,18 +58,6 @@ result = /obj/item/reagent_containers/food/snacks/pizza/meat subcategory = CAT_PIZZA -/datum/crafting_recipe/food/arnold - name = "Arnold pizza" - reqs = list( - /obj/item/reagent_containers/food/snacks/pizzabread = 1, - /obj/item/reagent_containers/food/snacks/meat/cutlet = 3, - /obj/item/ammo_casing/c9mm = 8, - /obj/item/reagent_containers/food/snacks/cheesewedge = 1, - /obj/item/reagent_containers/food/snacks/grown/tomato = 1 - ) - result = /obj/item/reagent_containers/food/snacks/pizza/arnold - subcategory = CAT_PIZZA - /datum/crafting_recipe/food/mushroompizza name = "Mushroom pizza" reqs = list( @@ -45,6 +67,17 @@ result = /obj/item/reagent_containers/food/snacks/pizza/mushroom subcategory = CAT_PIZZA +/datum/crafting_recipe/food/sassysagepizza + name = "Sassysage pizza" + reqs = list( + /obj/item/reagent_containers/food/snacks/pizzabread = 1, + /obj/item/reagent_containers/food/snacks/faggot = 3, + /obj/item/reagent_containers/food/snacks/cheesewedge = 1, + /obj/item/reagent_containers/food/snacks/grown/tomato = 1 + ) + result = /obj/item/reagent_containers/food/snacks/pizza/sassysage + subcategory = CAT_PIZZA + /datum/crafting_recipe/food/vegetablepizza name = "Vegetable pizza" reqs = list( @@ -57,50 +90,7 @@ result = /obj/item/reagent_containers/food/snacks/pizza/vegetable subcategory = CAT_PIZZA -/datum/crafting_recipe/food/donkpocketpizza - name = "Donkpocket pizza" - reqs = list( - /obj/item/reagent_containers/food/snacks/pizzabread = 1, - /obj/item/reagent_containers/food/snacks/donkpocket/warm = 3, - /obj/item/reagent_containers/food/snacks/cheesewedge = 1, - /obj/item/reagent_containers/food/snacks/grown/tomato = 1 - ) - result = /obj/item/reagent_containers/food/snacks/pizza/donkpocket - subcategory = CAT_PIZZA - -/datum/crafting_recipe/food/dankpizza - name = "Dank pizza" - reqs = list( - /obj/item/reagent_containers/food/snacks/pizzabread = 1, - /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 3, - /obj/item/reagent_containers/food/snacks/cheesewedge = 1, - /obj/item/reagent_containers/food/snacks/grown/tomato = 1 - ) - result = /obj/item/reagent_containers/food/snacks/pizza/dank - subcategory = CAT_PIZZA - -/datum/crafting_recipe/food/sassysagepizza - name = "Sassysage pizza" - reqs = list( - /obj/item/reagent_containers/food/snacks/pizzabread = 1, - /obj/item/reagent_containers/food/snacks/faggot = 3, - /obj/item/reagent_containers/food/snacks/cheesewedge = 1, - /obj/item/reagent_containers/food/snacks/grown/tomato = 1 - ) - result = /obj/item/reagent_containers/food/snacks/pizza/sassysage - subcategory = CAT_PIZZA - -/datum/crafting_recipe/food/pineapplepizza - name = "Hawaiian pizza" - reqs = list( - /obj/item/reagent_containers/food/snacks/pizzabread = 1, - /obj/item/reagent_containers/food/snacks/meat/cutlet = 2, - /obj/item/reagent_containers/food/snacks/pineappleslice = 3, - /obj/item/reagent_containers/food/snacks/cheesewedge = 1, - /obj/item/reagent_containers/food/snacks/grown/tomato = 1 - ) - result = /obj/item/reagent_containers/food/snacks/pizza/pineapple - subcategory = CAT_PIZZA +//////Special Pizzas///// /datum/crafting_recipe/food/pineapplepizza/anomaly name = "Anomaly Hawaiian pizza" @@ -120,3 +110,15 @@ tools = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WIRECUTTER) result = /obj/item/pizzabox/infinite subcategory = CAT_PIZZA + +/datum/crafting_recipe/food/arnold + name = "Arnold pizza" + reqs = list( + /obj/item/reagent_containers/food/snacks/pizzabread = 1, + /obj/item/reagent_containers/food/snacks/meat/cutlet = 3, + /obj/item/ammo_casing/c9mm = 8, + /obj/item/reagent_containers/food/snacks/cheesewedge = 1, + /obj/item/reagent_containers/food/snacks/grown/tomato = 1 + ) + result = /obj/item/reagent_containers/food/snacks/pizza/arnold + subcategory = CAT_PIZZA diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm index 39eeb7d936..0a44c4590e 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm @@ -3,16 +3,6 @@ ////////////////////////////////////////////////SALADS//////////////////////////////////////////////// -/datum/crafting_recipe/food/herbsalad - name = "Herb salad" - reqs = list( - /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 3, - /obj/item/reagent_containers/food/snacks/grown/apple = 1 - ) - result = /obj/item/reagent_containers/food/snacks/salad/herbsalad - subcategory = CAT_SALAD - /datum/crafting_recipe/food/aesirsalad name = "Aesir salad" reqs = list( @@ -23,38 +13,16 @@ result = /obj/item/reagent_containers/food/snacks/salad/aesirsalad subcategory = CAT_SALAD -/datum/crafting_recipe/food/validsalad - name = "Valid salad" +/datum/crafting_recipe/food/citrusdelight + name = "Citrus delight" reqs = list( /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 3, - /obj/item/reagent_containers/food/snacks/grown/potato = 1, - /obj/item/reagent_containers/food/snacks/faggot = 1 - ) - result = /obj/item/reagent_containers/food/snacks/salad/validsalad - subcategory = CAT_SALAD + /obj/item/reagent_containers/food/snacks/grown/citrus/lime = 1, + /obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 1, + /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 1 -/datum/crafting_recipe/food/monkeysdelight - name = "Monkeys delight" - reqs = list( - /datum/reagent/consumable/flour = 5, - /datum/reagent/consumable/sodiumchloride = 1, - /datum/reagent/consumable/blackpepper = 1, - /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/monkeycube = 1, - /obj/item/reagent_containers/food/snacks/grown/banana = 1 ) - result = /obj/item/reagent_containers/food/snacks/soup/monkeysdelight - subcategory = CAT_SALAD - -/datum/crafting_recipe/food/oatmeal - name = "Oatmeal" - reqs = list( - /datum/reagent/consumable/milk = 10, - /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/grown/oat = 1 - ) - result = /obj/item/reagent_containers/food/snacks/salad/oatmeal + result = /obj/item/reagent_containers/food/snacks/salad/citrusdelight subcategory = CAT_SALAD /datum/crafting_recipe/food/fruitsalad @@ -70,6 +38,16 @@ result = /obj/item/reagent_containers/food/snacks/salad/fruit subcategory = CAT_SALAD +/datum/crafting_recipe/food/herbsalad + name = "Herb salad" + reqs = list( + /obj/item/reagent_containers/glass/bowl = 1, + /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 3, + /obj/item/reagent_containers/food/snacks/grown/apple = 1 + ) + result = /obj/item/reagent_containers/food/snacks/salad/herbsalad + subcategory = CAT_SALAD + /datum/crafting_recipe/food/junglesalad name = "Jungle salad" reqs = list( @@ -83,14 +61,26 @@ result = /obj/item/reagent_containers/food/snacks/salad/jungle subcategory = CAT_SALAD -/datum/crafting_recipe/food/citrusdelight - name = "Citrus delight" +/datum/crafting_recipe/food/monkeysdelight + name = "Monkeys delight" + reqs = list( + /datum/reagent/consumable/flour = 5, + /datum/reagent/consumable/sodiumchloride = 1, + /datum/reagent/consumable/blackpepper = 1, + /obj/item/reagent_containers/glass/bowl = 1, + /obj/item/reagent_containers/food/snacks/monkeycube = 1, + /obj/item/reagent_containers/food/snacks/grown/banana = 1 + ) + result = /obj/item/reagent_containers/food/snacks/soup/monkeysdelight + subcategory = CAT_SALAD + +/datum/crafting_recipe/food/validsalad + name = "Valid salad" reqs = list( /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/grown/citrus/lime = 1, - /obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 1, - /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 1 - + /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 3, + /obj/item/reagent_containers/food/snacks/grown/potato = 1, + /obj/item/reagent_containers/food/snacks/faggot = 1 ) - result = /obj/item/reagent_containers/food/snacks/salad/citrusdelight + result = /obj/item/reagent_containers/food/snacks/salad/validsalad subcategory = CAT_SALAD diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm index 127b2cc238..d2ea1da50a 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm @@ -84,7 +84,6 @@ result = /obj/item/reagent_containers/food/snacks/peanutbutter_sandwich subcategory = CAT_SANDWICH - /datum/crafting_recipe/food/notasandwich name = "Not a sandwich" reqs = list( @@ -113,4 +112,4 @@ /obj/item/reagent_containers/food/snacks/sausage = 1 ) result = /obj/item/reagent_containers/food/snacks/hotdog - subcategory = CAT_SANDWICH + subcategory = CAT_SANDWICH //I don't agree with this. diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sushi.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.dm similarity index 87% rename from code/modules/food_and_drinks/recipes/tablecraft/recipes_sushi.dm rename to code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.dm index 9dbf1d684b..4fc12f0777 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sushi.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.dm @@ -1,4 +1,6 @@ -//////////////////////////Sushi Components/////////////////////// +// see code/module/crafting/table.dm + +///////////////////////Sushi Components/////////////////////////// /datum/crafting_recipe/food/sushi_rice name = "Sushi Rice" @@ -7,7 +9,7 @@ /datum/reagent/consumable/rice = 10 ) result = /obj/item/reagent_containers/food/snacks/sushi_rice - subcategory = CAT_FISH + subcategory = CAT_SEAFOOD /datum/crafting_recipe/food/sea_weed name = "Sea Weed Sheet" @@ -17,17 +19,7 @@ /obj/item/reagent_containers/food/snacks/grown/kudzupod = 1, ) result = /obj/item/reagent_containers/food/snacks/sea_weed - subcategory = CAT_FISH - -/datum/crafting_recipe/food/tuna_can - name = "Can of Tuna" - reqs = list( - /datum/reagent/consumable/sodiumchloride = 15, - /datum/reagent/consumable/cooking_oil = 5, - /obj/item/reagent_containers/food/snacks/carpmeat = 1, - ) - result = /obj/item/reagent_containers/food/snacks/tuna - subcategory = CAT_FISH + subcategory = CAT_SEAFOOD //////////////////////////Sushi///////////////////////////////// @@ -39,7 +31,7 @@ /obj/item/reagent_containers/food/snacks/carpmeat = 1 ) result = /obj/item/reagent_containers/food/snacks/sashimi - subcategory = CAT_FISH + subcategory = CAT_SEAFOOD /datum/crafting_recipe/food/riceball name = "Onigiri" @@ -49,7 +41,7 @@ /obj/item/reagent_containers/food/snacks/sushi_rice = 1 ) result = /obj/item/reagent_containers/food/snacks/riceball - subcategory = CAT_FISH + subcategory = CAT_SEAFOOD /datum/crafting_recipe/food/sushie_egg name = "Tobiko" @@ -59,7 +51,7 @@ /obj/item/reagent_containers/food/snacks/sea_weed = 2, ) result = /obj/item/reagent_containers/food/snacks/tobiko - subcategory = CAT_FISH + subcategory = CAT_SEAFOOD /datum/crafting_recipe/food/sushie_basic name = "Funa Hosomaki" @@ -70,7 +62,7 @@ /obj/item/reagent_containers/food/snacks/sea_weed = 3, ) result = /obj/item/reagent_containers/food/snacks/sushie_basic - subcategory = CAT_FISH + subcategory = CAT_SEAFOOD /datum/crafting_recipe/food/sushie_adv name = "Funa Nigiri" @@ -80,7 +72,7 @@ /obj/item/reagent_containers/food/snacks/carpmeat = 1 ) result = /obj/item/reagent_containers/food/snacks/sushie_adv - subcategory = CAT_FISH + subcategory = CAT_SEAFOOD /datum/crafting_recipe/food/sushie_pro name = "Well made Funa Nigiri" @@ -91,19 +83,19 @@ /obj/item/reagent_containers/food/snacks/sea_weed = 1 ) result = /obj/item/reagent_containers/food/snacks/sushie_pro - subcategory = CAT_FISH + subcategory = CAT_SEAFOOD -///////////////Gaijin junk///////////////////////////////////// +//////////////////////////////////////////////FISH/////////////////////////////////////////// -/datum/crafting_recipe/food/fishfingers - name = "Fish fingers" +/datum/crafting_recipe/food/tuna_can + name = "Can of Tuna" reqs = list( - /datum/reagent/consumable/flour = 5, - /obj/item/reagent_containers/food/snacks/bun = 1, - /obj/item/reagent_containers/food/snacks/carpmeat = 1 + /datum/reagent/consumable/sodiumchloride = 15, + /datum/reagent/consumable/cooking_oil = 5, + /obj/item/reagent_containers/food/snacks/carpmeat = 1, ) - result = /obj/item/reagent_containers/food/snacks/fishfingers - subcategory = CAT_FISH + result = /obj/item/reagent_containers/food/snacks/tuna + subcategory = CAT_SEAFOOD /datum/crafting_recipe/food/cubancarp name = "Cuban carp" @@ -113,7 +105,17 @@ /obj/item/reagent_containers/food/snacks/carpmeat = 1 ) result = /obj/item/reagent_containers/food/snacks/cubancarp - subcategory = CAT_FISH + subcategory = CAT_SEAFOOD + +/datum/crafting_recipe/food/fishfingers + name = "Fish fingers" + reqs = list( + /datum/reagent/consumable/flour = 5, + /obj/item/reagent_containers/food/snacks/bun = 1, + /obj/item/reagent_containers/food/snacks/carpmeat = 1 + ) + result = /obj/item/reagent_containers/food/snacks/fishfingers + subcategory = CAT_SEAFOOD /datum/crafting_recipe/food/fishandchips name = "Fish and chips" @@ -122,4 +124,4 @@ /obj/item/reagent_containers/food/snacks/carpmeat = 1 ) result = /obj/item/reagent_containers/food/snacks/fishandchips - subcategory = CAT_FISH \ No newline at end of file + subcategory = CAT_SEAFOOD \ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm index 76a5a64096..0c966faf33 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm @@ -3,71 +3,46 @@ ////////////////////////////////////////////////SOUP//////////////////////////////////////////////// -/datum/crafting_recipe/food/meatballsoup - name = "Meatball soup" +/datum/crafting_recipe/food/amanitajelly + name = "Amanita jelly" + reqs = list( + /datum/reagent/consumable/ethanol/vodka = 5, + /obj/item/reagent_containers/glass/bowl = 1, + /obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 3 + ) + result = /obj/item/reagent_containers/food/snacks/soup/amanitajelly + subcategory = CAT_SOUP + +/datum/crafting_recipe/food/beetsoup + name = "Beet soup" reqs = list( /datum/reagent/water = 10, /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/faggot = 1, - /obj/item/reagent_containers/food/snacks/grown/carrot = 1, - /obj/item/reagent_containers/food/snacks/grown/potato = 1 + /obj/item/reagent_containers/food/snacks/grown/whitebeet = 1, + /obj/item/reagent_containers/food/snacks/grown/cabbage = 1, ) - result = /obj/item/reagent_containers/food/snacks/soup/meatball + result = /obj/item/reagent_containers/food/snacks/soup/beet subcategory = CAT_SOUP -/datum/crafting_recipe/food/vegetablesoup - name = "Vegetable soup" +/datum/crafting_recipe/food/bloodsoup + name = "Blood soup" + reqs = list( + /datum/reagent/blood = 10, + /obj/item/reagent_containers/glass/bowl = 1, + /obj/item/reagent_containers/food/snacks/grown/tomato/blood = 2 + ) + result = /obj/item/reagent_containers/food/snacks/soup/blood + subcategory = CAT_SOUP + +/datum/crafting_recipe/food/clownstears + name = "Clowns tears" reqs = list( /datum/reagent/water = 10, /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/grown/carrot = 1, - /obj/item/reagent_containers/food/snacks/grown/corn = 1, - /obj/item/reagent_containers/food/snacks/grown/eggplant = 1, - /obj/item/reagent_containers/food/snacks/grown/potato = 1 + /obj/item/reagent_containers/food/snacks/grown/banana = 1, + /obj/item/stack/ore/bananium = 1 ) - result = /obj/item/reagent_containers/food/snacks/soup/vegetable - subcategory = CAT_SOUP - -/datum/crafting_recipe/food/nettlesoup - name = "Nettle soup" - reqs = list( - /datum/reagent/water = 10, - /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/grown/nettle = 1, - /obj/item/reagent_containers/food/snacks/grown/potato = 1, - /obj/item/reagent_containers/food/snacks/boiledegg = 1 - ) - result = /obj/item/reagent_containers/food/snacks/soup/nettle - subcategory = CAT_SOUP - -/datum/crafting_recipe/food/wingfangchu - name = "Wingfangchu" - reqs = list( - /obj/item/reagent_containers/glass/bowl = 1, - /datum/reagent/consumable/soysauce = 5, - /obj/item/reagent_containers/food/snacks/meat/cutlet/xeno = 2 - ) - result = /obj/item/reagent_containers/food/snacks/soup/wingfangchu - subcategory = CAT_SOUP - -/datum/crafting_recipe/food/wishsoup - name = "Wish soup" - reqs = list( - /datum/reagent/water = 20, - /obj/item/reagent_containers/glass/bowl = 1 - ) - result= /obj/item/reagent_containers/food/snacks/soup/wish - subcategory = CAT_SOUP - -/datum/crafting_recipe/food/hotchili - name = "Hot chili" - reqs = list( - /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/meat/cutlet = 2, - /obj/item/reagent_containers/food/snacks/grown/chili = 1, - /obj/item/reagent_containers/food/snacks/grown/tomato = 1 - ) - result = /obj/item/reagent_containers/food/snacks/soup/hotchili + result = /obj/item/reagent_containers/food/snacks/soup/clownstears subcategory = CAT_SOUP /datum/crafting_recipe/food/coldchili @@ -81,16 +56,6 @@ result = /obj/item/reagent_containers/food/snacks/soup/coldchili subcategory = CAT_SOUP -/datum/crafting_recipe/food/tomatosoup - name = "Tomato soup" - reqs = list( - /datum/reagent/water = 10, - /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/grown/tomato = 2 - ) - result = /obj/item/reagent_containers/food/snacks/soup/tomato - subcategory = CAT_SOUP - /datum/crafting_recipe/food/eyeballsoup name = "Eyeball soup" reqs = list( @@ -102,6 +67,28 @@ result = /obj/item/reagent_containers/food/snacks/soup/tomato/eyeball subcategory = CAT_SOUP +/datum/crafting_recipe/food/hotchili + name = "Hot chili" + reqs = list( + /obj/item/reagent_containers/glass/bowl = 1, + /obj/item/reagent_containers/food/snacks/meat/cutlet = 2, + /obj/item/reagent_containers/food/snacks/grown/chili = 1, + /obj/item/reagent_containers/food/snacks/grown/tomato = 1 + ) + result = /obj/item/reagent_containers/food/snacks/soup/hotchili + subcategory = CAT_SOUP + +/datum/crafting_recipe/food/meatballsoup + name = "Meatball soup" + reqs = list( + /datum/reagent/water = 10, + /obj/item/reagent_containers/glass/bowl = 1, + /obj/item/reagent_containers/food/snacks/faggot = 1, + /obj/item/reagent_containers/food/snacks/grown/carrot = 1, + /obj/item/reagent_containers/food/snacks/grown/potato = 1 + ) + result = /obj/item/reagent_containers/food/snacks/soup/meatball + subcategory = CAT_SOUP /datum/crafting_recipe/food/milosoup name = "Milo soup" @@ -114,35 +101,15 @@ result = /obj/item/reagent_containers/food/snacks/soup/milo subcategory = CAT_SOUP -/datum/crafting_recipe/food/bloodsoup - name = "Blood soup" +/datum/crafting_recipe/food/mushroomsoup + name = "Mushroom soup" reqs = list( - /datum/reagent/blood = 10, + /datum/reagent/consumable/milk = 5, + /datum/reagent/water = 5, /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/grown/tomato/blood = 2 + /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 1 ) - result = /obj/item/reagent_containers/food/snacks/soup/blood - subcategory = CAT_SOUP - -/datum/crafting_recipe/food/slimesoup - name = "Slime soup" - reqs = list( - /datum/reagent/water = 10, - /datum/reagent/toxin/slimejelly = 5, - /obj/item/reagent_containers/glass/bowl = 1 - ) - result = /obj/item/reagent_containers/food/snacks/soup/slime - subcategory = CAT_SOUP - -/datum/crafting_recipe/food/clownstears - name = "Clowns tears" - reqs = list( - /datum/reagent/water = 10, - /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/grown/banana = 1, - /obj/item/stack/ore/bananium = 1 - ) - result = /obj/item/reagent_containers/food/snacks/soup/clownstears + result = /obj/item/reagent_containers/food/snacks/soup/mushroom subcategory = CAT_SOUP /datum/crafting_recipe/food/mysterysoup @@ -158,26 +125,37 @@ result = /obj/item/reagent_containers/food/snacks/soup/mystery subcategory = CAT_SOUP -/datum/crafting_recipe/food/mushroomsoup - name = "Mushroom soup" - reqs = list( - /datum/reagent/consumable/milk = 5, - /datum/reagent/water = 5, - /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 1 - ) - result = /obj/item/reagent_containers/food/snacks/soup/mushroom - subcategory = CAT_SOUP - -/datum/crafting_recipe/food/beetsoup - name = "Beet soup" +/datum/crafting_recipe/food/nettlesoup + name = "Nettle soup" reqs = list( /datum/reagent/water = 10, /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/grown/whitebeet = 1, - /obj/item/reagent_containers/food/snacks/grown/cabbage = 1, + /obj/item/reagent_containers/food/snacks/grown/nettle = 1, + /obj/item/reagent_containers/food/snacks/grown/potato = 1, + /obj/item/reagent_containers/food/snacks/boiledegg = 1 ) - result = /obj/item/reagent_containers/food/snacks/soup/beet + result = /obj/item/reagent_containers/food/snacks/soup/nettle + subcategory = CAT_SOUP + +/datum/crafting_recipe/food/redbeetsoup + name = "Red beet soup" + reqs = list( + /datum/reagent/water = 10, + /obj/item/reagent_containers/glass/bowl = 1, + /obj/item/reagent_containers/food/snacks/grown/redbeet = 1, + /obj/item/reagent_containers/food/snacks/grown/cabbage = 1 + ) + result = /obj/item/reagent_containers/food/snacks/soup/beet/red + subcategory = CAT_SOUP + +/datum/crafting_recipe/food/slimesoup + name = "Slime soup" + reqs = list( + /datum/reagent/water = 10, + /datum/reagent/toxin/slimejelly = 5, + /obj/item/reagent_containers/glass/bowl = 1 + ) + result = /obj/item/reagent_containers/food/snacks/soup/slime subcategory = CAT_SOUP /datum/crafting_recipe/food/stew @@ -205,16 +183,6 @@ result = /obj/item/reagent_containers/food/snacks/soup/spacylibertyduff subcategory = CAT_SOUP -/datum/crafting_recipe/food/amanitajelly - name = "Amanita jelly" - reqs = list( - /datum/reagent/consumable/ethanol/vodka = 5, - /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 3 - ) - result = /obj/item/reagent_containers/food/snacks/soup/amanitajelly - subcategory = CAT_SOUP - /datum/crafting_recipe/food/sweetpotatosoup name = "Sweet potato soup" reqs = list( @@ -226,13 +194,44 @@ result = /obj/item/reagent_containers/food/snacks/soup/sweetpotato subcategory = CAT_SOUP -/datum/crafting_recipe/food/redbeetsoup - name = "Red beet soup" +/datum/crafting_recipe/food/tomatosoup + name = "Tomato soup" reqs = list( /datum/reagent/water = 10, /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/grown/redbeet = 1, - /obj/item/reagent_containers/food/snacks/grown/cabbage = 1 + /obj/item/reagent_containers/food/snacks/grown/tomato = 2 ) - result = /obj/item/reagent_containers/food/snacks/soup/beet/red + result = /obj/item/reagent_containers/food/snacks/soup/tomato subcategory = CAT_SOUP + +/datum/crafting_recipe/food/vegetablesoup + name = "Vegetable soup" + reqs = list( + /datum/reagent/water = 10, + /obj/item/reagent_containers/glass/bowl = 1, + /obj/item/reagent_containers/food/snacks/grown/carrot = 1, + /obj/item/reagent_containers/food/snacks/grown/corn = 1, + /obj/item/reagent_containers/food/snacks/grown/eggplant = 1, + /obj/item/reagent_containers/food/snacks/grown/potato = 1 + ) + result = /obj/item/reagent_containers/food/snacks/soup/vegetable + subcategory = CAT_SOUP + +/datum/crafting_recipe/food/wingfangchu + name = "Wingfangchu" + reqs = list( + /obj/item/reagent_containers/glass/bowl = 1, + /datum/reagent/consumable/soysauce = 5, + /obj/item/reagent_containers/food/snacks/meat/cutlet/xeno = 2 + ) + result = /obj/item/reagent_containers/food/snacks/soup/wingfangchu + subcategory = CAT_SOUP + +/datum/crafting_recipe/food/wishsoup + name = "Wish soup" + reqs = list( + /datum/reagent/water = 20, + /obj/item/reagent_containers/glass/bowl = 1 + ) + result= /obj/item/reagent_containers/food/snacks/soup/wish + subcategory = CAT_SOUP \ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm index 355402111c..12020a6241 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm @@ -3,15 +3,6 @@ ////////////////////////////////////////////////SPAGHETTI//////////////////////////////////////////////// -/datum/crafting_recipe/food/tomatopasta - name = "Tomato pasta" - reqs = list( - /obj/item/reagent_containers/food/snacks/boiledspaghetti = 1, - /obj/item/reagent_containers/food/snacks/grown/tomato = 2 - ) - result = /obj/item/reagent_containers/food/snacks/pastatomato - subcategory = CAT_SPAGHETTI - /datum/crafting_recipe/food/copypasta name = "Copypasta" reqs = list( @@ -38,6 +29,17 @@ result = /obj/item/reagent_containers/food/snacks/spesslaw subcategory = CAT_SPAGHETTI +/datum/crafting_recipe/food/tomatopasta + name = "Tomato pasta" + reqs = list( + /obj/item/reagent_containers/food/snacks/boiledspaghetti = 1, + /obj/item/reagent_containers/food/snacks/grown/tomato = 2 + ) + result = /obj/item/reagent_containers/food/snacks/pastatomato + subcategory = CAT_SPAGHETTI + +////////////NOODLES/////////// + /datum/crafting_recipe/food/beefnoodle name = "Beef noodle" reqs = list( diff --git a/code/modules/holiday/easter.dm b/code/modules/holiday/easter.dm index 1898fe4b01..5f2d92fc93 100644 --- a/code/modules/holiday/easter.dm +++ b/code/modules/holiday/easter.dm @@ -140,96 +140,8 @@ containsPrize = FALSE qdel(src) -//Easter Recipes + food -/obj/item/reagent_containers/food/snacks/hotcrossbun - bitesize = 2 - name = "hot-cross bun" - desc = "The Cross represents the Assistants that died for your sins." - icon_state = "hotcrossbun" - -/datum/crafting_recipe/food/hotcrossbun - name = "Hot-Cross Bun" - reqs = list( - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, - /datum/reagent/consumable/sugar = 1 - ) - result = /obj/item/reagent_containers/food/snacks/hotcrossbun - category = CAT_MISCFOOD - - -/obj/item/reagent_containers/food/snacks/store/cake/brioche - name = "brioche cake" - desc = "A ring of sweet, glazed buns." - icon_state = "briochecake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/brioche - slices_num = 6 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 10, /datum/reagent/consumable/nutriment/vitamin = 2) - -/obj/item/reagent_containers/food/snacks/cakeslice/brioche - name = "brioche cake slice" - desc = "Delicious sweet-bread. Who needs anything else?" - icon_state = "briochecake_slice" - filling_color = "#FFD700" - -/datum/crafting_recipe/food/briochecake - name = "Brioche cake" - reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, - /datum/reagent/consumable/sugar = 2 - ) - result = /obj/item/reagent_containers/food/snacks/store/cake/brioche - category = CAT_MISCFOOD - -/obj/item/reagent_containers/food/snacks/scotchegg - name = "scotch egg" - desc = "A boiled egg wrapped in a delicious, seasoned meatball." - icon_state = "scotchegg" - bonus_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/vitamin = 2) - bitesize = 3 - filling_color = "#FFFFF0" - list_reagents = list(/datum/reagent/consumable/nutriment = 6) - -/datum/crafting_recipe/food/scotchegg - name = "Scotch egg" - reqs = list( - /datum/reagent/consumable/sodiumchloride = 1, - /datum/reagent/consumable/blackpepper = 1, - /obj/item/reagent_containers/food/snacks/boiledegg = 1, - /obj/item/reagent_containers/food/snacks/faggot = 1 - ) - result = /obj/item/reagent_containers/food/snacks/scotchegg - category = CAT_MISCFOOD - -/obj/item/reagent_containers/food/snacks/soup/mammi - name = "Mammi" - desc = "A bowl of mushy bread and milk. It reminds you, not too fondly, of a bowel movement." - icon_state = "mammi" - bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 1) - list_reagents = list(/datum/reagent/consumable/nutriment = 8, /datum/reagent/consumable/nutriment/vitamin = 1) - -/datum/crafting_recipe/food/mammi - name = "Mammi" - reqs = list( - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, - /obj/item/reagent_containers/food/snacks/chocolatebar = 1, - /datum/reagent/consumable/milk = 5 - ) - result = /obj/item/reagent_containers/food/snacks/soup/mammi - category = CAT_MISCFOOD - -/obj/item/reagent_containers/food/snacks/chocolatebunny - name = "chocolate bunny" - desc = "Contains less than 10% real rabbit!" - icon_state = "chocolatebunny" - bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1) - list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/sugar = 2, /datum/reagent/consumable/coco = 2) - filling_color = "#A0522D" - -/datum/crafting_recipe/food/chocolatebunny - name = "Chocolate bunny" - reqs = list( - /datum/reagent/consumable/sugar = 2, - /obj/item/reagent_containers/food/snacks/chocolatebar = 1 - ) - result = /obj/item/reagent_containers/food/snacks/chocolatebunny - category = CAT_MISCFOOD +/* +Easter Recipes + Food moved to appropriate files. +\code\modules\food_and_drinks\ +\code\modules\food_and_drinks\recipes\ +*/ \ No newline at end of file diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index 2376010408..6f3c8c9047 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -196,7 +196,7 @@ dat += "x5" if(ispath(D.build_path, /obj/item/stack)) dat += "x10" - dat += "([D.materials[MAT_BIOMASS]/efficiency])
" + dat += "([D.materials[getmaterialref(/datum/material/biomass)]/efficiency])
" dat += "" else dat += "
No container inside, please insert container.
" @@ -232,15 +232,15 @@ else menustat = "void" -/obj/machinery/biogenerator/proc/check_cost(list/materials, multiplier = 1, remove_points = 1) - if(materials.len != 1 || materials[1] != MAT_BIOMASS) +/obj/machinery/biogenerator/proc/check_cost(list/materials, multiplier = 1, remove_points = TRUE) + if(materials.len != 1 || materials[1] != getmaterialref(/datum/material/biomass)) return FALSE - if (materials[MAT_BIOMASS]*multiplier/efficiency > points) + if (materials[getmaterialref(/datum/material/biomass)]*multiplier/efficiency > points) menustat = "nopoints" return FALSE else if(remove_points) - points -= materials[MAT_BIOMASS]*multiplier/efficiency + points -= materials[getmaterialref(/datum/material/biomass)]*multiplier/efficiency update_icon() updateUsrDialog() return TRUE diff --git a/code/modules/hydroponics/gene_modder.dm b/code/modules/hydroponics/gene_modder.dm index fb9bb8ba7b..fe6d13f69e 100644 --- a/code/modules/hydroponics/gene_modder.dm +++ b/code/modules/hydroponics/gene_modder.dm @@ -418,7 +418,7 @@ name = "plant data disk" desc = "A disk for storing plant genetic data." icon_state = "datadisk_hydro" - materials = list(MAT_METAL=30, MAT_GLASS=10) + custom_materials = list(/datum/material/iron=30, /datum/material/glass=10) var/datum/plant_gene/gene var/read_only = 0 //Well, it's still a floppy disk obj_flags = UNIQUE_RENAME diff --git a/code/modules/hydroponics/grown/misc.dm b/code/modules/hydroponics/grown/misc.dm index b8496c865c..6ebfd3254f 100644 --- a/code/modules/hydroponics/grown/misc.dm +++ b/code/modules/hydroponics/grown/misc.dm @@ -234,19 +234,6 @@ reagents.chem_temp = 1000 //Sets off the black powder reagents.handle_reactions() -// Lavaland cactus - -/obj/item/seeds/lavaland/cactus - name = "pack of fruiting cactus seeds" - desc = "These seeds grow into fruiting cacti." - icon_state = "seed-cactus" - species = "cactus" - plantname = "Fruiting Cactus" - product = /obj/item/reagent_containers/food/snacks/grown/ash_flora/cactus_fruit - growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi' - growthstages = 2 - - // Coconut /obj/item/seeds/coconut name = "pack of coconut seeds" diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm index 554115eb5f..699a1c798d 100644 --- a/code/modules/hydroponics/grown/mushrooms.dm +++ b/code/modules/hydroponics/grown/mushrooms.dm @@ -334,68 +334,4 @@ /obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom/shadowshroom/attack_self(mob/user) . = ..() if(.) - investigate_log("was planted by [key_name(user)] at [AREACOORD(user)]", INVESTIGATE_BOTANY) - -//// LAVALAND MUSHROOMS //// - -// Bracket (Shaving mushroom) - -/obj/item/seeds/lavaland - name = "lavaland seeds" - desc = "You should never see this." - lifespan = 50 - endurance = 25 - maturation = 7 - production = 4 - yield = 4 - potency = 15 - growthstages = 3 - rarity = 20 - reagents_add = list(/datum/reagent/consumable/nutriment = 0.1) - resistance_flags = FIRE_PROOF - -/obj/item/seeds/lavaland/polypore - name = "pack of polypore mycelium" - desc = "This mycelium grows into bracket mushrooms, also known as polypores. Woody and firm, shaft miners often use them for makeshift crafts." - icon_state = "mycelium-polypore" - species = "polypore" - plantname = "Polypore Mushrooms" - product = /obj/item/reagent_containers/food/snacks/grown/ash_flora/shavings - genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism) - growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi' - -// Porcini (Leafy mushroom) - -/obj/item/seeds/lavaland/porcini - name = "pack of porcini mycelium" - desc = "This mycelium grows into Boletus edulus, also known as porcini. Native to the late Earth, but discovered on Lavaland. Has culinary, medicinal and relaxant effects." - icon_state = "mycelium-porcini" - species = "porcini" - plantname = "Porcini Mushrooms" - product = /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf - genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism) - growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi' - -// Inocybe (Mushroom caps) - -/obj/item/seeds/lavaland/inocybe - name = "pack of inocybe mycelium" - desc = "This mycelium grows into an inocybe mushroom, a species of Lavaland origin with hallucinatory and toxic effects." - icon_state = "mycelium-inocybe" - species = "inocybe" - plantname = "Inocybe Mushrooms" - product = /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_cap - genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism) - growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi' - -// Embershroom (Mushroom stem) - -/obj/item/seeds/lavaland/ember - name = "pack of embershroom mycelium" - desc = "This mycelium grows into embershrooms, a species of bioluminescent mushrooms native to Lavaland." - icon_state = "mycelium-ember" - species = "ember" - plantname = "Embershroom Mushrooms" - product = /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_stem - genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/glow) - growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi' + investigate_log("was planted by [key_name(user)] at [AREACOORD(user)]", INVESTIGATE_BOTANY) \ No newline at end of file diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index e7c548443a..9b5983c8e9 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -9,7 +9,7 @@ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' w_class = WEIGHT_CLASS_TINY slot_flags = ITEM_SLOT_BELT - materials = list(MAT_METAL=30, MAT_GLASS=20) + custom_materials = list(/datum/material/iron=30, /datum/material/glass=20) // ************************************* // Hydroponics Tools @@ -57,7 +57,7 @@ force = 5 throwforce = 7 w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=50) + custom_materials = list(/datum/material/iron=50) attack_verb = list("slashed", "sliced", "cut", "clawed") hitsound = 'sound/weapons/bladeslice.ogg' @@ -79,7 +79,7 @@ throwforce = 15 throw_speed = 3 throw_range = 4 - materials = list(MAT_METAL = 15000) + custom_materials = list(/datum/material/iron = 15000) attack_verb = list("chopped", "torn", "cut") hitsound = 'sound/weapons/bladeslice.ogg' sharpness = IS_SHARP diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index 1cd63db6da..718033ac56 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -620,7 +620,7 @@ if(!(myseed.resistance_flags & FIRE_PROOF)) adjustHealth(-round(S.get_reagent_amount(/datum/reagent/napalm) * 6)) adjustToxic(round(S.get_reagent_amount(/datum/reagent/napalm) * 7)) - adjustWeeds(-rand(5,9)) + adjustWeeds(-rand(5,9)) //Weed Spray if(S.has_reagent(/datum/reagent/toxin/plantbgone/weedkiller, 1)) diff --git a/code/modules/integrated_electronics/core/assemblies.dm b/code/modules/integrated_electronics/core/assemblies.dm index d8bf82a4b4..2a0cf8c334 100644 --- a/code/modules/integrated_electronics/core/assemblies.dm +++ b/code/modules/integrated_electronics/core/assemblies.dm @@ -9,7 +9,7 @@ icon = 'icons/obj/assemblies/electronic_setups.dmi' icon_state = "setup_small" item_flags = NOBLUDGEON - materials = list() // To be filled later + custom_materials = null // To be filled later datum_flags = DF_USE_TAG var/list/assembly_components = list() var/list/ckeys_allowed_to_scan = list() // Players who built the circuit can scan it as a ghost. @@ -95,9 +95,9 @@ D.open() /obj/item/electronic_assembly/Initialize() + LAZYSET(custom_materials, /datum/material/iron, round((max_complexity + max_components) * 0.25) * SScircuit.cost_multiplier) .=..() START_PROCESSING(SScircuit, src) - materials[MAT_METAL] = round((max_complexity + max_components) / 4) * SScircuit.cost_multiplier //sets up diagnostic hud view prepare_huds() diff --git a/code/modules/integrated_electronics/core/integrated_circuit.dm b/code/modules/integrated_electronics/core/integrated_circuit.dm index 40bcbe016b..a73190a005 100644 --- a/code/modules/integrated_electronics/core/integrated_circuit.dm +++ b/code/modules/integrated_electronics/core/integrated_circuit.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/assemblies/electronic_components.dmi' icon_state = "template" w_class = WEIGHT_CLASS_TINY - materials = list() // To be filled later + custom_materials = null // To be filled later var/obj/item/electronic_assembly/assembly // Reference to the assembly holding this circuit, if any. var/extended_desc var/list/inputs = list() @@ -84,7 +84,7 @@ a creative player the means to solve many problems. Circuits are held inside an setup_io(inputs, /datum/integrated_io, inputs_default, IC_INPUT) setup_io(outputs, /datum/integrated_io, outputs_default, IC_OUTPUT) setup_io(activators, /datum/integrated_io/activate, null, IC_ACTIVATOR) - materials[MAT_METAL] = w_class * SScircuit.cost_multiplier + LAZYSET(custom_materials, /datum/material/iron, w_class * SScircuit.cost_multiplier) . = ..() /obj/item/integrated_circuit/proc/on_data_written() //Override this for special behaviour when new data gets pushed to the circuit. diff --git a/code/modules/integrated_electronics/core/printer.dm b/code/modules/integrated_electronics/core/printer.dm index ea52b6d461..cdccc92cfd 100644 --- a/code/modules/integrated_electronics/core/printer.dm +++ b/code/modules/integrated_electronics/core/printer.dm @@ -33,7 +33,8 @@ /obj/item/integrated_circuit_printer/Initialize() . = ..() - AddComponent(/datum/component/material_container, list(MAT_METAL), MINERAL_MATERIAL_AMOUNT * 25, TRUE, list(/obj/item/stack, /obj/item/integrated_circuit, /obj/item/electronic_assembly)) + var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, list(/datum/material/iron), MINERAL_MATERIAL_AMOUNT * 25, TRUE, list(/obj/item/stack, /obj/item/integrated_circuit, /obj/item/electronic_assembly)) + materials.precise_insertion = TRUE /obj/item/integrated_circuit_printer/proc/print_program(mob/user) if(!cloning) @@ -189,16 +190,16 @@ var/cost = 400 if(ispath(build_type, /obj/item/electronic_assembly)) var/obj/item/electronic_assembly/E = SScircuit.cached_assemblies[build_type] - cost = E.materials[MAT_METAL] + cost = E.custom_materials[getmaterialref(/datum/material/iron)] else if(ispath(build_type, /obj/item/integrated_circuit)) var/obj/item/integrated_circuit/IC = SScircuit.cached_components[build_type] - cost = IC.materials[MAT_METAL] + cost = IC.custom_materials[getmaterialref(/datum/material/iron)] else if(!(build_type in SScircuit.circuit_fabricator_recipe_list["Tools"])) return var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - if(!debug && !materials.use_amount_type(cost, MAT_METAL)) + if(!debug && !materials.use_amount_mat(cost, /datum/material/iron)) to_chat(usr, "You need [cost] metal to build that!") return TRUE @@ -270,14 +271,14 @@ return else if(fast_clone) var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - if(debug || materials.use_amount_type(program["metal_cost"], MAT_METAL)) + if(debug || materials.use_amount_mat(program["metal_cost"], /datum/material/iron)) cloning = TRUE print_program(usr) else to_chat(usr, "You need [program["metal_cost"]] metal to build that!") else var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - if(!materials.use_amount_type(program["metal_cost"], MAT_METAL)) + if(!materials.use_amount_mat(program["metal_cost"], /datum/material/iron)) to_chat(usr, "You need [program["metal_cost"]] metal to build that!") return var/cloning_time = round(program["metal_cost"] / 15) @@ -295,7 +296,7 @@ to_chat(usr, "Cloning has been canceled. Metal cost has been refunded.") cloning = FALSE var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - materials.use_amount_type(-program["metal_cost"], MAT_METAL) //use negative amount to regain the cost + materials.use_amount_mat(-program["metal_cost"], /datum/material/iron) //use negative amount to regain the cost interact(usr) diff --git a/code/modules/integrated_electronics/core/saved_circuits.dm b/code/modules/integrated_electronics/core/saved_circuits.dm index 2fe6984808..cbf3bba616 100644 --- a/code/modules/integrated_electronics/core/saved_circuits.dm +++ b/code/modules/integrated_electronics/core/saved_circuits.dm @@ -260,7 +260,7 @@ blocks["max_space"] = assembly.max_components // Start keeping track of total metal cost - blocks["metal_cost"] = assembly.materials[MAT_METAL] + blocks["metal_cost"] = assembly.custom_materials[getmaterialref(/datum/material/iron)] // Block 2. Components. @@ -291,7 +291,7 @@ // Update estimated assembly complexity, taken space and material cost blocks["complexity"] += component.complexity blocks["used_space"] += component.size - blocks["metal_cost"] += component.materials[MAT_METAL] + blocks["metal_cost"] += component.custom_materials[getmaterialref(/datum/material/iron)] // Check if the assembly requires printer upgrades if(!(component.spawn_flags & IC_SPAWN_DEFAULT)) diff --git a/code/modules/integrated_electronics/subtypes/input.dm b/code/modules/integrated_electronics/subtypes/input.dm index 4f9afd9ed5..f1cf9dd950 100644 --- a/code/modules/integrated_electronics/subtypes/input.dm +++ b/code/modules/integrated_electronics/subtypes/input.dm @@ -1090,6 +1090,7 @@ "Titanium" = IC_PINTYPE_NUMBER, "Bluespace Mesh" = IC_PINTYPE_NUMBER, "Biomass" = IC_PINTYPE_NUMBER, + "Plastic" = IC_PINTYPE_NUMBER ) activators = list( "scan" = IC_PINTYPE_PULSE_IN, @@ -1098,7 +1099,7 @@ ) spawn_flags = IC_SPAWN_RESEARCH power_draw_per_use = 40 - var/list/mtypes = list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE, MAT_BIOMASS) + var/list/mtypes = list(/datum/material/iron, /datum/material/glass, /datum/material/silver, /datum/material/gold, /datum/material/diamond, /datum/material/plasma, /datum/material/uranium, /datum/material/bananium, /datum/material/titanium, /datum/material/bluespace, /datum/material/biomass, /datum/material/plastic) /obj/item/integrated_circuit/input/matscan/do_work() @@ -1108,10 +1109,9 @@ if(!mt) //Invalid input return if(H in view(T)) // This is a camera. It can't examine thngs,that it can't see. - for(var/I in 1 to mtypes.len) - var/datum/material/M = mt.materials[mtypes[I]] - if(M) - set_pin_data(IC_OUTPUT, I, M.amount) + for(var/I in mtypes) + if(I in mt.materials) + set_pin_data(IC_OUTPUT, I, mt.materials[I]) else set_pin_data(IC_OUTPUT, I, null) push_data() diff --git a/code/modules/integrated_electronics/subtypes/manipulation.dm b/code/modules/integrated_electronics/subtypes/manipulation.dm index 0bdf0547f9..9b275d85fe 100644 --- a/code/modules/integrated_electronics/subtypes/manipulation.dm +++ b/code/modules/integrated_electronics/subtypes/manipulation.dm @@ -373,6 +373,7 @@ "Bluespace Mesh" = IC_PINTYPE_NUMBER, "Bananium" = IC_PINTYPE_NUMBER, "Titanium" = IC_PINTYPE_NUMBER, + "Plastic" = IC_PINTYPE_NUMBER ) outputs = list( "self ref" = IC_PINTYPE_REF, @@ -386,7 +387,8 @@ "Solid Plasma" = IC_PINTYPE_NUMBER, "Bluespace Mesh" = IC_PINTYPE_NUMBER, "Bananium" = IC_PINTYPE_NUMBER, - "Titanium" = IC_PINTYPE_NUMBER + "Titanium" = IC_PINTYPE_NUMBER, + "Plastic" = IC_PINTYPE_NUMBER ) activators = list( "insert sheet" = IC_PINTYPE_PULSE_IN, @@ -400,13 +402,11 @@ power_draw_per_use = 40 ext_cooldown = 1 cooldown_per_use = 10 - var/list/mtypes = list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE) + var/list/mtypes = list(/datum/material/iron, /datum/material/glass, /datum/material/silver, /datum/material/gold, /datum/material/diamond, /datum/material/uranium, /datum/material/plasma, /datum/material/bluespace, /datum/material/bananium, /datum/material/titanium, /datum/material/plastic) /obj/item/integrated_circuit/manipulation/matman/Initialize() var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, - list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), 0, - FALSE, /obj/item/stack, CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert)) - materials.max_amount =100000 + mtypes, 100000, FALSE, /obj/item/stack, CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert)) materials.precise_insertion = TRUE .=..() @@ -414,9 +414,10 @@ var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) set_pin_data(IC_OUTPUT, 2, materials.total_amount) for(var/I in 1 to mtypes.len) - var/datum/material/M = materials.materials[mtypes[I]] + var/datum/material/M = materials.materials[getmaterialref(I)] + var/amount = materials[M] if(M) - set_pin_data(IC_OUTPUT, I+2, M.amount) + set_pin_data(IC_OUTPUT, I+2, amount) push_data() /obj/item/integrated_circuit/manipulation/matman/proc/is_insertion_ready(mob/user) @@ -435,7 +436,7 @@ if(!S) activate_pin(4) return - if(materials.insert_stack(S, CLAMP(get_pin_data(IC_INPUT, 2),0,100), multiplier = 1) ) + if(materials.insert_item(S, CLAMP(get_pin_data(IC_INPUT, 2),0,100), multiplier = 1) ) AfterMaterialInsert() activate_pin(3) else @@ -451,7 +452,7 @@ continue if(!mt) //Invalid input if(U>0) - if(materials.retrieve_amount(U, mtypes[I], T)) + if(materials.retrieve_sheets(U, getmaterialref(mtypes[I]), T)) suc = TRUE else if(mt.transer_amt_to(materials, U, mtypes[I])) diff --git a/code/modules/jobs/access.dm b/code/modules/jobs/access.dm index eddb18b25e..9bd5dc1684 100644 --- a/code/modules/jobs/access.dm +++ b/code/modules/jobs/access.dm @@ -357,7 +357,7 @@ /proc/get_all_jobs() return list("Assistant", "Captain", "Head of Personnel", "Bartender", "Cook", "Botanist", "Quartermaster", "Cargo Technician", "Shaft Miner", "Clown", "Mime", "Janitor", "Curator", "Lawyer", "Chaplain", "Chief Engineer", "Station Engineer", - "Atmospheric Technician", "Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist", + "Atmospheric Technician", "Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist", "Paramedic", "Research Director", "Scientist", "Roboticist", "Head of Security", "Warden", "Detective", "Security Officer") /proc/get_all_job_icons() //For all existing HUD icons diff --git a/code/modules/jobs/job_types/paramedic.dm b/code/modules/jobs/job_types/paramedic.dm new file mode 100644 index 0000000000..1ad836f01c --- /dev/null +++ b/code/modules/jobs/job_types/paramedic.dm @@ -0,0 +1,45 @@ +/datum/job/paramedic + title = "Paramedic" + flag = PARAMEDIC + department_head = list("Chief Medical Officer") + department_flag = MEDSCI + faction = "Station" + total_positions = 3 + spawn_positions = 2 + supervisors = "the chief medical officer" + selection_color = "#74b5e0" + + outfit = /datum/outfit/job/paramedic + + access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS) + minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_CLONING, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS) + + display_order = JOB_DISPLAY_ORDER_PARAMEDIC + +/datum/outfit/job/paramedic + name = "Paramedic" + jobtype = /datum/job/paramedic + + ears = /obj/item/radio/headset/headset_med + gloves = /obj/item/clothing/gloves/color/latex/nitrile + uniform = /obj/item/clothing/under/rank/medical/paramedic + mask = /obj/item/clothing/mask/surgical + shoes = /obj/item/clothing/shoes/jackboots + head = /obj/item/clothing/head/soft/emt + suit = /obj/item/clothing/suit/toggle/labcoat/emt + belt = /obj/item/storage/belt/medical + l_hand = /obj/item/storage/firstaid/regular + suit_store = /obj/item/flashlight/pen + id = /obj/item/card/id + r_pocket = /obj/item/pinpointer/crew + l_pocket = /obj/item/pda/medical + backpack_contents = list(/obj/item/roller=1) + pda_slot = SLOT_L_STORE + + backpack = /obj/item/storage/backpack/medic + satchel = /obj/item/storage/backpack/satchel/med + duffelbag = /obj/item/storage/backpack/duffelbag/med + + backpack_contents = list(/obj/item/storage/hypospraykit/regular) + + chameleon_extras = /obj/item/gun/syringe diff --git a/code/modules/jobs/jobs.dm b/code/modules/jobs/jobs.dm index 92fd25a811..78b7dd3964 100644 --- a/code/modules/jobs/jobs.dm +++ b/code/modules/jobs/jobs.dm @@ -18,6 +18,7 @@ GLOBAL_LIST_INIT(medical_positions, list( "Medical Doctor", "Geneticist", "Virologist", + "Paramedic", "Chemist")) diff --git a/code/modules/language/language_holder.dm b/code/modules/language/language_holder.dm index f8934549d0..b307e66b39 100644 --- a/code/modules/language/language_holder.dm +++ b/code/modules/language/language_holder.dm @@ -138,7 +138,7 @@ /datum/language_holder/synthetic languages = list(/datum/language/common) - shadow_languages = list(/datum/language/common, /datum/language/machine, /datum/language/draconic, /datum/language/slime) + shadow_languages = list(/datum/language/common, /datum/language/machine, /datum/language/draconic, /datum/language/slime, /datum/language/dwarf) /datum/language_holder/empty languages = list() diff --git a/code/modules/mining/aux_base.dm b/code/modules/mining/aux_base.dm index 91eab536c9..6ec205bf7c 100644 --- a/code/modules/mining/aux_base.dm +++ b/code/modules/mining/aux_base.dm @@ -53,7 +53,7 @@ interface with the mining shuttle at the landing site if a mobile beacon is also Unit | Condition | Status | Direction | Distance
" for(var/PDT in turrets) var/obj/machinery/porta_turret/aux_base/T = PDT - var/integrity = max((T.obj_integrity-T.integrity_failure)/(T.max_integrity-T.integrity_failure)*100, 0) + var/integrity = max((T.obj_integrity-T.integrity_failure * T.max_integrity)/(T.max_integrity-T.integrity_failure * max_integrity)*100, 0) var/status if(T.stat & BROKEN) status = "ERROR" @@ -151,7 +151,7 @@ interface with the mining shuttle at the landing site if a mobile beacon is also if(!is_mining_level(T.z)) return BAD_ZLEVEL - + var/list/colony_turfs = base_dock.return_ordered_turfs(T.x,T.y,T.z,base_dock.dir) for(var/i in 1 to colony_turfs.len) CHECK_TICK diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index b2c0c1cc87..d4b86d5138 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -16,7 +16,7 @@ throwforce = 5 throw_speed = 4 armour_penetration = 10 - materials = list(MAT_METAL=1150, MAT_GLASS=2075) + custom_materials = list(/datum/material/iron=1150, /datum/material/glass=2075) hitsound = 'sound/weapons/bladeslice.ogg' attack_verb = list("smashed", "crushed", "cleaved", "chopped", "pulped") sharpness = IS_SHARP diff --git a/code/modules/mining/equipment/mining_tools.dm b/code/modules/mining/equipment/mining_tools.dm index 32f9812068..ce76ad04fc 100644 --- a/code/modules/mining/equipment/mining_tools.dm +++ b/code/modules/mining/equipment/mining_tools.dm @@ -11,7 +11,7 @@ lefthand_file = 'icons/mob/inhands/equipment/mining_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/mining_righthand.dmi' w_class = WEIGHT_CLASS_BULKY - materials = list(MAT_METAL=2000) //one sheet, but where can you make them? + custom_materials = list(/datum/material/iron=2000) //one sheet, but where can you make them? tool_behaviour = TOOL_MINING toolspeed = 1 usesound = list('sound/effects/picaxe1.ogg', 'sound/effects/picaxe2.ogg', 'sound/effects/picaxe3.ogg') @@ -46,7 +46,7 @@ throwforce = 7 slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=1000) + custom_materials = list(/datum/material/iron=1000) /obj/item/pickaxe/silver name = "silver-plated pickaxe" @@ -55,7 +55,7 @@ toolspeed = 0.5 //mines faster than a normal pickaxe, bought from mining vendor desc = "A silver-plated pickaxe that mines slightly faster than standard-issue." force = 17 - materials = list(MAT_SILVER=4000) + custom_materials = list(/datum/material/silver=4000) /obj/item/pickaxe/diamond name = "diamond-tipped pickaxe" @@ -64,7 +64,7 @@ toolspeed = 0.3 desc = "A pickaxe with a diamond pick head. Extremely robust at cracking rock walls and digging up dirt." force = 19 - materials = list(MAT_DIAMOND=4000) + custom_materials = list(/datum/material/diamond=4000) /obj/item/pickaxe/plasteel name = "plasteel-tipped pickaxe" @@ -72,7 +72,7 @@ toolspeed = 0.5 desc = "A pickaxe with a plasteel pick head. Less robust at cracking rock walls and digging up dirt than the titanium pickaxe, but better at cracking open skulls." force = 19 - materials = list(MAT_METAL=2000, MAT_PLASMA=2000) + custom_materials = list(/datum/material/iron=2000, /datum/material/plasma=2000) /obj/item/pickaxe/titanium name = "titanium-tipped pickaxe" @@ -80,7 +80,7 @@ toolspeed = 0.3 desc = "A pickaxe with a titanium pick head. Extremely robust at cracking rock walls and digging up dirt, but less than the plasteel pickaxe at cracking open skulls." force = 17 - materials = list(MAT_TITANIUM=4000) + custom_materials = list(/datum/material/titanium=4000) /obj/item/pickaxe/drill name = "mining drill" @@ -141,7 +141,7 @@ throwforce = 4 item_state = "shovel" w_class = WEIGHT_CLASS_NORMAL - materials = list(MAT_METAL=350) + custom_materials = list(/datum/material/iron=350) attack_verb = list("bashed", "bludgeoned", "thrashed", "whacked") sharpness = IS_SHARP @@ -166,5 +166,5 @@ toolspeed = 0.5 force = 5 throwforce = 7 - materials = list(MAT_METAL=50) + custom_materials = list(/datum/material/iron=50) w_class = WEIGHT_CLASS_SMALL diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index ea0174d2a5..43c8dec129 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -227,6 +227,78 @@ else . = ..() +////// LAVALAND FLORA ////// + +/obj/item/seeds/lavaland + name = "lavaland seeds" + desc = "You should never see this." + lifespan = 50 + endurance = 25 + maturation = 7 + production = 4 + yield = 4 + potency = 15 + growthstages = 3 + rarity = 20 + reagents_add = list(/datum/reagent/consumable/nutriment = 0.1) + resistance_flags = FIRE_PROOF + +/obj/item/seeds/lavaland/cactus + name = "pack of fruiting cactus seeds" + desc = "These seeds grow into fruiting cacti." + icon_state = "seed-cactus" + species = "cactus" + plantname = "Fruiting Cactus" + product = /obj/item/reagent_containers/food/snacks/grown/ash_flora/cactus_fruit + genes = list(/datum/plant_gene/trait/fire_resistance) + growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi' + growthstages = 2 + reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.04, /datum/reagent/consumable/vitfro = 0.08) + +/obj/item/seeds/lavaland/polypore + name = "pack of polypore mycelium" + desc = "This mycelium grows into bracket mushrooms, also known as polypores. Woody and firm, shaft miners often use them for makeshift crafts." + icon_state = "mycelium-polypore" + species = "polypore" + plantname = "Polypore Mushrooms" + product = /obj/item/reagent_containers/food/snacks/grown/ash_flora/shavings + genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/fire_resistance) + growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi' + reagents_add = list(/datum/reagent/consumable/sugar = 0.06, /datum/reagent/consumable/ethanol = 0.04, /datum/reagent/stabilizing_agent = 0.06, /datum/reagent/toxin/minttoxin = 0.02) + +/obj/item/seeds/lavaland/porcini + name = "pack of porcini mycelium" + desc = "This mycelium grows into Boletus edulus, also known as porcini. Native to the late Earth, but discovered on Lavaland. Has culinary, medicinal and relaxant effects." + icon_state = "mycelium-porcini" + species = "porcini" + plantname = "Porcini Mushrooms" + product = /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf + genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/fire_resistance) + growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi' + reagents_add = list(/datum/reagent/consumable/nutriment = 0.06, /datum/reagent/consumable/vitfro = 0.04, /datum/reagent/drug/nicotine = 0.04) + +/obj/item/seeds/lavaland/inocybe + name = "pack of inocybe mycelium" + desc = "This mycelium grows into an inocybe mushroom, a species of Lavaland origin with hallucinatory and toxic effects." + icon_state = "mycelium-inocybe" + species = "inocybe" + plantname = "Inocybe Mushrooms" + product = /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_cap + genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/fire_resistance) + growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi' + reagents_add = list(/datum/reagent/toxin/mindbreaker = 0.04, /datum/reagent/consumable/entpoly = 0.08, /datum/reagent/drug/mushroomhallucinogen = 0.04) + +/obj/item/seeds/lavaland/ember + name = "pack of embershroom mycelium" + desc = "This mycelium grows into embershrooms, a species of bioluminescent mushrooms native to Lavaland." + icon_state = "mycelium-ember" + species = "ember" + plantname = "Embershroom Mushrooms" + product = /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_stem + genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/glow, /datum/plant_gene/trait/fire_resistance) + growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi' + reagents_add = list(/datum/reagent/consumable/tinlux = 0.04, /datum/reagent/consumable/nutriment/vitamin = 0.02, /datum/reagent/drug/space_drugs = 0.02) + //what you can craft with these things /datum/crafting_recipe/mushroom_bowl name = "Mushroom Bowl" diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 11190009cc..343083456d 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -114,28 +114,28 @@ name = "Kinetic Accelerator Offensive Mining Explosion Mod" desc = "A device which causes kinetic accelerators to fire AoE blasts that destroy rock and damage creatures." id = "hyperaoemod" - materials = list(MAT_METAL = 7000, MAT_GLASS = 3000, MAT_SILVER = 3000, MAT_GOLD = 3000, MAT_DIAMOND = 4000) + materials = list(/datum/material/iron = 7000, /datum/material/glass = 3000, /datum/material/silver = 3000, /datum/material/gold = 3000, /datum/material/diamond = 4000) build_path = /obj/item/borg/upgrade/modkit/aoe/turfs/andmobs /datum/design/unique_modkit/rapid_repeater name = "Kinetic Accelerator Rapid Repeater Mod" desc = "A device which greatly reduces a kinetic accelerator's cooldown on striking a living target or rock, but greatly increases its base cooldown." id = "repeatermod" - materials = list(MAT_METAL = 5000, MAT_GLASS = 5000, MAT_URANIUM = 8000, MAT_BLUESPACE = 2000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 5000, /datum/material/uranium = 8000, /datum/material/bluespace = 2000) build_path = /obj/item/borg/upgrade/modkit/cooldown/repeater /datum/design/unique_modkit/resonator_blast name = "Kinetic Accelerator Resonator Blast Mod" desc = "A device which causes kinetic accelerators to fire shots that leave and detonate resonator blasts." id = "resonatormod" - materials = list(MAT_METAL = 5000, MAT_GLASS = 5000, MAT_SILVER = 5000, MAT_URANIUM = 5000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 5000, /datum/material/silver = 5000, /datum/material/uranium = 5000) build_path = /obj/item/borg/upgrade/modkit/resonator_blasts /datum/design/unique_modkit/bounty name = "Kinetic Accelerator Death Syphon Mod" desc = "A device which causes kinetic accelerators to permanently gain damage against creature types killed with it." id = "bountymod" - materials = list(MAT_METAL = 4000, MAT_SILVER = 4000, MAT_GOLD = 4000, MAT_BLUESPACE = 4000) + materials = list(/datum/material/iron = 4000, /datum/material/silver = 4000, /datum/material/gold = 4000, /datum/material/bluespace = 4000) reagents_list = list("blood" = 40) build_path = /obj/item/borg/upgrade/modkit/bounty diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm index f5150b4753..9561684414 100644 --- a/code/modules/mining/machine_processing.dm +++ b/code/modules/mining/machine_processing.dm @@ -47,8 +47,10 @@ add_fingerprint(usr) if(href_list["material"]) - machine.selected_material = href_list["material"] - machine.selected_alloy = null + var/datum/material/new_material = locate(href_list["material"]) + if(istype(new_material)) + machine.selected_material = new_material + machine.selected_alloy = null if(href_list["alloy"]) machine.selected_material = null @@ -75,15 +77,16 @@ density = TRUE var/obj/machinery/mineral/CONSOLE = null var/on = FALSE - var/selected_material = MAT_METAL + var/datum/material/selected_material = null var/selected_alloy = null var/datum/techweb/stored_research /obj/machinery/mineral/processing_unit/Initialize() . = ..() proximity_monitor = new(src, 1) - AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), INFINITY, TRUE, /obj/item/stack) + AddComponent(/datum/component/material_container, list(/datum/material/iron, /datum/material/glass, /datum/material/silver, /datum/material/gold, /datum/material/diamond, /datum/material/plasma, /datum/material/uranium, /datum/material/bananium, /datum/material/titanium, /datum/material/bluespace), INFINITY, TRUE, /obj/item/stack) stored_research = new /datum/techweb/specialized/autounlocking/smelter + selected_material = getmaterialref(/datum/material/iron) /obj/machinery/mineral/processing_unit/Destroy() CONSOLE = null @@ -108,13 +111,13 @@ /obj/machinery/mineral/processing_unit/proc/get_machine_data() var/dat = "Smelter control console

" var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - for(var/mat_id in materials.materials) - var/datum/material/M = materials.materials[mat_id] - dat += "[M.name]: [M.amount] cm³" - if (selected_material == mat_id) + for(var/datum/material/M in materials.materials) + var/amount = materials.materials[M] + dat += "[M.name]: [amount] cm³" + if (selected_material == M) dat += " Smelting" else - dat += " Not Smelting " + dat += " Not Smelting " dat += "
" dat += "

" @@ -153,14 +156,14 @@ /obj/machinery/mineral/processing_unit/proc/smelt_ore() var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - var/datum/material/mat = materials.materials[selected_material] + var/datum/material/mat = selected_material if(mat) - var/sheets_to_remove = (mat.amount >= (MINERAL_MATERIAL_AMOUNT * SMELT_AMOUNT) ) ? SMELT_AMOUNT : round(mat.amount / MINERAL_MATERIAL_AMOUNT) + var/sheets_to_remove = (materials.materials[mat] >= (MINERAL_MATERIAL_AMOUNT * SMELT_AMOUNT) ) ? SMELT_AMOUNT : round(materials.materials[mat] / MINERAL_MATERIAL_AMOUNT) if(!sheets_to_remove) on = FALSE else var/out = get_step(src, output_dir) - materials.retrieve_sheets(sheets_to_remove, selected_material, out) + materials.retrieve_sheets(sheets_to_remove, mat, out) /obj/machinery/mineral/processing_unit/proc/smelt_alloy() @@ -176,7 +179,7 @@ return var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - materials.use_amount(alloy.materials, amount) + materials.use_materials(alloy.materials, amount) generate_mineral(alloy.build_path) @@ -188,14 +191,11 @@ var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - for(var/mat_id in D.materials) - var/M = D.materials[mat_id] - var/datum/material/smelter_mat = materials.materials[mat_id] + for(var/mat_cat in D.materials) + var/required_amount = D.materials[mat_cat] + var/amount = materials.materials[mat_cat] - if(!M || !smelter_mat) - return FALSE - - build_amount = min(build_amount, round(smelter_mat.amount / M)) + build_amount = min(build_amount, round(amount / required_amount)) return build_amount diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm index 0a508cdaf5..0f0ca8bf0c 100644 --- a/code/modules/mining/machine_redemption.dm +++ b/code/modules/mining/machine_redemption.dm @@ -15,9 +15,9 @@ layer = BELOW_OBJ_LAYER var/points = 0 var/ore_pickup_rate = 15 - var/sheet_per_ore = 1 + var/ore_multiplier = 1 var/point_upgrade = 1 - var/list/ore_values = list(MAT_GLASS = 1, MAT_METAL = 1, MAT_PLASMA = 15, MAT_SILVER = 16, MAT_GOLD = 18, MAT_TITANIUM = 30, MAT_URANIUM = 30, MAT_DIAMOND = 50, MAT_BLUESPACE = 50, MAT_BANANIUM = 60) + var/list/ore_values = list(/datum/material/glass = 1, /datum/material/iron = 1, /datum/material/plasma = 15, /datum/material/silver = 16, /datum/material/gold = 18, /datum/material/titanium = 30, /datum/material/uranium = 30, /datum/material/diamond = 50, /datum/material/bluespace = 50, /datum/material/bananium = 60) var/message_sent = FALSE var/list/ore_buffer = list() var/datum/techweb/stored_research @@ -31,26 +31,27 @@ /obj/machinery/mineral/ore_redemption/Destroy() QDEL_NULL(stored_research) + materials = null return ..() /obj/machinery/mineral/ore_redemption/RefreshParts() var/ore_pickup_rate_temp = 15 var/point_upgrade_temp = 1 - var/sheet_per_ore_temp = 1 + var/ore_multiplier_temp = 1 for(var/obj/item/stock_parts/matter_bin/B in component_parts) - sheet_per_ore_temp = 0.65 + (0.35 * B.rating) + ore_multiplier_temp = 0.65 + (0.35 * B.rating) for(var/obj/item/stock_parts/manipulator/M in component_parts) ore_pickup_rate_temp = 15 * M.rating for(var/obj/item/stock_parts/micro_laser/L in component_parts) point_upgrade_temp = 0.65 + (0.35 * L.rating) ore_pickup_rate = ore_pickup_rate_temp point_upgrade = point_upgrade_temp - sheet_per_ore = sheet_per_ore_temp + ore_multiplier = round(ore_multiplier_temp, 0.01) /obj/machinery/mineral/ore_redemption/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Smelting [sheet_per_ore] sheet(s) per piece of ore.
Reward point generation at [point_upgrade*100]%.
Ore pickup speed at [ore_pickup_rate].
" + . += "The status display reads: Smelting [ore_multiplier] sheet(s) per piece of ore.
Reward point generation at [point_upgrade*100]%.
Ore pickup speed at [ore_pickup_rate].
" /obj/machinery/mineral/ore_redemption/proc/smelt_ore(obj/item/stack/ore/O) var/datum/component/material_container/mat_container = materials.mat_container @@ -70,13 +71,13 @@ if(!material_amount) qdel(O) //no materials, incinerate it - else if(!mat_container.has_space(material_amount * sheet_per_ore * O.amount)) //if there is no space, eject it + else if(!mat_container.has_space(material_amount * O.amount)) //if there is no space, eject it unload_mineral(O) else - var/mats = O.materials & mat_container.materials + var/mats = O.custom_materials & mat_container.materials var/amount = O.amount - mat_container.insert_item(O, sheet_per_ore) //insert it + mat_container.insert_item(O, ore_multiplier) //insert it materials.silo_log(src, "smelted", amount, "ores", mats) qdel(O) @@ -87,14 +88,14 @@ var/build_amount = 0 - for(var/mat_id in D.materials) - var/M = D.materials[mat_id] - var/datum/material/redemption_mat = mat_container.materials[mat_id] + for(var/mat in D.materials) + var/amount = D.materials[mat] + var/datum/material/redemption_mat_amount = mat_container.materials[mat] - if(!M || !redemption_mat) + if(!amount || !redemption_mat_amount) return FALSE - var/smeltable_sheets = FLOOR(redemption_mat.amount / M, 1) + var/smeltable_sheets = FLOOR(redemption_mat_amount / amount, 1) if(!smeltable_sheets) return FALSE @@ -124,9 +125,9 @@ var/has_minerals = FALSE - for(var/mat_id in mat_container.materials) - var/datum/material/M = mat_container.materials[mat_id] - var/mineral_amount = M.amount / MINERAL_MATERIAL_AMOUNT + for(var/mat in mat_container.materials) + var/datum/material/M = mat + var/mineral_amount = mat_container.materials[mat] / MINERAL_MATERIAL_AMOUNT if(mineral_amount) has_minerals = TRUE msg += "[capitalize(M.name)]: [mineral_amount] sheets
" @@ -202,10 +203,12 @@ data["materials"] = list() var/datum/component/material_container/mat_container = materials.mat_container if (mat_container) - for(var/mat_id in mat_container.materials) - var/datum/material/M = mat_container.materials[mat_id] - var/sheet_amount = M.amount ? M.amount / MINERAL_MATERIAL_AMOUNT : "0" - data["materials"] += list(list("name" = M.name, "id" = M.id, "amount" = sheet_amount, "value" = ore_values[M.id] * point_upgrade)) + for(var/mat in mat_container.materials) + var/datum/material/M = mat + var/amount = mat_container.materials[M] + var/sheet_amount = amount / MINERAL_MATERIAL_AMOUNT + var/ref = REF(M) + data["materials"] += list(list("name" = M.name, "id" = ref, "amount" = sheet_amount, "value" = ore_values[M.type])) data["alloys"] = list() for(var/v in stored_research.researched_designs) @@ -251,16 +254,18 @@ if("Release") if(!mat_container) return + if(materials.on_hold()) to_chat(usr, "Mineral access is on hold, please contact the quartermaster.") else if(!allowed(usr)) //Check the ID inside, otherwise check the user to_chat(usr, "Required access not found.") else - var/mat_id = params["id"] - if(!mat_container.materials[mat_id]) + var/datum/material/mat = locate(params["id"]) + + var/amount = mat_container.materials[mat] + if(!amount) return - var/datum/material/mat = mat_container.materials[mat_id] - var/stored_amount = mat.amount / MINERAL_MATERIAL_AMOUNT + var/stored_amount = CEILING(amount / MINERAL_MATERIAL_AMOUNT, 0.1) if(!stored_amount) return @@ -272,9 +277,10 @@ desired = input("How many sheets?", "How many sheets would you like to smelt?", 1) as null|num var/sheets_to_remove = round(min(desired,50,stored_amount)) - var/count = mat_container.retrieve_sheets(sheets_to_remove, mat_id, get_step(src, output_dir)) + + var/count = mat_container.retrieve_sheets(sheets_to_remove, mat, get_step(src, output_dir)) var/list/mats = list() - mats[mat_id] = MINERAL_MATERIAL_AMOUNT + mats[mat] = MINERAL_MATERIAL_AMOUNT materials.silo_log(src, "released", -count, "sheets", mats) //Logging deleted for quick coding return TRUE @@ -315,7 +321,7 @@ else desired = input("How many sheets?", "How many sheets would you like to smelt?", 1) as null|num var/amount = round(min(desired,50,smelt_amount)) - mat_container.use_amount(alloy.materials, amount) + mat_container.use_materials(alloy.materials, amount) materials.silo_log(src, "released", -amount, "sheets", alloy.materials) var/output if(ispath(alloy.build_path, /obj/item/stack/sheet)) diff --git a/code/modules/mining/machine_silo.dm b/code/modules/mining/machine_silo.dm index 7d6bb80663..c0eba668f1 100644 --- a/code/modules/mining/machine_silo.dm +++ b/code/modules/mining/machine_silo.dm @@ -16,7 +16,7 @@ GLOBAL_LIST_EMPTY(silo_access_logs) /obj/machinery/ore_silo/Initialize(mapload) . = ..() AddComponent(/datum/component/material_container, - list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE, MAT_PLASTIC), + list(/datum/material/iron, /datum/material/glass, /datum/material/silver, /datum/material/gold, /datum/material/diamond, /datum/material/plasma, /datum/material/uranium, /datum/material/bananium, /datum/material/titanium, /datum/material/bluespace, /datum/material/plastic), INFINITY, FALSE, /obj/item/stack, @@ -34,6 +34,8 @@ GLOBAL_LIST_EMPTY(silo_access_logs) var/datum/component/remote_materials/mats = C mats.disconnect_from(src) + connected = null + var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) materials.retrieve_all() @@ -49,7 +51,7 @@ GLOBAL_LIST_EMPTY(silo_access_logs) if(!istype(I) || (I.flags_1 & HOLOGRAM_1) || (I.item_flags & NO_MAT_REDEMPTION)) to_chat(user, "[M] won't accept [I]!") return - var/item_mats = I.materials & materials.materials + var/item_mats = I.custom_materials & materials.materials if(!length(item_mats)) to_chat(user, "[I] does not contain sufficient materials to be accepted by [M].") return @@ -75,15 +77,17 @@ GLOBAL_LIST_EMPTY(silo_access_logs) var/list/ui = list("Ore Silo

Stored Material:

") var/any = FALSE for(var/M in materials.materials) - var/datum/material/mat = materials.materials[M] - var/sheets = round(mat.amount) / MINERAL_MATERIAL_AMOUNT + var/datum/material/mat = M + var/amount = materials.materials[M] + var/sheets = round(amount) / MINERAL_MATERIAL_AMOUNT + var/ref = REF(M) if (sheets) if (sheets >= 1) - ui += "Eject" + ui += "Eject" else ui += "Eject" if (sheets >= 20) - ui += "20x" + ui += "20x" else ui += "20x" ui += "[mat.name]: [sheets] sheets
" @@ -148,7 +152,7 @@ GLOBAL_LIST_EMPTY(silo_access_logs) updateUsrDialog() return TRUE else if(href_list["ejectsheet"]) - var/eject_sheet = href_list["ejectsheet"] + var/datum/material/eject_sheet = locate(href_list["ejectsheet"]) var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) var/count = materials.retrieve_sheets(text2num(href_list["eject_amt"]), eject_sheet, drop_location()) var/list/matlist = list() @@ -227,8 +231,9 @@ GLOBAL_LIST_EMPTY(silo_access_logs) var/list/msg = list("([timestamp]) [machine_name] in [area_name]
[action] [abs(amount)]x [noun]
") var/sep = "" for(var/key in materials) + var/datum/material/M = key var/val = round(materials[key]) / MINERAL_MATERIAL_AMOUNT msg += sep sep = ", " - msg += "[amount < 0 ? "-" : "+"][val] [copytext(key, length(key[1]) + 1)]" + msg += "[amount < 0 ? "-" : "+"][val] [M.name]" formatted = msg.Join() diff --git a/code/modules/mining/machine_stacking.dm b/code/modules/mining/machine_stacking.dm index 31e977c6cf..5a83955bce 100644 --- a/code/modules/mining/machine_stacking.dm +++ b/code/modules/mining/machine_stacking.dm @@ -86,6 +86,11 @@ proximity_monitor = new(src, 1) materials = AddComponent(/datum/component/remote_materials, "stacking", mapload, FALSE, mapload && force_connect) +/obj/machinery/mineral/stacking_machine/Destroy() + CONSOLE = null + materials = null + return ..() + /obj/machinery/mineral/stacking_machine/HasProximity(atom/movable/AM) if(istype(AM, /obj/item/stack/sheet) && AM.loc == get_step(src, input_dir)) process_sheet(AM) @@ -107,9 +112,9 @@ qdel(inp) if(materials.silo && !materials.on_hold()) //Dump the sheets to the silo - var/matlist = storage.materials & materials.mat_container.materials + var/matlist = storage.custom_materials & materials.mat_container.materials if (length(matlist)) - var/inserted = materials.mat_container.insert_stack(storage) + var/inserted = materials.mat_container.insert_item(storage) materials.silo_log(src, "collected", inserted, "sheets", matlist) if (QDELETED(storage)) stack_list -= key diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index 54f8e11b07..78b1a665db 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -122,13 +122,10 @@ to_chat(usr, "Error: Insufficient credits for [prize.equipment_name] on [I]!") flick(icon_deny, src) else - if (I.mining_points -= prize.cost) - to_chat(usr, "[src] clanks to life briefly before vending [prize.equipment_name]!") - new prize.equipment_path(src.loc) - SSblackbox.record_feedback("nested tally", "mining_equipment_bought", 1, list("[type]", "[prize.equipment_path]")) - else - to_chat(usr, "Error: Transaction failure, please try again later!") - flick(icon_deny, src) + I.mining_points -= prize.cost + to_chat(usr, "[src] clanks to life briefly before vending [prize.equipment_name]!") + new prize.equipment_path(src.loc) + SSblackbox.record_feedback("nested tally", "mining_equipment_bought", 1, list("[type]", "[prize.equipment_path]")) else to_chat(usr, "Error: An ID with a registered account is required!") flick(icon_deny, src) diff --git a/code/modules/mining/mint.dm b/code/modules/mining/mint.dm index f32afb2898..c9f9a2cfbb 100644 --- a/code/modules/mining/mint.dm +++ b/code/modules/mining/mint.dm @@ -8,14 +8,28 @@ density = TRUE var/newCoins = 0 //how many coins the machine made in it's last load var/processing = FALSE - var/chosen = MAT_METAL //which material will be used to make coins + var/chosen = /datum/material/iron //which material will be used to make coins var/coinsToProduce = 10 speed_process = TRUE /obj/machinery/mineral/mint/Initialize() . = ..() - AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_URANIUM, MAT_DIAMOND, MAT_BANANIUM), MINERAL_MATERIAL_AMOUNT * 50, FALSE, /obj/item/stack) + AddComponent(/datum/component/material_container, list( + /datum/material/iron, + /datum/material/plasma, + /datum/material/silver, + /datum/material/gold, + /datum/material/uranium, + /datum/material/titanium, + /datum/material/diamond, + /datum/material/bananium, + /datum/material/adamantine, + /datum/material/mythril, + /datum/material/plastic, + /datum/material/runite + ), MINERAL_MATERIAL_AMOUNT * 50, FALSE, /obj/item/stack) + chosen = getmaterialref(chosen) /obj/machinery/mineral/mint/process() var/turf/T = get_step(src, input_dir) @@ -24,7 +38,9 @@ var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) for(var/obj/item/stack/sheet/O in T) - materials.insert_stack(O, O.amount) + var/inserted = materials.insert_item(O) + if(inserted) + qdel(O) /obj/machinery/mineral/mint/attack_hand(mob/user) . = ..() @@ -33,17 +49,17 @@ var/dat = "Coin Press
" var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - for(var/mat_id in materials.materials) - var/datum/material/M = materials.materials[mat_id] - if(!M.amount && chosen != mat_id) + for(var/datum/material/M in materials.materials) + var/amount = materials.get_material_amount(M) + if(!amount && chosen != M) continue - dat += "
[M.name] amount: [M.amount] cm3 " - if (chosen == mat_id) + dat += "
[M.name] amount: [amount] cm3 " + if (chosen == M) dat += "Chosen" else - dat += "Choose" + dat += "Choose" - var/datum/material/M = materials.materials[chosen] + var/datum/material/M = chosen dat += "

Will produce [coinsToProduce] [lowertext(M.name)] coins if enough materials are available.
" dat += "-10 " @@ -67,22 +83,24 @@ return var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) if(href_list["choose"]) - if(materials.materials[href_list["choose"]]) - chosen = href_list["choose"] + var/datum/material/new_material = locate(href_list["choose"]) + if(istype(new_material)) + chosen = new_material if(href_list["chooseAmt"]) coinsToProduce = CLAMP(coinsToProduce + text2num(href_list["chooseAmt"]), 0, 1000) + updateUsrDialog() if(href_list["makeCoins"]) var/temp_coins = coinsToProduce processing = TRUE icon_state = "coinpress1" var/coin_mat = MINERAL_MATERIAL_AMOUNT * 0.2 - var/datum/material/M = materials.materials[chosen] - if(!M || !M.coin_type) + var/datum/material/M = chosen + if(!M) updateUsrDialog() return - while(coinsToProduce > 0 && materials.use_amount_type(coin_mat, chosen)) - create_coins(M.coin_type) + while(coinsToProduce > 0 && materials.use_amount_mat(coin_mat, chosen)) + create_coins() coinsToProduce-- newCoins++ src.updateUsrDialog() @@ -94,12 +112,15 @@ src.updateUsrDialog() return -/obj/machinery/mineral/mint/proc/create_coins(P) +/obj/machinery/mineral/mint/proc/create_coins() var/turf/T = get_step(src,output_dir) + var/temp_list = list() + temp_list[chosen] = 400 if(T) - var/obj/item/O = new P(src) - var/obj/item/storage/bag/money/M = locate(/obj/item/storage/bag/money, T) - if(!M) - M = new /obj/item/storage/bag/money(src) - unload_mineral(M) - O.forceMove(M) + var/obj/item/O = new /obj/item/coin(src) + var/obj/item/storage/bag/money/B = locate(/obj/item/storage/bag/money, T) + O.set_custom_materials(temp_list) + if(!B) + B = new /obj/item/storage/bag/money(src) + unload_mineral(B) + O.forceMove(B) diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index 7765bf8713..67c26abaef 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -17,6 +17,7 @@ var/points = 0 //How many points this ore gets you from the ore redemption machine var/refined_type = null //What this ore defaults to being refined into novariants = TRUE // Ore stacks handle their icon updates themselves to keep the illusion that there's more going + mats_per_stack = MINERAL_MATERIAL_AMOUNT var/list/stack_overlays /obj/item/stack/ore/update_icon() @@ -69,7 +70,8 @@ item_state = "Uranium ore" singular_name = "uranium ore chunk" points = 30 - materials = list(MAT_URANIUM=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/uranium=MINERAL_MATERIAL_AMOUNT) + material_flags = MATERIAL_NO_EFFECTS refined_type = /obj/item/stack/sheet/mineral/uranium /obj/item/stack/ore/iron @@ -78,7 +80,7 @@ item_state = "Iron ore" singular_name = "iron ore chunk" points = 1 - materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/iron=MINERAL_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/metal /obj/item/stack/ore/glass @@ -87,17 +89,17 @@ item_state = "Glass ore" singular_name = "sand pile" points = 1 - materials = list(MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/glass=MINERAL_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/glass w_class = WEIGHT_CLASS_TINY GLOBAL_LIST_INIT(sand_recipes, list(\ - new /datum/stack_recipe("sandstone", /obj/item/stack/sheet/mineral/sandstone, 1, 1, 50)\ - )) + new/datum/stack_recipe("sandstone", /obj/item/stack/sheet/mineral/sandstone, 1, 1, 50),\ + )) -/obj/item/stack/ore/glass/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.sand_recipes +/obj/item/stack/ore/glass/get_main_recipes() . = ..() + . += GLOB.sand_recipes /obj/item/stack/ore/glass/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) if(..() || !ishuman(hit_atom)) @@ -135,21 +137,20 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ item_state = "Plasma ore" singular_name = "plasma ore chunk" points = 15 - materials = list(MAT_PLASMA=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/plasma=MINERAL_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/mineral/plasma /obj/item/stack/ore/plasma/welder_act(mob/living/user, obj/item/I) to_chat(user, "You can't hit a high enough temperature to smelt [src] properly!") return TRUE - /obj/item/stack/ore/silver name = "silver ore" icon_state = "Silver ore" item_state = "Silver ore" singular_name = "silver ore chunk" points = 16 - materials = list(MAT_SILVER=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/silver=MINERAL_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/mineral/silver /obj/item/stack/ore/gold @@ -158,7 +159,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ icon_state = "Gold ore" singular_name = "gold ore chunk" points = 18 - materials = list(MAT_GOLD=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/gold=MINERAL_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/mineral/gold /obj/item/stack/ore/diamond @@ -167,7 +168,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ item_state = "Diamond ore" singular_name = "diamond ore chunk" points = 50 - materials = list(MAT_DIAMOND=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/diamond=MINERAL_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/mineral/diamond /obj/item/stack/ore/bananium @@ -176,7 +177,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ item_state = "Bananium ore" singular_name = "bananium ore chunk" points = 60 - materials = list(MAT_BANANIUM=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/bananium=MINERAL_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/mineral/bananium /obj/item/stack/ore/titanium @@ -185,7 +186,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ item_state = "Titanium ore" singular_name = "titanium ore chunk" points = 50 - materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/titanium=MINERAL_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/mineral/titanium /obj/item/stack/ore/slag @@ -313,17 +314,33 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /obj/item/coin icon = 'icons/obj/economy.dmi' name = "coin" - icon_state = "coin__heads" + icon_state = "coin" flags_1 = CONDUCT_1 force = 1 throwforce = 2 w_class = WEIGHT_CLASS_TINY + custom_materials = list(/datum/material/iron = 400) + material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR var/string_attached var/list/sideslist = list("heads","tails") - var/cmineral = null var/cooldown = 0 - var/value = 1 + var/value var/coinflip + item_flags = NO_MAT_REDEMPTION //You know, it's kind of a problem that money is worth more extrinsicly than intrinsically in this universe. + +/obj/item/coin/Initialize() + . = ..() + coinflip = pick(sideslist) + icon_state = "coin_[coinflip]" + pixel_x = rand(0,16)-8 + pixel_y = rand(0,8)-8 + +/obj/item/coin/set_custom_materials(list/materials, multiplier = 1) + . = ..() + value = 0 + for(var/i in custom_materials) + var/datum/material/M = i + value += M.value_per_unit * custom_materials[M] /obj/item/coin/suicide_act(mob/living/user) user.visible_message("[user] contemplates suicide with \the [src]!") @@ -342,101 +359,9 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ else user.visible_message("\the [src] lands on [coinflip]! [user] keeps on living!") -/obj/item/coin/Initialize() - . = ..() - pixel_x = rand(0,16)-8 - pixel_y = rand(0,8)-8 - /obj/item/coin/examine(mob/user) . = ..() - if(value) - . += "It's worth [value] credit\s." - -/obj/item/coin/gold - name = "gold coin" - cmineral = "gold" - icon_state = "coin_gold_heads" - value = 50 - materials = list(MAT_GOLD = MINERAL_MATERIAL_AMOUNT*0.2) - grind_results = list(/datum/reagent/gold = 4) - -/obj/item/coin/silver - name = "silver coin" - cmineral = "silver" - icon_state = "coin_silver_heads" - value = 20 - materials = list(MAT_SILVER = MINERAL_MATERIAL_AMOUNT*0.2) - grind_results = list(/datum/reagent/silver = 4) - -/obj/item/coin/diamond - name = "diamond coin" - cmineral = "diamond" - icon_state = "coin_diamond_heads" - value = 500 - materials = list(MAT_DIAMOND = MINERAL_MATERIAL_AMOUNT*0.2) - grind_results = list(/datum/reagent/carbon = 4) - -/obj/item/coin/iron - name = "iron coin" - cmineral = "iron" - icon_state = "coin_iron_heads" - value = 1 - materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT*0.2) - grind_results = list(/datum/reagent/iron = 4) - -/obj/item/coin/plasma - name = "plasma coin" - cmineral = "plasma" - icon_state = "coin_plasma_heads" - value = 100 - materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT*0.2) - grind_results = list(/datum/reagent/toxin/plasma = 4) - -/obj/item/coin/uranium - name = "uranium coin" - cmineral = "uranium" - icon_state = "coin_uranium_heads" - value = 80 - materials = list(MAT_URANIUM = MINERAL_MATERIAL_AMOUNT*0.2) - grind_results = list(/datum/reagent/uranium = 4) - -/obj/item/coin/bananium - name = "bananium coin" - cmineral = "bananium" - icon_state = "coin_bananium_heads" - value = 1000 //makes the clown cry - materials = list(MAT_BANANIUM = MINERAL_MATERIAL_AMOUNT*0.2) - grind_results = list(/datum/reagent/consumable/banana = 4) - -/obj/item/coin/adamantine - name = "adamantine coin" - cmineral = "adamantine" - icon_state = "coin_adamantine_heads" - value = 1500 - -/obj/item/coin/mythril - name = "mythril coin" - cmineral = "mythril" - icon_state = "coin_mythril_heads" - value = 3000 - -/obj/item/coin/twoheaded - cmineral = "iron" - icon_state = "coin_iron_heads" - desc = "Hey, this coin's the same on both sides!" - sideslist = list("heads") - materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT*0.2) - value = 1 - grind_results = list(/datum/reagent/iron = 4) - -/obj/item/coin/antagtoken - name = "antag token" - icon_state = "coin_valid_valid" - cmineral = "valid" - desc = "A novelty coin that helps the heart know what hard evidence cannot prove." - sideslist = list("valid", "salad") - value = 0 - grind_results = list(/datum/reagent/consumable/sodiumchloride = 4) + . += "It's worth [value] credit\s." /obj/item/coin/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/stack/cable_coil)) @@ -470,10 +395,10 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ if(string_attached) //does the coin have a wire attached to_chat(user, "The coin won't flip very well with something attached!" ) return FALSE//do not flip the coin - coinflip = pick(sideslist) cooldown = world.time + 15 - flick("coin_[cmineral]_flip", src) - icon_state = "coin_[cmineral]_[coinflip]" + flick("coin_[coinflip]_flip", src) + coinflip = pick(sideslist) + icon_state = "coin_[coinflip]" playsound(user.loc, 'sound/items/coinflip.ogg', 50, 1) var/oldloc = loc sleep(15) @@ -483,5 +408,51 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ "You hear the clattering of loose change.") return TRUE//did the coin flip? useful for suicide_act +/obj/item/coin/gold + custom_materials = list(/datum/material/gold = 400) + +/obj/item/coin/silver + custom_materials = list(/datum/material/silver = 400) + +/obj/item/coin/diamond + custom_materials = list(/datum/material/diamond = 400) + +/obj/item/coin/plasma + custom_materials = list(/datum/material/plasma = 400) + +/obj/item/coin/uranium + custom_materials = list(/datum/material/uranium = 400) + +/obj/item/coin/titanium + custom_materials = list(/datum/material/titanium = 400) + +/obj/item/coin/bananium + custom_materials = list(/datum/material/bananium = 400) + +/obj/item/coin/adamantine + custom_materials = list(/datum/material/adamantine = 400) + +/obj/item/coin/mythril + custom_materials = list(/datum/material/mythril = 400) + +/obj/item/coin/plastic + custom_materials = list(/datum/material/plastic = 400) + +/obj/item/coin/runite + custom_materials = list(/datum/material/runite = 400) + +/obj/item/coin/twoheaded + desc = "Hey, this coin's the same on both sides!" + sideslist = list("heads") + +/obj/item/coin/antagtoken + name = "antag token" + desc = "A novelty coin that helps the heart know what hard evidence cannot prove." + icon_state = "coin_valid" + custom_materials = list(/datum/material/plastic = 400) + sideslist = list("valid", "salad") + material_flags = NONE + +/obj/item/coin/iron #undef ORESTACK_OVERLAYS_MAX diff --git a/code/modules/mining/satchel_ore_boxdm.dm b/code/modules/mining/satchel_ore_boxdm.dm index d78a406b80..1d803371be 100644 --- a/code/modules/mining/satchel_ore_boxdm.dm +++ b/code/modules/mining/satchel_ore_boxdm.dm @@ -18,6 +18,10 @@ else return ..() +/obj/structure/ore_box/ComponentInitialize() + . = ..() + AddComponent(/datum/component/rad_insulation, 0.01) //please datum mats no more cancer + /obj/structure/ore_box/crowbar_act(mob/living/user, obj/item/I) if(I.use_tool(src, user, 50, volume=50)) user.visible_message("[user] pries \the [src] apart.", diff --git a/code/modules/mob/dead/new_player/sprite_accessories/tails.dm b/code/modules/mob/dead/new_player/sprite_accessories/tails.dm index dac91b5445..5ae3c9a8b3 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/tails.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/tails.dm @@ -170,6 +170,18 @@ icon = 'modular_citadel/icons/mob/mam_tails.dmi' color_src = MATRIXED +/datum/sprite_accessory/tails/human/twocat + name = "Cat, Double" + icon_state = "twocat" + icon = 'modular_citadel/icons/mob/mam_tails.dmi' + color_src = MATRIXED + +/datum/sprite_accessory/tails_animated/human/twocat + name = "Cat, Double" + icon_state = "twocat" + icon = 'modular_citadel/icons/mob/mam_tails.dmi' + color_src = MATRIXED + /datum/sprite_accessory/tails/human/cow name = "Cow" icon_state = "cow" @@ -562,6 +574,14 @@ /datum/sprite_accessory/mam_tails_animated/catbig name = "Cat, Big" icon_state = "catbig" + +/datum/sprite_accessory/mam_tails/twocat + name = "Cat, Double" + icon_state = "twocat" + +/datum/sprite_accessory/mam_tails_animated/twocat + name = "Cat, Double" + icon_state = "twocat" /datum/sprite_accessory/mam_tails/corvid name = "Corvid" diff --git a/code/modules/mob/dead/observer/login.dm b/code/modules/mob/dead/observer/login.dm index 1b328dbc69..8daf8ec052 100644 --- a/code/modules/mob/dead/observer/login.dm +++ b/code/modules/mob/dead/observer/login.dm @@ -6,7 +6,7 @@ var/preferred_form = null if(IsAdminGhost(src)) - has_unlimited_silicon_privilege = 1 + silicon_privileges = ALL if(client.prefs.unlock_content) preferred_form = client.prefs.ghost_form diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 325ea6e8ed..d2cf3608e6 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -289,7 +289,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/roundstart_quit_limit = CONFIG_GET(number/roundstart_suicide_time_limit) MINUTES if(world.time < roundstart_quit_limit) penalty += roundstart_quit_limit - world.time - if(penalty + world.realtime - SSshuttle.realtimeofstart > SSshuttle.auto_call + SSshuttle.emergencyCallTime + SSshuttle.emergencyDockTime + SSshuttle.emergencyEscapeTime) + var/maximumRoundEnd = SSautotransfer.starttime + SSautotransfer.voteinterval * SSautotransfer.maxvotes + if(penalty - SSshuttle.realtimeofstart > maximumRoundEnd + SSshuttle.emergencyCallTime + SSshuttle.emergencyDockTime + SSshuttle.emergencyEscapeTime) penalty = CANT_REENTER_ROUND if(SEND_SIGNAL(src, COMSIG_MOB_GHOSTIZE, (stat == DEAD) ? TRUE : FALSE, FALSE, (stat == DEAD)? penalty : 0, (stat == DEAD)? TRUE : FALSE) & COMPONENT_BLOCK_GHOSTING) @@ -323,7 +324,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/roundstart_quit_limit = CONFIG_GET(number/roundstart_suicide_time_limit) MINUTES if(world.time < roundstart_quit_limit) penalty += roundstart_quit_limit - world.time - if(penalty + world.realtime - SSshuttle.realtimeofstart > SSshuttle.auto_call + SSshuttle.emergencyCallTime + SSshuttle.emergencyDockTime + SSshuttle.emergencyEscapeTime) + var/maximumRoundEnd = SSautotransfer.starttime + SSautotransfer.voteinterval * SSautotransfer.maxvotes + if(penalty - SSshuttle.realtimeofstart > maximumRoundEnd + SSshuttle.emergencyCallTime + SSshuttle.emergencyDockTime + SSshuttle.emergencyEscapeTime) penalty = CANT_REENTER_ROUND var/response = alert(src, "Are you -sure- you want to ghost?\n(You are alive. If you ghost whilst alive you won't be able to re-enter this round [penalty ? "or play ghost roles [penalty == CANT_REENTER_ROUND ? "until the round is over" : "for the next [DisplayTimeText(penalty)]"]" : ""]! You can't change your mind so choose wisely!!)","Are you sure you want to ghost?","Ghost","Stay in body") diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 6460d8331d..574a5aedd2 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -834,12 +834,31 @@ update_inv_handcuffed() update_hud_handcuffed() +/mob/living/carbon/proc/can_defib() + var/tlimit = DEFIB_TIME_LIMIT * 10 + var/obj/item/organ/heart = getorgan(/obj/item/organ/heart) + if(suiciding || hellbound || HAS_TRAIT(src, TRAIT_HUSK)) + return + if((world.time - timeofdeath) > tlimit) + return + if((getBruteLoss() >= MAX_REVIVE_BRUTE_DAMAGE) || (getFireLoss() >= MAX_REVIVE_FIRE_DAMAGE)) + return + if(!heart || (heart.organ_flags & ORGAN_FAILING)) + return + var/obj/item/organ/brain/BR = getorgan(/obj/item/organ/brain) + if(QDELETED(BR) || BR.brain_death || (BR.organ_flags & ORGAN_FAILING) || suiciding) + return + return TRUE + /mob/living/carbon/fully_heal(admin_revive = FALSE) if(reagents) reagents.clear_reagents() var/obj/item/organ/brain/B = getorgan(/obj/item/organ/brain) if(B) B.brain_death = FALSE + for(var/O in internal_organs) + var/obj/item/organ/organ = O + organ.setOrganDamage(0) for(var/thing in diseases) var/datum/disease/D = thing if(D.severity != DISEASE_SEVERITY_POSITIVE) @@ -852,7 +871,8 @@ qdel(R) update_handcuffed() if(reagents) - reagents.addiction_list = list() + for(var/addi in reagents.addiction_list) + reagents.remove_addiction(addi) cure_all_traumas(TRAUMA_RESILIENCE_MAGIC) ..() // heal ears after healing traits, since ears check TRAIT_DEAF trait @@ -987,3 +1007,6 @@ return TRUE if(isclothing(wear_mask) && (wear_mask.clothing_flags & SCAN_REAGENTS)) return TRUE + +/mob/living/carbon/can_hold_items() + return TRUE diff --git a/code/modules/mob/living/carbon/damage_procs.dm b/code/modules/mob/living/carbon/damage_procs.dm index 5020cc7379..414f339b28 100644 --- a/code/modules/mob/living/carbon/damage_procs.dm +++ b/code/modules/mob/living/carbon/damage_procs.dm @@ -1,6 +1,7 @@ /mob/living/carbon/apply_damage(damage, damagetype = BRUTE, def_zone = null, blocked = FALSE, forced = FALSE) + SEND_SIGNAL(src, COMSIG_MOB_APPLY_DAMGE, damage, damagetype, def_zone) var/hit_percent = (100-blocked)/100 if(!forced && hit_percent <= 0) return 0 diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 8e19fa7776..fec82b357f 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -397,7 +397,7 @@ var/flavor = print_flavor_text(flavor_text) if(flavor) . += flavor - var/temp_flavor = print_flavor_text(flavor_text_2) + var/temp_flavor = print_flavor_text(flavor_text_2,TRUE) if(temp_flavor) . += temp_flavor SEND_SIGNAL(src, COMSIG_PARENT_EXAMINE, user, .) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index ef3d4cbb98..423277863f 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -803,7 +803,7 @@ hud_used.staminas?.update_icon_state() hud_used.staminabuffer?.update_icon_state() -/mob/living/carbon/human/fully_heal(admin_revive = 0) +/mob/living/carbon/human/fully_heal(admin_revive = FALSE) if(admin_revive) regenerate_limbs() regenerate_organs() @@ -823,9 +823,6 @@ . += dna.species.check_weakness(weapon, attacker) /mob/living/carbon/human/is_literate() - return 1 - -/mob/living/carbon/human/can_hold_items() return TRUE /mob/living/carbon/human/update_gravity(has_gravity,override = 0) @@ -834,7 +831,7 @@ ..() /mob/living/carbon/human/vomit(lost_nutrition = 10, blood = 0, stun = 1, distance = 0, message = 1, toxic = 0) - if(blood && (NOBLOOD in dna.species.species_traits)) + if(blood && dna?.species && (NOBLOOD in dna.species.species_traits)) if(message) visible_message("[src] dry heaves!", \ "You try to throw up, but there's nothing in your stomach!") diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index accaab3ac1..57b8f59780 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -20,7 +20,7 @@ /mob/living/carbon/human/proc/checkarmor(obj/item/bodypart/def_zone, d_type) - if(!d_type) + if(!d_type || !def_zone) return 0 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) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index e62177abbb..b1bc47ea4a 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1924,6 +1924,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) log_combat(user, target, "shoved", append_message) /datum/species/proc/apply_damage(damage, damagetype = BRUTE, def_zone = null, blocked, mob/living/carbon/human/H, forced = FALSE) + SEND_SIGNAL(src, COMSIG_MOB_APPLY_DAMGE, damage, damagetype, def_zone) var/hit_percent = (100-(blocked+armor))/100 hit_percent = (hit_percent * (100-H.physiology.damage_resistance))/100 if(!forced && hit_percent <= 0) diff --git a/code/modules/mob/living/carbon/human/species_types/bugmen.dm b/code/modules/mob/living/carbon/human/species_types/bugmen.dm index 718599c550..e2e41330fb 100644 --- a/code/modules/mob/living/carbon/human/species_types/bugmen.dm +++ b/code/modules/mob/living/carbon/human/species_types/bugmen.dm @@ -3,7 +3,7 @@ id = "insect" default_color = "00FF00" species_traits = list(LIPS,EYECOLOR,HAIR,FACEHAIR,MUTCOLORS,HORNCOLOR,WINGCOLOR) - inherent_biotypes = list(MOB_ORGANIC, MOB_HUMANOID, MOB_BUG) + inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_BUG mutant_bodyparts = list("mam_ears","mam_tail", "taur", "insect_wings","mam_snout", "mam_snouts", "insect_fluff","insect_markings") default_features = list("mcolor" = "FFF","mcolor2" = "FFF","mcolor3" = "FFF", "mam_tail" = "None", "mam_ears" = "None", "insect_wings" = "None", "insect_fluff" = "None", "mam_snouts" = "None", "taur" = "None", "insect_markings" = "None") diff --git a/code/modules/mob/living/carbon/human/species_types/dullahan.dm b/code/modules/mob/living/carbon/human/species_types/dullahan.dm index 220e639e34..499e3b0276 100644 --- a/code/modules/mob/living/carbon/human/species_types/dullahan.dm +++ b/code/modules/mob/living/carbon/human/species_types/dullahan.dm @@ -135,7 +135,7 @@ RegisterSignal(owner, COMSIG_CLICK_SHIFT, .proc/examinate_check) RegisterSignal(src, COMSIG_ATOM_HEARER_IN_VIEW, .proc/include_owner) RegisterSignal(owner, COMSIG_LIVING_REGENERATE_LIMBS, .proc/unlist_head) - RegisterSignal(owner, COMSIG_LIVING_FULLY_HEAL, .proc/retrieve_head) + RegisterSignal(owner, COMSIG_LIVING_REVIVE, .proc/retrieve_head) /obj/item/dullahan_relay/proc/examinate_check(atom/source, mob/user) if(user.client.eye == src) @@ -148,8 +148,9 @@ /obj/item/dullahan_relay/proc/unlist_head(datum/source, noheal = FALSE, list/excluded_limbs) excluded_limbs |= BODY_ZONE_HEAD // So we don't gib when regenerating limbs. -/obj/item/dullahan_relay/proc/retrieve_head(datum/source, admin_revive = FALSE) - if(admin_revive) //retrieving the owner's head for ahealing purposes. +//Retrieving the owner's head for better ahealing. +/obj/item/dullahan_relay/proc/retrieve_head(datum/source, full_heal, admin_revive) + if(admin_revive) var/obj/item/bodypart/head/H = loc var/turf/T = get_turf(owner) if(H && istype(H) && T && !(H in owner.GetAllContents())) diff --git a/code/modules/mob/living/carbon/human/species_types/furrypeople.dm b/code/modules/mob/living/carbon/human/species_types/furrypeople.dm index e2adb2acd9..ab86b2cc5d 100644 --- a/code/modules/mob/living/carbon/human/species_types/furrypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/furrypeople.dm @@ -4,7 +4,7 @@ default_color = "4B4B4B" should_draw_citadel = TRUE species_traits = list(MUTCOLORS,EYECOLOR,LIPS,HAIR,HORNCOLOR,WINGCOLOR) - inherent_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) + inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_BEAST mutant_bodyparts = list("mam_tail", "mam_ears", "mam_body_markings", "mam_snouts", "deco_wings", "taur", "horns", "legs") default_features = list("mcolor" = "FFF","mcolor2" = "FFF","mcolor3" = "FFF", "mam_snouts" = "Husky", "mam_tail" = "Husky", "mam_ears" = "Husky", "deco_wings" = "None", "mam_body_markings" = "Husky", "taur" = "None", "horns" = "None", "legs" = "Plantigrade", "meat_type" = "Mammalian") @@ -57,7 +57,6 @@ default_color = "00FF00" should_draw_citadel = TRUE species_traits = list(MUTCOLORS,EYECOLOR,LIPS) - inherent_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) mutant_bodyparts = list("xenotail", "xenohead", "xenodorsal", "mam_body_markings", "taur", "legs") default_features = list("xenotail"="Xenomorph Tail","xenohead"="Standard","xenodorsal"="Standard", "mam_body_markings" = "Xeno","mcolor" = "0F0","mcolor2" = "0F0","mcolor3" = "0F0","taur" = "None", "legs" = "Digitigrade") attack_verb = "slash" 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 6da73f0b79..446e726256 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -636,7 +636,7 @@ limbs_id = "clockgolem" info_text = "As a Clockwork Golem, you are faster than other types of golems, and are capable of using guns. On death, you will break down into scrap." species_traits = list(NOBLOOD,NO_UNDERWEAR,NOEYES,NOGENITALS,NOAROUSAL) - inherent_biotypes = list(MOB_ROBOTIC, MOB_HUMANOID) + inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOFIRE,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER) inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID armor = 20 //Reinforced, but much less so to allow for fast movement @@ -969,7 +969,7 @@ special_names = list("Head", "Broth", "Fracture", "Rattler", "Appetit") liked_food = GROSS | MEAT | RAW toxic_food = null - inherent_biotypes = list(MOB_UNDEAD, MOB_HUMANOID) + inherent_biotypes = MOB_UNDEAD|MOB_HUMANOID mutanttongue = /obj/item/organ/tongue/bone sexes = FALSE fixed_mut_color = "ffffff" diff --git a/code/modules/mob/living/carbon/human/species_types/ipc.dm b/code/modules/mob/living/carbon/human/species_types/ipc.dm index 4249be098f..add0e17c43 100644 --- a/code/modules/mob/living/carbon/human/species_types/ipc.dm +++ b/code/modules/mob/living/carbon/human/species_types/ipc.dm @@ -7,13 +7,19 @@ blacklisted = 0 sexes = 0 species_traits = list(MUTCOLORS,NOEYES,NOTRANSSTING) - inherent_biotypes = list(MOB_ROBOTIC, MOB_HUMANOID) + inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID mutant_bodyparts = list("ipc_screen", "ipc_antenna") default_features = list("ipc_screen" = "Blank", "ipc_antenna" = "None") meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/ipc gib_types = list(/obj/effect/gibspawner/ipc, /obj/effect/gibspawner/ipc/bodypartless) mutanttongue = /obj/item/organ/tongue/robot/ipc +//Just robo looking parts. mutant_heart = /obj/item/organ/heart/ipc + mutantlungs = /obj/item/organ/lungs/ipc + mutantliver = /obj/item/organ/liver/ipc + mutantstomach = /obj/item/organ/stomach/ipc + mutanteyes = /obj/item/organ/eyes/ipc + exotic_bloodtype = "HF" var/datum/action/innate/monitor_change/screen 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 49af501942..70abba5a01 100644 --- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm @@ -213,6 +213,16 @@ PDA.f_lum = 0 PDA.update_icon() visible_message("The light in [PDA] shorts out!") + else if(istype(O, /obj/item/gun)) + var/obj/item/gun/weapon = O + if(weapon.gun_light) + var/obj/item/flashlight/seclite/light = weapon.gun_light + light.forceMove(get_turf(weapon)) + light.burn() + weapon.gun_light = null + weapon.update_gunlight() + QDEL_NULL(weapon.alight) + visible_message("[light] on [O] flickers out and disintegrates!") else visible_message("[O] is disintegrated by [src]!") O.burn() diff --git a/code/modules/mob/living/carbon/inventory.dm b/code/modules/mob/living/carbon/inventory.dm index bbae050bba..24acccdd2e 100644 --- a/code/modules/mob/living/carbon/inventory.dm +++ b/code/modules/mob/living/carbon/inventory.dm @@ -72,7 +72,7 @@ put_in_hands(I) update_inv_hands() if(SLOT_IN_BACKPACK) - if(!SEND_SIGNAL(back, COMSIG_TRY_STORAGE_INSERT, I, src, TRUE)) + if(!back || !SEND_SIGNAL(back, COMSIG_TRY_STORAGE_INSERT, I, src, TRUE)) not_handled = TRUE else not_handled = TRUE diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 0c11d6ab42..e8cf0225e6 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -482,7 +482,8 @@ med_hud_set_status() //proc used to ressuscitate a mob -/mob/living/proc/revive(full_heal = 0, admin_revive = 0) +/mob/living/proc/revive(full_heal = FALSE, admin_revive = FALSE) + SEND_SIGNAL(src, COMSIG_LIVING_REVIVE, full_heal, admin_revive) if(full_heal) fully_heal(admin_revive) if(stat == DEAD && can_be_revived()) //in some cases you can't revive (e.g. no brain) @@ -528,11 +529,6 @@ fire_stacks = 0 confused = 0 update_canmove() - var/datum/component/mood/mood = GetComponent(/datum/component/mood) - if (mood) - QDEL_LIST_ASSOC_VAL(mood.mood_events) - mood.sanity = SANITY_GREAT - mood.update_mood() //Heal all organs if(iscarbon(src)) var/mob/living/carbon/C = src @@ -540,8 +536,6 @@ for(var/organ in C.internal_organs) var/obj/item/organ/O = organ O.setOrganDamage(0) - SEND_SIGNAL(src, COMSIG_LIVING_FULLY_HEAL, admin_revive) - //proc called by revive(), to check if we can actually ressuscitate the mob (we don't want to revive him and have him instantly die again) /mob/living/proc/can_be_revived() @@ -552,6 +546,12 @@ /mob/living/proc/update_damage_overlays() return +/mob/living/Crossed(atom/movable/AM) + . = ..() + for(var/i in get_equipped_items()) + var/obj/item/item = i + SEND_SIGNAL(item, COMSIG_ITEM_WEARERCROSSED, AM) + /mob/living/Move(atom/newloc, direct) if (buckled && buckled.loc != newloc) //not updating position if (!buckled.anchored) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index ed0d0d02e8..3b15c47bcb 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -146,7 +146,7 @@ aiPDA.name = name + " (" + aiPDA.ownjob + ")" aiMulti = new(src) - radio = new /obj/item/radio/headset/ai(src) + radio = new /obj/item/radio/headset/silicon/ai(src) aicamera = new/obj/item/camera/siliconcam/ai_camera(src) deploy_action.Grant(src) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 409665f792..074e637120 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -2,7 +2,6 @@ name = "pAI" icon = 'icons/mob/pai.dmi' icon_state = "repairbot" - mouse_opacity = MOUSE_OPACITY_OPAQUE density = FALSE pass_flags = PASSTABLE | PASSMOB mob_size = MOB_SIZE_TINY @@ -11,6 +10,8 @@ health = 500 maxHealth = 500 layer = BELOW_MOB_LAYER + var/obj/item/instrument/piano_synth/internal_instrument + silicon_privileges = PRIVILEDGES_PAI var/datum/element/mob_holder/current_mob_holder //because only a few of their chassis can be actually held. var/network = "ss13" @@ -27,6 +28,7 @@ var/speakDoubleExclamation = "alarms" var/speakQuery = "queries" + var/obj/item/radio/headset // The pAI's headset var/obj/item/pai_cable/cable // The cable we produce and use when door or camera jacking var/master // Name of the one who commands us @@ -54,6 +56,7 @@ var/obj/item/integrated_signaler/signaler // AI's signaller + var/encryptmod = FALSE var/holoform = FALSE var/canholo = TRUE var/obj/item/card/id/access_card = null @@ -74,7 +77,7 @@ var/emitteroverloadcd = 100 var/radio_short = FALSE - var/radio_short_cooldown = 5 MINUTES + var/radio_short_cooldown = 3 MINUTES var/radio_short_timerid canmove = FALSE @@ -84,6 +87,7 @@ var/icon/custom_holoform_icon /mob/living/silicon/pai/Destroy() + QDEL_NULL(internal_instrument) if (loc != card) card.forceMove(drop_location()) card.pai = null @@ -106,7 +110,7 @@ card = P signaler = new(src) if(!radio) - radio = new /obj/item/radio(src) + radio = new /obj/item/radio/headset/silicon/pai(src) //PDA pda = new(src) @@ -296,6 +300,17 @@ /mob/living/silicon/pai/process() emitterhealth = CLAMP((emitterhealth + emitterregen), -50, emittermaxhealth) +/obj/item/paicard/attackby(obj/item/W, mob/user, params) + ..() + user.set_machine(src) + if(pai.encryptmod == TRUE) + if(W.tool_behaviour == TOOL_SCREWDRIVER) + pai.radio.attackby(W, user, params) + else if(istype(W, /obj/item/encryptionkey)) + pai.radio.attackby(W, user, params) + else + to_chat(user, "Encryption Key ports not configured.") + /mob/living/silicon/pai/proc/short_radio() if(radio_short_timerid) deltimer(radio_short_timerid) diff --git a/code/modules/mob/living/silicon/pai/pai_defense.dm b/code/modules/mob/living/silicon/pai/pai_defense.dm index d8e910642d..93cf10706a 100644 --- a/code/modules/mob/living/silicon/pai/pai_defense.dm +++ b/code/modules/mob/living/silicon/pai/pai_defense.dm @@ -56,7 +56,8 @@ if(P.stun) fold_in(force = TRUE) visible_message("The electrically-charged projectile disrupts [src]'s holomatrix, forcing [src] to fold in!") - return ..() + . = ..() + return BULLET_ACT_FORCE_PIERCE /mob/living/silicon/pai/stripPanelUnequip(obj/item/what, mob/who, where) //prevents stripping to_chat(src, "Your holochassis stutters and warps intensely as you attempt to interact with the object, forcing you to cease lest the field fail.") diff --git a/code/modules/mob/living/silicon/pai/pai_shell.dm b/code/modules/mob/living/silicon/pai/pai_shell.dm index 8ae44c042f..641ad6dde0 100644 --- a/code/modules/mob/living/silicon/pai/pai_shell.dm +++ b/code/modules/mob/living/silicon/pai/pai_shell.dm @@ -96,12 +96,10 @@ dynamic_chassis = choice resist_a_rest(FALSE, TRUE) update_icon() + current_mob_holder?.Detach(src) + current_mob_holder = null if(possible_chassis[chassis]) current_mob_holder = AddElement(/datum/element/mob_holder, chassis, 'icons/mob/pai_item_head.dmi', 'icons/mob/pai_item_rh.dmi', 'icons/mob/pai_item_lh.dmi', SLOT_HEAD) - else - current_mob_holder?.Detach(src) - current_mob_holder = null - return to_chat(src, "You switch your holochassis projection composite to [chassis]") /mob/living/silicon/pai/lay_down() diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm index 55f4bdd65d..7751632813 100644 --- a/code/modules/mob/living/silicon/pai/software.dm +++ b/code/modules/mob/living/silicon/pai/software.dm @@ -20,6 +20,8 @@ "universal translator" = 35, //"projection array" = 15 "remote signaller" = 5, + "loudness booster" = 25, + "encryption keys" = 20 ) /mob/living/silicon/pai/proc/paiInterface() @@ -50,6 +52,8 @@ left_part = softwareMedicalRecord() if("securityrecord") left_part = softwareSecurityRecord() + if("encryptionkeys") + left_part = softwareEncryptionKeys() if("translator") left_part = softwareTranslator() if("atmosensor") @@ -64,6 +68,8 @@ left_part = softwareCamera() if("signaller") left_part = softwareSignal() + if("loudness") + left_part = softwareLoudness() //usr << browse_rsc('windowbak.png') // This has been moved to the mob's Login() proc @@ -256,6 +262,9 @@ else var/datum/atom_hud/med = GLOB.huds[med_hud] med.remove_hud_from(src) + if("encryptionkeys") + if(href_list["toggle"]) + encryptmod = TRUE if("translator") if(href_list["toggle"]) grant_all_languages(TRUE) @@ -271,6 +280,12 @@ var/turf/T = get_turf(loc) cable = new /obj/item/pai_cable(T) T.visible_message("A port on [src] opens to reveal [cable], which promptly falls to the floor.", "You hear the soft click of something light and hard falling to the ground.") + if("loudness") + if(subscreen == 1) // Open Instrument + internal_instrument.interact(src) + if(subscreen == 2) // Change Instrument type + internal_instrument.selectInstrument() + //updateUsrDialog() We only need to account for the single mob this is intended for, and he will *always* be able to call this window paiInterface() // So we'll just call the update directly rather than doing some default checks return @@ -306,6 +321,8 @@ dat += "Camera Jack
" if(s == "remote signaller") dat += "Remote Signaller
" + if(s == "loudness booster") + dat += "Loudness Booster
" dat += "
" // Advanced @@ -319,6 +336,8 @@ dat += "Facial Recognition Suite[(secHUD) ? " On" : " Off"]
" if(s == "medical HUD") dat += "Medical Analysis Suite[(medHUD) ? " On" : " Off"]
" + if(s == "encryption keys") + dat += "Channel Encryption Firmware[(encryptmod) ? " On" : " Off"]
" if(s == "universal translator") var/datum/language_holder/H = get_language_holder() dat += "Universal Translator[H.omnitongue ? " On" : " Off"]
" @@ -469,6 +488,14 @@ . += "
Requested security record not found,

" . += "
\nBack
" return . +// Encryption Keys +// Encryption kets +/mob/living/silicon/pai/proc/softwareEncryptionKeys() + var/dat = {"

Encryption Key Firmware


+ When enabled, this device will be able to use up to two (2) encryption keys for departmental channel access.

+ The device is currently [encryptmod ? "en" : "dis" ]abled.
[encryptmod ? "" : "Activate Encryption Key Ports
"]"} + return dat + // Universal Translator /mob/living/silicon/pai/proc/softwareTranslator() @@ -630,3 +657,12 @@ dat += "

" dat += "Messages:
[pda.tnote]" return dat + +// Loudness Booster +/mob/living/silicon/pai/proc/softwareLoudness() + if(!internal_instrument) + internal_instrument = new(src) + var/dat = "

Sound Synthetizer

" + dat += "Open Synthesizer Interface
" + dat += "Choose Instrument Type" + return dat diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index c6af8bd4c2..f3e0816b1b 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -97,8 +97,8 @@ 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.materials[MAT_METAL]) - S.cost = S.materials[MAT_METAL] * 0.25 + if(S.custom_materials?.len && S.custom_materials[getmaterialref(/datum/material/iron)]) + S.cost = S.custom_materials[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)) @@ -127,7 +127,7 @@ S.source = get_or_create_estorage(/datum/robot_energy_storage/wrapping_paper) if(S && S.source) - S.materials = list() + S.custom_materials = null S.is_cyborg = 1 if(I.loc != src) @@ -596,8 +596,8 @@ /obj/item/robot_module/peacekeeper/do_transform_animation() ..() - to_chat(loc, "Under ASIMOV/CREWSIMOV, you are an enforcer of the PEACE and preventer of HUMAN/CREW HARM. \ - You are not a security module and you are expected to follow orders and prevent harm above all else. Space law means nothing to you.") + to_chat(loc, "Under ASIMOV/CREWSIMOV, you are an enforcer of the PEACE. \ + You are not a security module and you are expected to follow orders to the best of your abilities without causing harm. Space law means nothing to you.") /obj/item/robot_module/peacekeeper/be_transformed_to(obj/item/robot_module/old_module) var/mob/living/silicon/robot/R = loc diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 72e98e348c..531faff056 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -1,6 +1,6 @@ /mob/living/silicon gender = NEUTER - has_unlimited_silicon_privilege = 1 + silicon_privileges = PRIVILEDGES_SILICON verb_say = "states" verb_ask = "queries" verb_exclaim = "declares" diff --git a/code/modules/mob/living/simple_animal/astral.dm b/code/modules/mob/living/simple_animal/astral.dm index 472cbd7414..6edf99981a 100644 --- a/code/modules/mob/living/simple_animal/astral.dm +++ b/code/modules/mob/living/simple_animal/astral.dm @@ -4,7 +4,7 @@ icon = 'icons/mob/mob.dmi' icon_state = "ghost" icon_living = "ghost" - mob_biotypes = list(MOB_SPIRIT) + mob_biotypes = MOB_SPIRIT attacktext = "raises the hairs on the neck of" response_harm = "disrupts the concentration of" response_disarm = "wafts" diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 7da0ad13da..d5e6f687fb 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -15,7 +15,7 @@ maxbodytemp = INFINITY minbodytemp = 0 blood_volume = 0 - has_unlimited_silicon_privilege = 1 + silicon_privileges = PRIVILEDGES_BOT sentience_type = SENTIENCE_ARTIFICIAL status_flags = NONE //no default canpush verb_say = "states" @@ -194,10 +194,12 @@ if(locked) //First emag application unlocks the bot's interface. Apply a screwdriver to use the emag again. locked = FALSE emagged = 1 - to_chat(user, "You bypass [src]'s controls.") + if(user) + to_chat(user, "You bypass [src]'s controls.") return TRUE if(!open) - to_chat(user, "You need to open maintenance panel first!") + if(user) + to_chat(user, "You need to open maintenance panel first!") return emagged = 2 remote_disabled = 1 //Manually emagging the bot locks out the AI built in panel. @@ -205,7 +207,8 @@ bot_reset() turn_on() //The bot automatically turns on when emagged, unless recently hit with EMP. to_chat(src, "(#$*#$^^( OVERRIDE DETECTED") - log_combat(user, src, "emagged") + if(user) + log_combat(user, src, "emagged") return TRUE /mob/living/simple_animal/bot/examine(mob/user) diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index b23f3f2baa..b5aa8b6967 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -123,7 +123,8 @@ emagged = TRUE if(!open) locked = !locked - to_chat(user, "You [locked ? "lock" : "unlock"] [src]'s controls!") + if(user) + to_chat(user, "You [locked ? "lock" : "unlock"] [src]'s controls!") flick("mulebot-emagged", src) playsound(src, "sparks", 100, FALSE) @@ -180,7 +181,7 @@ var/list/data = list() data["on"] = on data["locked"] = locked - data["siliconUser"] = user.has_unlimited_silicon_privilege + data["siliconUser"] = hasSiliconAccessInArea(usr) data["mode"] = mode ? mode_name[mode] : "Ready" data["modeStatus"] = "" switch(mode) @@ -205,11 +206,12 @@ return data /mob/living/simple_animal/bot/mulebot/ui_act(action, params) - if(..() || (locked && !usr.has_unlimited_silicon_privilege)) + var/silicon_access = hasSiliconAccessInArea(usr) + if(..() || (locked && silicon_access)) return switch(action) if("lock") - if(usr.has_unlimited_silicon_privilege) + if(silicon_access) locked = !locked . = TRUE if("power") @@ -766,4 +768,3 @@ /obj/machinery/bot_core/mulebot req_access = list(ACCESS_CARGO) - \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/friendly/bumbles.dm b/code/modules/mob/living/simple_animal/friendly/bumbles.dm index 63e9fbf852..17e1490c3f 100644 --- a/code/modules/mob/living/simple_animal/friendly/bumbles.dm +++ b/code/modules/mob/living/simple_animal/friendly/bumbles.dm @@ -18,7 +18,7 @@ pass_flags = PASSTABLE | PASSGRILLE | PASSMOB ventcrawler = VENTCRAWLER_ALWAYS mob_size = MOB_SIZE_TINY - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST gold_core_spawnable = FRIENDLY_SPAWN verb_say = "bzzs" verb_ask = "bzzs inquisitively" @@ -34,14 +34,12 @@ AddElement(/datum/element/wuv, "bzzs!") /mob/living/simple_animal/pet/bumbles/update_canmove() - ..() + . = ..() if(client && stat != DEAD) if (resting) icon_state = "[icon_living]_rest" - collar_type = "[initial(collar_type)]_rest" else icon_state = "[icon_living]" - collar_type = "[initial(collar_type)]" regenerate_icons() /mob/living/simple_animal/pet/bumbles/bee_friendly() 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 7dd373b49f..43149e6ba7 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm @@ -41,7 +41,7 @@ bubble_icon = "machine" initial_language_holder = /datum/language_holder/drone mob_size = MOB_SIZE_SMALL - has_unlimited_silicon_privilege = 1 + silicon_privileges = PRIVILEDGES_DRONE damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) hud_possible = list(DIAG_STAT_HUD, DIAG_HUD, ANTAG_HUD) unique_name = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/dark_wizard.dm b/code/modules/mob/living/simple_animal/hostile/dark_wizard.dm new file mode 100644 index 0000000000..aec136af7d --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/dark_wizard.dm @@ -0,0 +1,39 @@ +/mob/living/simple_animal/hostile/dark_wizard + name = "Dark Wizard" + desc = "Killing amateurs since the dawn of times." + icon = 'icons/mob/simple_human.dmi' + icon_state = "dark_wizard" + icon_living = "dark_wizard" + move_to_delay = 10 + projectiletype = /obj/item/projectile/temp/earth_bolt + projectilesound = 'sound/magic/ethereal_enter.ogg' + ranged = TRUE + ranged_message = "earth bolts" + ranged_cooldown_time = 20 + maxHealth = 50 + health = 50 + harm_intent_damage = 5 + obj_damage = 20 + melee_damage_lower = 5 + melee_damage_upper = 5 + attacktext = "staves" + a_intent = INTENT_HARM + speak_emote = list("chants") + attack_sound = 'sound/weapons/bladeslice.ogg' + aggro_vision_range = 9 + turns_per_move = 5 + gold_core_spawnable = HOSTILE_SPAWN + faction = list(ROLE_WIZARD) + do_footstep = TRUE + weather_immunities = list("lava","ash") + minbodytemp = 0 + maxbodytemp = INFINITY + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + loot = list(/obj/effect/decal/remains/human) + +/obj/item/projectile/temp/earth_bolt + name = "earth_bolt" + icon_state = "declone" + damage = 4 + damage_type = BURN + flag = "energy" \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebot.dm index ee9d1dddbd..1cc675825f 100644 --- a/code/modules/mob/living/simple_animal/hostile/hivebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/hivebot.dm @@ -10,7 +10,7 @@ icon_living = "basic" icon_dead = "basic" gender = NEUTER - mob_biotypes = list(MOB_ROBOTIC) + mob_biotypes = MOB_ROBOTIC health = 50 maxHealth = 50 healable = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm index c7d90f9556..1ddd9079b2 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm @@ -47,7 +47,7 @@ GLOBAL_LIST_INIT(AISwarmerCapsByType, list(/mob/living/simple_animal/hostile/swa icon_state = "swarmer_console" health = 750 maxHealth = 750 //""""low-ish"""" HP because it's a passive boss, and the swarm itself is the real foe - mob_biotypes = list(MOB_ROBOTIC) + mob_biotypes = MOB_ROBOTIC medal_type = BOSS_MEDAL_SWARMERS score_type = SWARMER_BEACON_SCORE faction = list("mining", "boss", "swarmer") diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm index 116e2b8e45..fdc3e2e9b7 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm @@ -37,7 +37,7 @@ throw_message = "does nothing to the rocky hide of the" speed = 2 move_to_delay = 5 - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST mouse_opacity = MOUSE_OPACITY_ICON deathmessage = "explodes into gore!" loot_drop = /obj/item/crusher_trophy/broodmother_tongue @@ -178,7 +178,7 @@ throw_message = "does nothing to the rocky hide of the" speed = 2 move_to_delay = 5 - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST mouse_opacity = MOUSE_OPACITY_ICON butcher_results = list() guaranteed_butcher_results = list(/obj/item/stack/sheet/animalhide/goliath_hide = 1) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index 11de9df70b..5d54f92d47 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -81,11 +81,13 @@ throw_message = "falls right through the strange body of the" obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE - pass_flags = PASSTABLE + pass_flags = PASSTABLE | PASSMOB //they shouldn't get stuck behind hivelords. + density = FALSE del_on_death = 1 /mob/living/simple_animal/hostile/asteroid/hivelordbrood/Initialize() . = ..() + AddComponent(/datum/component/swarming) //oh god not the bees addtimer(CALLBACK(src, .proc/death), 100) //Legion @@ -135,6 +137,11 @@ crusher_drop_mod = 20 dwarf_mob = TRUE +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/beegion + name = "beegion" + desc = "You can still see what was once a human under the shifting mass of - oh my God, those are bees." + brood_type = /mob/living/simple_animal/hostile/poison/bees/toxin + /mob/living/simple_animal/hostile/asteroid/hivelord/legion/death(gibbed) visible_message("The skulls on [src] wail in anger as they flee from their dying host!") var/turf/T = get_turf(src) @@ -174,7 +181,6 @@ speak_emote = list("echoes") attack_sound = 'sound/weapons/pierce.ogg' throw_message = "is shrugged off by" - pass_flags = PASSTABLE del_on_death = TRUE stat_attack = UNCONSCIOUS robust_searching = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/sharks.dm b/code/modules/mob/living/simple_animal/hostile/sharks.dm new file mode 100644 index 0000000000..c94e49b286 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/sharks.dm @@ -0,0 +1,91 @@ +//shameless copies of carps. + +/mob/living/simple_animal/hostile/shark + name = "Space Shark" + desc = "The best terror of the seas, next to the kraken." + icon_state = "shark" + icon_living = "shark" + icon = 'icons/mob/sharks.dmi' + icon_dead = "shark_dead" + icon_gib = "carp_gib" + environment_smash = 0 + speak_chance = 0 + turns_per_move = 3 + butcher_results = list(/obj/item/reagent_containers/food/snacks/carpmeat = 3) + response_help = "pets" + response_disarm = "gently pushes aside" + response_harm = "hits" + speed = 0 + maxHealth = 75 + health = 75 + harm_intent_damage = 18 + melee_damage_lower = 18 + melee_damage_upper = 18 + attacktext = "maims" + attack_sound = 'sound/weapons/bite.ogg' + gold_core_spawnable = 1 + //Space shark aren't affected by cold. + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 0 + maxbodytemp = 1500 + + 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! + +/mob/living/simple_animal/hostile/shark/FindTarget() + . = ..() + if(.) + emote("me", 1, "growls at [.]!") + +/mob/living/simple_animal/hostile/shark/AttackingTarget() + . =..() + var/mob/living/carbon/L = . + if(istype(L)) + if(prob(25)) + L.Knockdown(20) + L.visible_message("\the [src] knocks down \the [L]!") + + +/mob/living/simple_animal/hostile/shark/laser + name = "Laser-Shark" + desc = "NOW we've jumped the shark." + icon_state = "lasershark" + icon_living = "lasershark" + icon_dead = "lasershark_dead" + icon_gib = "carp_gib" + ranged = 1 + retreat_distance = 3 + minimum_distance = 0 //Between shots they can and will close in to nash + projectiletype = /obj/item/projectile/beam/laser/heavylaser + projectilesound = 'sound/weapons/lasercannonfire.ogg' + maxHealth = 50 + health = 50 + +/mob/living/simple_animal/hostile/shark/kawaii + name = "Kawaii Shark" + desc = "Senpai~ Notice me.." + icon_state = "kawaiishark" + icon_living = "kawaiishark" + icon_dead = "kawaiishark_dead" + speak = list("Oh Senpai","Notice me senpai!","Oh my...","Kawaii~") + speak_emote = list("lovingly says","says") + speak_chance = 2 + turns_per_move = 3 + butcher_results = list(/mob/living/simple_animal/butterfly = 3) + maxHealth = 50 + health = 50 + maxbodytemp = INFINITY + + harm_intent_damage = 0 + melee_damage_lower = 0 + melee_damage_upper = 0 + attacktext = "violently hugs" + vision_range = 0 + +/mob/living/simple_animal/hostile/shark/kawaii/death() + say("Senpai, you noticed~!") + LoseAggro() + ..() + walk(src, 0) diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index 5ad787b143..2bab332cd0 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -126,7 +126,7 @@ // This loop will, at most, loop twice. for(var/atom/check in check_list) for(var/mob/living/M in viewers(world.view + 1, check) - src) - if(M.client && CanAttack(M) && !M.has_unlimited_silicon_privilege) + if(M.client && CanAttack(M) && !M.silicon_privileges) if(!M.eye_blind) return M for(var/obj/mecha/M in view(world.view + 1, check)) //assuming if you can see them they can see you diff --git a/code/modules/mob/living/simple_animal/hostile/zombie.dm b/code/modules/mob/living/simple_animal/hostile/zombie.dm index ae3f0465d5..e926a5d332 100644 --- a/code/modules/mob/living/simple_animal/hostile/zombie.dm +++ b/code/modules/mob/living/simple_animal/hostile/zombie.dm @@ -64,7 +64,7 @@ icon_state = "husk" icon_living = "husk" icon_dead = "husk" - mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_ORGANIC|MOB_HUMANOID speak_chance = 0 stat_attack = UNCONSCIOUS //braains maxHealth = 100 diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 6d5ae72e77..c45f6eec13 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -95,7 +95,7 @@ var/digitalinvis = 0 //Are they ivisible to the AI? var/image/digitaldisguise = null //what does the AI see instead of them? - var/has_unlimited_silicon_privilege = 0 // Can they interact with station electronics + var/silicon_privileges = NONE // Can they interact with station electronics var/obj/control_object //Used by admins to possess objects. All mobs should have this var var/atom/movable/remote_control //Calls relaymove() to whatever it is diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index b25531f0e0..12d74d2f8f 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -406,8 +406,8 @@ It's fairly easy to fix if dealing with single letters but not so much with comp return return TRUE -/atom/proc/hasSiliconAccessInArea(mob/user) - return user && (issilicon(user) || (user.siliconaccesstoggle && (get_area(src) in user.siliconaccessareas))) +/atom/proc/hasSiliconAccessInArea(mob/user, flags = PRIVILEDGES_SILICON) + return user.silicon_privileges & (flags) || (user.siliconaccesstoggle && (get_area(src) in user.siliconaccessareas)) /mob/proc/toggleSiliconAccessArea(area/area) if (area in siliconaccessareas) @@ -555,4 +555,4 @@ It's fairly easy to fix if dealing with single letters but not so much with comp //Can the mob see reagents inside of containers? /mob/proc/can_see_reagents() - return stat == DEAD || has_unlimited_silicon_privilege //Dead guys and silicons can always see reagents + return stat == DEAD || silicon_privileges //Dead guys and silicons can always see reagents diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index 551b77dec3..a83720dc23 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -29,7 +29,7 @@ var/max_hardware_size = 0 // Maximal hardware w_class. Tablets/PDAs have 1, laptops 2, consoles 4. var/steel_sheet_cost = 5 // Amount of steel sheets refunded when disassembling an empty frame of this computer. - integrity_failure = 50 + integrity_failure = 0.5 max_integrity = 100 armor = list("melee" = 0, "bullet" = 20, "laser" = 20, "energy" = 100, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 0, "acid" = 0) @@ -203,7 +203,7 @@ /obj/item/modular_computer/examine(mob/user) . = ..() - if(obj_integrity <= integrity_failure) + if(obj_integrity <= integrity_failure * max_integrity) . += "It is heavily damaged!" else if(obj_integrity < max_integrity) . += "It is damaged." @@ -219,7 +219,7 @@ else add_overlay(icon_state_menu) - if(obj_integrity <= integrity_failure) + if(obj_integrity <= integrity_failure * max_integrity) add_overlay("bsod") add_overlay("broken") @@ -233,7 +233,7 @@ /obj/item/modular_computer/proc/turn_on(mob/user) var/issynth = issilicon(user) // Robots and AIs get different activation messages. - if(obj_integrity <= integrity_failure) + if(obj_integrity <= integrity_failure * max_integrity) if(issynth) to_chat(user, "You send an activation signal to \the [src], but it responds with an error code. It must be damaged.") else @@ -265,7 +265,7 @@ last_power_usage = 0 return 0 - if(obj_integrity <= integrity_failure) + if(obj_integrity <= integrity_failure * max_integrity) shutdown_computer() return 0 diff --git a/code/modules/modular_computers/computers/machinery/modular_computer.dm b/code/modules/modular_computers/computers/machinery/modular_computer.dm index 39b2c45d99..a1f13878c1 100644 --- a/code/modules/modular_computers/computers/machinery/modular_computer.dm +++ b/code/modules/modular_computers/computers/machinery/modular_computer.dm @@ -65,7 +65,7 @@ else add_overlay(screen_icon_state_menu) - if(cpu && cpu.obj_integrity <= cpu.integrity_failure) + if(cpu && cpu.obj_integrity <= cpu.integrity_failure * cpu.max_integrity) add_overlay("bsod") add_overlay("broken") diff --git a/code/modules/modular_computers/computers/machinery/modular_console.dm b/code/modules/modular_computers/computers/machinery/modular_console.dm index 026091f88b..3d4ec22e89 100644 --- a/code/modules/modular_computers/computers/machinery/modular_console.dm +++ b/code/modules/modular_computers/computers/machinery/modular_console.dm @@ -15,7 +15,7 @@ steel_sheet_cost = 10 light_strength = 2 max_integrity = 300 - integrity_failure = 150 + integrity_failure = 0.5 var/console_department = "" // Used in New() to set network tag according to our area. /obj/machinery/modular_computer/console/buildable/Initialize() diff --git a/code/modules/newscaster/newscaster_machine.dm b/code/modules/newscaster/newscaster_machine.dm index cb2016a1a1..38230840ec 100644 --- a/code/modules/newscaster/newscaster_machine.dm +++ b/code/modules/newscaster/newscaster_machine.dm @@ -4,7 +4,7 @@ GLOBAL_LIST_EMPTY(allCasters) name = "newscaster frame" desc = "Used to build newscasters, just secure to the wall." icon_state = "newscaster" - materials = list(MAT_METAL=14000, MAT_GLASS=8000) + custom_materials = list(/datum/material/iron=14000, /datum/material/glass=8000) result_path = /obj/machinery/newscaster /obj/machinery/newscaster @@ -17,7 +17,7 @@ GLOBAL_LIST_EMPTY(allCasters) verb_exclaim = "beeps" armor = list("melee" = 50, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 30) max_integrity = 200 - integrity_failure = 50 + integrity_failure = 0.25 var/screen = 0 var/paper_remaining = 15 var/securityCaster = 0 @@ -54,7 +54,6 @@ GLOBAL_LIST_EMPTY(allCasters) return ..() /obj/machinery/newscaster/update_icon() - cut_overlays() if(stat & (NOPOWER|BROKEN)) icon_state = "newscaster_off" else @@ -62,19 +61,23 @@ GLOBAL_LIST_EMPTY(allCasters) icon_state = "newscaster_wanted" else icon_state = "newscaster_normal" - if(alert) - add_overlay("newscaster_alert") + +/obj/machinery/newscaster/update_overlays() + . = ..() + + if(!(stat & (NOPOWER|BROKEN)) && !GLOB.news_network.wanted_issue.active && alert) + . += "newscaster_alert" + var/hp_percent = obj_integrity * 100 /max_integrity switch(hp_percent) if(75 to 100) return if(50 to 75) - add_overlay("crack1") + . += "crack1" if(25 to 50) - add_overlay("crack2") + . += "crack2" else - add_overlay("crack3") - + . += "crack3" /obj/machinery/newscaster/power_change() if(stat & BROKEN) diff --git a/code/modules/oracle_ui/hookup_procs.dm b/code/modules/oracle_ui/hookup_procs.dm index 18d7bbfd8c..30db9d92b9 100644 --- a/code/modules/oracle_ui/hookup_procs.dm +++ b/code/modules/oracle_ui/hookup_procs.dm @@ -5,7 +5,7 @@ return "Default Implementation" /datum/proc/oui_canuse(mob/user) - if(isobserver(user) && !user.has_unlimited_silicon_privilege) + if(isobserver(user) && !user.silicon_privileges) return FALSE return oui_canview(user) @@ -35,7 +35,7 @@ return ..() /obj/machinery/oui_canview(mob/user) - if(user.has_unlimited_silicon_privilege || hasSiliconAccessInArea(user)) + if(hasSiliconAccessInArea(user, ALL)) return TRUE if(!can_interact(user)) return FALSE diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 2650da8c7a..a98f057c4a 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -21,7 +21,7 @@ w_class = WEIGHT_CLASS_TINY throw_speed = 3 throw_range = 7 - materials = list(MAT_METAL=10) + custom_materials = list(/datum/material/iron=10) pressure_resistance = 2 grind_results = list(/datum/reagent/iron = 2, /datum/reagent/iodine = 1) var/colour = "black" //what colour the ink is! @@ -79,7 +79,7 @@ throwforce = 5 throw_speed = 4 colour = "crimson" - materials = list(MAT_GOLD = 750) + custom_materials = list(/datum/material/gold = 750) sharpness = IS_SHARP resistance_flags = FIRE_PROOF unique_reskin = list("Oak" = "pen-fountain-o", @@ -139,6 +139,7 @@ O.name = input to_chat(user, "\The [oldname] has been successfully been renamed to \the [input].") O.renamedByPlayer = TRUE + log_game("[user] [key_name(user)] has renamed [O] to [input]") if(penchoice == "Change description") var/input = stripped_input(user,"Describe \the [O.name] here", ,"", 100) @@ -146,6 +147,7 @@ return O.desc = input to_chat(user, "You have successfully changed \the [O.name]'s description.") + log_game("[user] [key_name(user)] has changed [O]'s description to to [input]") /* * Sleepypens diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 182806388a..97d28d7674 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -18,7 +18,7 @@ active_power_usage = 200 power_channel = EQUIP max_integrity = 300 - integrity_failure = 100 + integrity_failure = 0.33 var/obj/item/paper/copy = null //what's in the copier! var/obj/item/photo/photocopy = null var/obj/item/documents/doccopy = null diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index 1fe59623fb..2beb9296b3 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -8,7 +8,7 @@ w_class = WEIGHT_CLASS_TINY throw_speed = 3 throw_range = 7 - materials = list(MAT_METAL=60) + custom_materials = list(/datum/material/iron=60) item_color = "cargo" pressure_resistance = 2 attack_verb = list("stamped") diff --git a/code/modules/photography/camera/camera.dm b/code/modules/photography/camera/camera.dm index 140167c2f0..b7b7bc36b7 100644 --- a/code/modules/photography/camera/camera.dm +++ b/code/modules/photography/camera/camera.dm @@ -14,7 +14,7 @@ w_class = WEIGHT_CLASS_SMALL flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_NECK - materials = list(MAT_METAL = 50, MAT_GLASS = 150) + custom_materials = list(/datum/material/iron = 50, /datum/material/glass = 150) var/flash_enabled = TRUE var/state_on = "camera" var/state_off = "camera_off" diff --git a/code/modules/photography/camera/film.dm b/code/modules/photography/camera/film.dm index b1cd6bae66..b44b933610 100644 --- a/code/modules/photography/camera/film.dm +++ b/code/modules/photography/camera/film.dm @@ -11,4 +11,4 @@ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' w_class = WEIGHT_CLASS_TINY resistance_flags = FLAMMABLE - materials = list(MAT_METAL = 10, MAT_GLASS = 10) + custom_materials = list(/datum/material/iron = 10, /datum/material/glass = 10) diff --git a/code/modules/photography/photos/frame.dm b/code/modules/photography/photos/frame.dm index f86cae8095..d20a71d1c6 100644 --- a/code/modules/photography/photos/frame.dm +++ b/code/modules/photography/photos/frame.dm @@ -4,7 +4,7 @@ name = "picture frame" desc = "The perfect showcase for your favorite deathtrap memories." icon = 'icons/obj/decals.dmi' - materials = list() + custom_materials = null flags_1 = 0 icon_state = "frame-empty" result_path = /obj/structure/sign/picture_frame diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm new file mode 100644 index 0000000000..681adb0ef3 --- /dev/null +++ b/code/modules/pool/pool_controller.dm @@ -0,0 +1,422 @@ +#define POOL_NO_OVERDOSE_MEDICINE_MAX 5 //max units of no-overdose medicine to allow mobs to have through duplication + +//Originally stolen from paradise. Credits to tigercat2000. +//Modified a lot by Kokojo and Tortellini Tony for hippiestation. +//Heavily refactored by tgstation +/obj/machinery/pool + icon = 'icons/obj/machines/pool.dmi' + anchored = TRUE + resistance_flags = INDESTRUCTIBLE + +/obj/machinery/pool/controller + name = "\improper Pool Controller" + desc = "An advanced substance generation and fluid tank management system that can refill the contents of a pool to a completely different substance in minutes." + icon_state = "poolc_3" + density = TRUE + use_power = TRUE + idle_power_usage = 75 + /// How far it scans for pool objects + var/scan_range = 6 + /// Is pool mist currently on? + var/mist_state = FALSE + /// Linked mist effects + var/list/obj/effect/mist/linked_mist = list() + /// Pool turfs + var/list/turf/open/pool/linked_turfs = list() + /// All mobs in pool + var/list/mob/living/mobs_in_pool = list() + /// Is the pool bloody? + var/bloody = 0 + /// Last time we process_reagents()'d + var/last_reagent_process = 0 + /// Maximum amount we will take from a beaker + var/max_beaker_transfer = 100 + /// Minimum amount of a reagent for it to work on us + var/min_reagent_amount = 10 + /// ADMINBUS ONLY - WHETHER OR NOT WE HAVE NOREACT ;) + var/noreact_reagents = FALSE + /// how fast in deciseconds between reagent processes + var/reagent_tick_interval = 5 + /// Can we use unsafe temperatures + var/temperature_unlocked = FALSE + /// See __DEFINES/pool.dm, temperature defines + var/temperature = POOL_NORMAL + /// Whether or not the pool can be drained + var/drainable = FALSE + // Whether or not the pool is drained + var/drained = FALSE + /// Pool drain + var/obj/machinery/pool/drain/linked_drain + /// Pool filter + var/obj/machinery/pool/filter/linked_filter + /// Next world.time you can interact with settings + var/interact_delay = 0 + /// Airlock style shocks + var/shocked = FALSE + /// Old reagent color, used to determine if update_color needs to reset colors. + var/old_rcolor + /// Just to prevent spam + var/draining = FALSE + /// Reagent blacklisting + var/respect_reagent_blacklist = TRUE + +/obj/machinery/pool/controller/examine(mob/user) + . = ..() + . += "Alt click to drain reagents." + +/obj/machinery/pool/controller/Initialize() + . = ..() + START_PROCESSING(SSfastprocess, src) + create_reagents(1000) + if(noreact_reagents) + reagents.reagents_holder_flags |= NO_REACT + wires = new /datum/wires/poolcontroller(src) + scan_things() + +/obj/machinery/pool/controller/Destroy() + STOP_PROCESSING(SSprocessing, src) + linked_drain = null + linked_filter = null + linked_turfs.Cut() + mobs_in_pool.Cut() + return ..() + +/obj/machinery/pool/controller/proc/scan_things() + var/list/cached = range(scan_range, src) + for(var/turf/open/pool/W in cached) + linked_turfs += W + W.controller = src + for(var/obj/machinery/pool/drain/pooldrain in cached) + linked_drain = pooldrain + linked_drain.controller = src + break + for(var/obj/machinery/pool/filter/F in cached) + linked_filter = F + linked_filter.controller = src + break + +/obj/machinery/pool/controller/emag_act(mob/user) + . = ..() + if(!(obj_flags & EMAGGED)) //If it is not already emagged, emag it. + to_chat(user, "You disable the [src]'s safety features.") + do_sparks(5, TRUE, src) + obj_flags |= EMAGGED + temperature_unlocked = TRUE + drainable = TRUE + log_game("[key_name(user)] emagged [src]") + message_admins("[key_name_admin(user)] emagged [src]") + else + to_chat(user, "The interface on [src] is already too damaged to short it again.") + return + +/obj/machinery/pool/controller/AltClick(mob/user) + . = ..() + if(!isliving(user) || !user.Adjacent(src) || !user.CanReach(src) || user.IsStun() || user.IsKnockdown() || user.incapacitated()) + return FALSE + visible_message("[user] starts to drain [src]!") + draining = TRUE + if(!do_after(user, 50, target = src)) + draining = FALSE + return TRUE + reagents.remove_all(INFINITY) + visible_message("[user] drains [src].") + say("Reagents cleared.") + update_color() + draining = FALSE + return TRUE + +/obj/machinery/pool/controller/attackby(obj/item/W, mob/user) + if(shocked && !(stat & NOPOWER)) + shock(user,50) + if(stat & (BROKEN)) + return + if(istype(W,/obj/item/reagent_containers)) + if(W.reagents.total_volume) //check if there's reagent + user.visible_message("[user] is feeding [src] some chemicals from [W].") + if(do_after(user, 50, target = src)) + for(var/datum/reagent/R in W.reagents.reagent_list) + if(R.type in GLOB.blacklisted_pool_reagents) + to_chat(user, "[src] cannot accept [R.name].") + return + if(R.reagent_state == SOLID) + to_chat(user, "The pool cannot accept reagents in solid form!.") + return + reagents.clear_reagents() + // This also reacts them. No nitroglycerin deathpools, sorry gamers :( + W.reagents.trans_to(reagents, max_beaker_transfer) + user.visible_message("[src] makes a slurping noise.", "All of the contents of [W] are quickly suctioned out by the machine!= min_reagent_amount) && (!respect_reagent_blacklist || R.can_synth)) + reagent_names += R.name + else + reagents.remove_reagent(R.type, INFINITY) + rejected += R.name + if(length(reagent_names)) + reagent_names = english_list(reagent_names) + var/msg = "POOL: [key_name(user)] has changed [src]'s chems to [reagent_names]" + log_game(msg) + message_admins(msg) + if(length(rejected)) + rejected = english_list(rejected) + to_chat(user, "[src] rejects the following chemicals as they do not have at least [min_reagent_amount] units of volume: [rejected]") + update_color() + else + to_chat(user, "[src] beeps unpleasantly as it rejects the beaker. Why are you trying to feed it an empty beaker?") + return + else if(panel_open && is_wire_tool(W)) + wires.interact(user) + else + return ..() + +/obj/machinery/pool/controller/screwdriver_act(mob/living/user, obj/item/W) + . = ..() + if(.) + return TRUE + cut_overlays() + panel_open = !panel_open + to_chat(user, "You [panel_open ? "open" : "close"] the maintenance panel.") + W.play_tool_sound(src) + if(panel_open) + add_overlay("wires") + return TRUE + +//procs +/obj/machinery/pool/controller/proc/shock(mob/user, prb) + if(stat & (BROKEN|NOPOWER)) // unpowered, no shock + return FALSE + if(!prob(prb)) + return FALSE + var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread + s.set_up(5, 1, src) + s.start() + if(electrocute_mob(user, get_area(src), src, 0.7)) + return TRUE + else + return FALSE + +/obj/machinery/pool/controller/proc/process_reagents() + if(last_reagent_process > world.time + reagent_tick_interval) + return + if(!length(reagents.reagent_list)) + return + for(var/turf/open/pool/W in linked_turfs) + for(var/mob/living/carbon/human/swimee in W) + for(var/datum/reagent/R in reagents.reagent_list) + if(R.reagent_state == SOLID) + R.reagent_state = LIQUID + if(!swimee.reagents.has_reagent(POOL_NO_OVERDOSE_MEDICINE_MAX)) + swimee.reagents.add_reagent(R.type, 0.5) //osmosis + reagents.reaction(swimee, VAPOR, 0.03) //3 percent. Need to find a way to prevent this from stacking chems at some point like the above. + for(var/obj/objects in W) + if(W.reagents) + W.reagents.reaction(objects, VAPOR, 1) + last_reagent_process = world.time + +/obj/machinery/pool/controller/process() + updateUsrDialog() + if(stat & (NOPOWER|BROKEN)) + return + if(drained) + return + process_pool() + process_reagents() + +/obj/machinery/pool/controller/proc/process_pool() + if(drained) + return + for(var/mob/living/M in mobs_in_pool) + switch(temperature) //Apply different effects based on what the temperature is set to. + if(POOL_SCALDING) //Scalding + M.adjust_bodytemperature(50,0,500) + if(POOL_WARM) //Warm + M.adjust_bodytemperature(20,0,360) //Heats up mobs till the termometer shows up + //Normal temp does nothing, because it's just room temperature water. + if(POOL_COOL) + M.adjust_bodytemperature(-20,250) //Cools mobs till the termometer shows up + if(POOL_FRIGID) //Freezing + M.adjust_bodytemperature(-60) //cool mob at -35k per cycle, less would not affect the mob enough. + if(M.bodytemperature <= 50 && !M.stat) + M.apply_status_effect(/datum/status_effect/freon) + if(ishuman(M)) + var/mob/living/carbon/human/drownee = M + if(!drownee || drownee.stat == DEAD) + return + if(drownee.resting && !drownee.internal) + if(drownee.stat != CONSCIOUS) + drownee.adjustOxyLoss(9) + else + drownee.adjustOxyLoss(4) + if(prob(35)) + to_chat(drownee, "You're drowning!") + +/obj/machinery/pool/controller/proc/set_bloody(state) + if(bloody == state) + return + bloody = state + update_color() + +/obj/machinery/pool/controller/proc/update_color() + if(drained) + return + var/rcolor + if(reagents.reagent_list.len) + rcolor = mix_color_from_reagents(reagents.reagent_list) + if(rcolor == old_rcolor) + return // small performance upgrade hopefully? + old_rcolor = rcolor + for(var/X in linked_turfs) + var/turf/open/pool/color1 = X + if(bloody) + if(rcolor) + var/thecolor = BlendRGB(rgb(150, 20, 20), rcolor, 0.5) + color1.watereffect.add_atom_colour(thecolor, FIXED_COLOUR_PRIORITY) + color1.watertop.add_atom_colour(thecolor, FIXED_COLOUR_PRIORITY) + else + var/thecolor = rgb(150, 20, 20) + color1.watereffect.add_atom_colour(thecolor, FIXED_COLOUR_PRIORITY) + color1.watertop.add_atom_colour(thecolor, FIXED_COLOUR_PRIORITY) + else if(!bloody && rcolor) + color1.watereffect.add_atom_colour(rcolor, FIXED_COLOUR_PRIORITY) + color1.watertop.add_atom_colour(rcolor, FIXED_COLOUR_PRIORITY) + else + color1.watereffect.remove_atom_colour(FIXED_COLOUR_PRIORITY) + color1.watertop.remove_atom_colour(FIXED_COLOUR_PRIORITY) + +/obj/machinery/pool/controller/proc/update_temp() + if(mist_state) + if(temperature < POOL_SCALDING) + mist_off() + else + if(temperature == POOL_SCALDING) + mist_on() + update_icon() + +/obj/machinery/pool/controller/update_icon() + . = ..() + icon_state = "poolc_[temperature]" + +/obj/machinery/pool/controller/proc/CanUpTemp(mob/user) + if(temperature == POOL_WARM && (temperature_unlocked || issilicon(user) || IsAdminGhost(user)) || temperature < POOL_WARM) + return TRUE + return FALSE + +/obj/machinery/pool/controller/proc/CanDownTemp(mob/user) + if(temperature == POOL_COOL && (temperature_unlocked || issilicon(user) || IsAdminGhost(user)) || temperature > POOL_COOL) + return TRUE + return FALSE + +/obj/machinery/pool/controller/Topic(href, href_list) + if(..()) + return + if(interact_delay > world.time) + return + if(href_list["IncreaseTemp"]) + if(CanUpTemp(usr)) + visible_message("[usr] presses a button on [src].") + temperature++ + update_temp() + var/msg = "POOL: [key_name(usr)] increased [src]'s pool temperature at [COORD(src)] to [temperature]" + log_game(msg) + message_admins(msg) + interact_delay = world.time + 15 + if(href_list["DecreaseTemp"]) + if(CanDownTemp(usr)) + visible_message("[usr] presses a button on [src].") + temperature-- + update_temp() + var/msg = "POOL: [key_name(usr)] decreased [src]'s pool temperature at [COORD(src)] to [temperature]" + log_game(msg) + message_admins(msg) + interact_delay = world.time + 15 + if(href_list["Activate Drain"]) + if((drainable || issilicon(usr) || IsAdminGhost(usr)) && !linked_drain.active) + var/msg = "POOL: [key_name(usr)] activated [src]'s pool drain in [linked_drain.filling? "FILLING" : "DRAINING"] mode at [COORD(src)]" + log_game(msg) + message_admins(msg) + visible_message("[usr] presses a button on [src].") + mist_off() + interact_delay = world.time + 60 + linked_drain.active = TRUE + linked_drain.cycles_left = 75 + if(!linked_drain.filling) + new /obj/effect/whirlpool(linked_drain.loc) + temperature = POOL_NORMAL + else + new /obj/effect/waterspout(linked_drain.loc) + temperature = POOL_NORMAL + update_temp() + bloody = FALSE + updateUsrDialog() + +/obj/machinery/pool/controller/proc/temp2text() + switch(temperature) + if(POOL_FRIGID) + return "Frigid" + if(POOL_COOL) + return "Cool" + if(POOL_NORMAL) + return "Normal" + if(POOL_WARM) + return "Warm" + if(POOL_SCALDING) + return "Scalding" + else + return "Outside of possible range." + +/obj/machinery/pool/controller/ui_interact(mob/user) + . = ..() + if(.) + return + if(shocked && !(stat & NOPOWER)) + shock(user,50) + if(panel_open && !isAI(user)) + return wires.interact(user) + if(stat & (NOPOWER|BROKEN)) + return + var/datum/browser/popup = new(user, "Pool Controller", name, 300, 450) + var/dat = "" + if(interact_delay > world.time) + dat += "[round((interact_delay - world.time)/10, 0.1)] seconds left until [src] can operate again.
" + dat += text({" +

Temperature

+
+ Current temperature: [temp2text()]
+ [CanUpTemp(user) ? "Increase Temperature
" : "Increase Temperature
"] + [CanDownTemp(user) ? "Decrease Temperature
" : "Decrease Temperature
"] +
+

Drain

+
+ Drain status: [(issilicon(user) || IsAdminGhost(user) || drainable) ? "Enabled" : "Disabled"] +
Pool status: "}) + if(!drained) + dat += "Full
" + else + dat += "Drained
" + if((issilicon(user) || IsAdminGhost(user) || drainable) && !linked_drain.active) + dat += "[drained ? "Fill" : "Drain"] Pool
" + popup.set_content(dat) + popup.open() + +/obj/machinery/pool/controller/proc/reset(wire) + switch(wire) + if(WIRE_SHOCK) + if(!wires.is_cut(wire)) + shocked = FALSE + +/obj/machinery/pool/controller/proc/mist_on() //Spawn /obj/effect/mist (from the shower) on all linked pool tiles + if(mist_state) + return + mist_state = TRUE + for(var/X in linked_turfs) + var/turf/open/pool/W = X + if(W.filled) + var/M = new /obj/effect/mist(W) + linked_mist += M + +/obj/machinery/pool/controller/proc/mist_off() //Delete all /obj/effect/mist from all linked pool tiles. + for(var/M in linked_mist) + qdel(M) + mist_state = FALSE diff --git a/code/modules/pool/pool_drain.dm b/code/modules/pool/pool_drain.dm new file mode 100644 index 0000000000..940f7cd219 --- /dev/null +++ b/code/modules/pool/pool_drain.dm @@ -0,0 +1,160 @@ +/obj/machinery/pool/drain + name = "drain" + icon_state = "drain" + desc = "A suction system to remove the contents of the pool, and sometimes small objects. Do not insert fingers." + anchored = TRUE + /// Active/on? + var/active = FALSE + /// Filling or draining + var/filling = FALSE + /// Drain item suction range + var/item_suction_range = 2 + /// Fill mode knock away range + var/fill_push_range = 6 + /// Drain mode suction range + var/drain_suck_range = 6 + /// Parent controller + var/obj/machinery/pool/controller/controller + /// Cycles left for fill/drain while active + var/cycles_left = 0 + /// Mobs we are swirling around + var/list/whirling_mobs + /// Suck in once per x ticks + var/suck_in_once_per = 3 + + var/cooldown + +/obj/machinery/pool/drain/Initialize() + START_PROCESSING(SSfastprocess, src) + whirling_mobs = list() + return ..() + +/obj/machinery/pool/drain/Destroy() + STOP_PROCESSING(SSfastprocess, src) + controller.linked_drain = null + controller = null + whirling_mobs = null + return ..() + +/obj/machinery/pool/drain/proc/is_in_our_pool(atom/A) + . = FALSE + if(istype(A.loc, /turf/open/pool)) + var/turf/open/pool/P = A.loc + if(P.controller == controller) + . = TRUE + +// This should probably start using move force sometime in the future but I'm lazy. +/obj/machinery/pool/drain/process() + if(!filling) + for(var/obj/item/I in range(min(item_suction_range, 10), src)) + if(!I.anchored && (I.w_class <= WEIGHT_CLASS_SMALL)) + step_towards(I, src) + if((I.w_class <= WEIGHT_CLASS_TINY) && (get_dist(I, src) == 0)) + I.forceMove(controller.linked_filter) + if(active) + if(filling) + if(cycles_left-- > 0) + playsound(src, 'sound/effects/fillingwatter.ogg', 100, TRUE) + for(var/obj/O in orange(min(fill_push_range, 10), src)) + if(!O.anchored && is_in_our_pool(O)) + step_away(O, src) + for(var/mob/M in orange(min(fill_push_range, 10), src)) //compiler fastpath apparently? + if(!M.anchored && isliving(M) && is_in_our_pool(M)) + step_away(M, src) + else + for(var/turf/open/pool/P in controller.linked_turfs) + P.filled = TRUE + P.update_icon() + for(var/obj/effect/waterspout/S in range(1, src)) + qdel(S) + controller.drained = FALSE + if(controller.bloody < 1000) + controller.bloody /= 2 + else + controller.bloody /= 4 + controller.update_color() + filling = FALSE + active = FALSE + else + if(cycles_left-- > 0) + playsound(src, 'sound/effects/pooldrain.ogg', 100, TRUE) + playsound(src, "water_wade", 60, TRUE) + for(var/obj/O in orange(min(drain_suck_range, 10), src)) + if(!O.anchored && is_in_our_pool(O)) + step_towards(O, src) + for(var/mob/M in orange(min(drain_suck_range, 10), src)) + if(isliving(M) && !M.anchored && is_in_our_pool(M)) + if(!(cycles_left % suck_in_once_per)) + step_towards(M, src) + whirl_mob(M) + if(ishuman(M) && (get_dist(M, src) <= 1)) + var/mob/living/carbon/human/H = M + playsound(src, pick('sound/misc/crack.ogg','sound/misc/crunch.ogg'), 50, TRUE) + if(H.lying) //down for any reason + H.adjustBruteLoss(2) + to_chat(H, "You're caught in the drain!") + else + H.apply_damage(2.5, BRUTE, pick(BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)) //drain should only target the legs + to_chat(H, "Your legs are caught in the drain!") + else + for(var/turf/open/pool/P in controller.linked_turfs) + P.filled = FALSE + P.update_icon() + for(var/obj/effect/whirlpool/W in range(1, src)) + qdel(W) + controller.drained = TRUE + controller.mist_off() + active = FALSE + filling = TRUE + +/// dangerous proc don't fuck with, admins +/obj/machinery/pool/drain/proc/whirl_mob(mob/living/L, duration = 8, delay = 1) + set waitfor = FALSE + if(whirling_mobs[L]) + return + whirling_mobs[L] = TRUE + for(var/i in 1 to min(duration, 100)) + L.setDir(turn(L.dir, 90)) + sleep(delay) + if(QDELETED(L)) + break + if(QDELETED(src)) + return + whirling_mobs -= L + +/obj/machinery/pool/filter + name = "Filter" + icon_state = "filter" + desc = "The part of the pool where all the IDs, ATV keys, and pens, and other dangerous things get trapped." + var/obj/machinery/pool/controller/controller + +/obj/machinery/pool/filter/Destroy() + controller.linked_filter = null + controller = null + return ..() + +/obj/machinery/pool/filter/emag_act(mob/living/user) + . = ..() + if(!(obj_flags & EMAGGED)) + to_chat(user, "You disable the [src]'s shark filter! Run!") + obj_flags |= EMAGGED + do_sparks(5, TRUE, src) + icon_state = "filter_b" + addtimer(CALLBACK(src, /obj/machinery/pool/filter/proc/spawn_shark), 50) + var/msg = "[key_name(user)] emagged the pool filter and spawned a shark" + log_game(msg) + message_admins(msg) + +/obj/machinery/pool/filter/proc/spawn_shark() + if(prob(50)) + new /mob/living/simple_animal/hostile/shark(loc) + else + if(prob(50)) + new /mob/living/simple_animal/hostile/shark/kawaii(loc) + else + new /mob/living/simple_animal/hostile/shark/laser(loc) + +/obj/machinery/pool/filter/attack_hand(mob/user) + to_chat(user, "You search the filter.") + for(var/obj/O in contents) + O.forceMove(loc) diff --git a/code/modules/pool/pool_effects.dm b/code/modules/pool/pool_effects.dm new file mode 100644 index 0000000000..8d5192cd30 --- /dev/null +++ b/code/modules/pool/pool_effects.dm @@ -0,0 +1,29 @@ +/obj/effect/splash + name = "splash" + desc = "Wataaa!." + icon = 'icons/turf/pool.dmi' + icon_state = "splash" + layer = ABOVE_ALL_MOB_LAYER + +/obj/effect/whirlpool + name = "Whirlpool" + icon = 'icons/effects/96x96.dmi' + icon_state = "whirlpool" + layer = 5 + anchored = TRUE + mouse_opacity = 0 + pixel_x = -32 + pixel_y = -32 + alpha = 90 + +/obj/effect/waterspout + name = "Waterspout" + icon = 'icons/effects/96x96.dmi' + icon_state = "waterspout" + color = "#3399AA" + layer = 5 + anchored = TRUE + mouse_opacity = 0 + pixel_x = -32 + pixel_y = -32 + alpha = 120 diff --git a/code/modules/pool/pool_main.dm b/code/modules/pool/pool_main.dm new file mode 100644 index 0000000000..2b260b5c0b --- /dev/null +++ b/code/modules/pool/pool_main.dm @@ -0,0 +1,191 @@ +/turf/open/pool + icon = 'icons/turf/pool.dmi' + name = "poolwater" + desc = "You're safer here than in the deep." + icon_state = "pool_tile" + heat_capacity = INFINITY + var/filled = TRUE + var/next_splash = 0 + var/obj/machinery/pool/controller/controller + var/obj/effect/overlay/water/watereffect + var/obj/effect/overlay/water/top/watertop + +/turf/open/pool/Initialize(mapload) + . = ..() + update_icon() + +/turf/open/pool/Destroy() + if(controller) + controller.linked_turfs -= src + controller = null + QDEL_NULL(watereffect) + QDEL_NULL(watertop) + return ..() + +/turf/open/pool/update_icon() + . = ..() + if(!filled) + name = "drained pool" + desc = "No diving!" + QDEL_NULL(watereffect) + QDEL_NULL(watertop) + else + name = "poolwater" + desc = "You're safer here than in the deep." + watereffect = new /obj/effect/overlay/water(src) + watertop = new /obj/effect/overlay/water/top(src) + +/obj/effect/overlay/water + name = "water" + icon = 'icons/turf/pool.dmi' + icon_state = "bottom" + density = FALSE + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + layer = ABOVE_MOB_LAYER + anchored = TRUE + resistance_flags = INDESTRUCTIBLE + +/obj/effect/overlay/water/top + icon_state = "top" + layer = BELOW_MOB_LAYER + +// Mousedrop hook to normal turfs to get out of pools. +/turf/open/MouseDrop_T(atom/from, mob/user) + // I could make this /open/floor and not have the !istype but ehh - kev + if(isliving(from) && HAS_TRAIT(from, TRAIT_SWIMMING) && isliving(user) && ((user == from) || user.CanReach(from)) && !user.IsStun() && !user.IsKnockdown() && !user.incapacitated() && !istype(src, /turf/open/pool)) + var/mob/living/L = from + //The element only exists if you're on water and a living mob, so let's skip those checks. + var/pre_msg + var/post_msg + if(user == from) + pre_msg = "[L] is getting out of the pool." + post_msg = "[L] gets out of the pool." + else + pre_msg = "[L] is being pulled out of the pool by [user]." + post_msg = "[user] pulls [L] out of the pool." + L.visible_message(pre_msg) + if(do_mob(user, L, 20)) + L.visible_message(post_msg) + L.forceMove(src) + else + return ..() + +// Exit check +/turf/open/pool/Exit(atom/movable/AM, atom/newloc) + if(!AM.has_gravity(src)) + return ..() + if(isliving(AM) || isstructure(AM)) + if(AM.throwing) + return ..() //WHEEEEEEEEEEE + if(istype(AM, /obj/structure) && isliving(AM.pulledby)) + return ..() //people pulling stuff out of pool + if(!ishuman(AM)) + return ..() //human weak, monkey (and anyone else) ook ook eek eek strong + if(isliving(AM) && (locate(/obj/structure/pool/ladder) in src)) + return ..() //climbing out + return istype(newloc, /turf/open/pool) + return ..() + +// Exited logic +/turf/open/pool/Exited(atom/A, atom/newLoc) + . = ..() + if(isliving(A)) + var/turf/open/pool/P = newLoc + if(!istype(P) || (P.controller != controller)) + controller?.mobs_in_pool -= A + +// Entered logic +/turf/open/pool/Entered(atom/movable/AM, atom/oldloc) + if(istype(AM, /obj/effect/decal/cleanable)) + var/obj/effect/decal/cleanable/C = AM + if(prob(C.bloodiness)) + controller.set_bloody(TRUE) + QDEL_IN(AM, 25) + animate(AM, alpha = 10, time = 20) + return ..() + if(!AM.has_gravity(src)) + return ..() + if(isliving(AM)) + var/mob/living/victim = AM + if(!HAS_TRAIT(victim, TRAIT_SWIMMING)) //poor guy not swimming time to dunk them! + victim.AddElement(/datum/element/swimming) + controller.mobs_in_pool += victim + if(locate(/obj/structure/pool/ladder) in src) //safe climbing + return + if(iscarbon(AM)) //FUN TIME! + var/mob/living/carbon/H = victim + if(filled) + if (H.wear_mask && H.wear_mask.flags_cover & MASKCOVERSMOUTH) + H.visible_message("[H] falls in the water!", + "You fall in the water!") + playsound(src, 'sound/effects/splash.ogg', 60, TRUE, 1) + H.Knockdown(20) + return + else + H.Knockdown(60) + H.adjustOxyLoss(5) + H.emote("cough") + H.visible_message("[H] falls in and takes a drink!", + "You fall in and swallow some water!") + playsound(src, 'sound/effects/splash.ogg', 60, TRUE, 1) + else if(!H.head || !(H.head.armor.getRating("melee") > 20)) + if(prob(75)) + H.visible_message("[H] falls in the drained pool!", + "You fall in the drained pool!") + H.adjustBruteLoss(7) + H.Knockdown(80) + playsound(src, 'sound/effects/woodhit.ogg', 60, TRUE, 1) + else + H.visible_message("[H] falls in the drained pool, and cracks his skull!", + "You fall in the drained pool, and crack your skull!") + H.apply_damage(15, BRUTE, "head") + H.Knockdown(200) // This should hurt. And it does. + playsound(src, 'sound/effects/woodhit.ogg', 60, TRUE, 1) + playsound(src, 'sound/misc/crack.ogg', 100, TRUE) + else + H.visible_message("[H] falls in the drained pool, but had an helmet!", + "You fall in the drained pool, but you had an helmet!") + H.Knockdown(40) + playsound(src, 'sound/effects/woodhit.ogg', 60, TRUE, 1) + else if(filled) + victim.adjustStaminaLoss(1) + playsound(src, "water_wade", 20, TRUE) + return ..() + +/turf/open/pool/MouseDrop_T(atom/from, mob/user) + . = ..() + if(!isliving(from)) + return + var/mob/living/victim = from + if(user.stat || user.lying || !Adjacent(user) || !from.Adjacent(user) || !iscarbon(user) || !victim.has_gravity(src) || HAS_TRAIT(victim, TRAIT_SWIMMING)) + return + var/victimname = victim == user? "themselves" : "[victim]" + var/starttext = victim == user? "[user] is descending into [src]." : "[user] is lowering [victim] into [src]." + user.visible_message("[starttext]") + if(do_mob(user, victim, 20)) + user.visible_message("[user] lowers [victimname] into [src].") + victim.AddElement(/datum/element/swimming) //make sure they have it so they don't fall/whatever + victim.forceMove(src) + +/turf/open/pool/attackby(obj/item/W, mob/living/user) + if(istype(W, /obj/item/mop) && filled) + W.reagents.add_reagent("water", 5) + to_chat(user, "You wet [W] in [src].") + playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE) + else + return ..() + +/turf/open/pool/attack_hand(mob/living/user) + . = ..() + if(.) + return + if((user.loc != src) && !user.IsStun() && !user.IsKnockdown() && !user.incapacitated() && Adjacent(user) && HAS_TRAIT(user, TRAIT_SWIMMING) && filled && (next_splash < world.time)) + playsound(src, 'sound/effects/watersplash.ogg', 8, TRUE, 1) + next_splash = world.time + 25 + var/obj/effect/splash/S = new(src) + animate(S, alpha = 0, time = 8) + QDEL_IN(S, 10) + for(var/mob/living/carbon/human/H in src) + if(!H.wear_mask && (H.stat == CONSCIOUS)) + H.emote("cough") + H.adjustStaminaLoss(4) diff --git a/code/modules/pool/pool_noodles.dm b/code/modules/pool/pool_noodles.dm new file mode 100644 index 0000000000..6118354792 --- /dev/null +++ b/code/modules/pool/pool_noodles.dm @@ -0,0 +1,32 @@ +//Pool noodles + +/obj/item/toy/poolnoodle + icon = 'icons/obj/toy.dmi' + icon_state = "noodle" + name = "pool noodle" + desc = "A strange, bulky, bendable toy that can annoy people." + force = 0 + color = "#000000" + w_class = WEIGHT_CLASS_SMALL + throwforce = 1 + throw_speed = 10 //weeee + hitsound = 'sound/weapons/tap.ogg' + attack_verb = list("flogged", "poked", "jabbed", "slapped", "annoyed") + lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items_righthand.dmi' + +/obj/item/toy/poolnoodle/attack(target as mob, mob/living/user as mob) + . = ..() + user.spin(prob(20)? 16 : 8, 1) + +/obj/item/toy/poolnoodle/red + item_state = "noodlered" + color = "#ff4c4c" + +/obj/item/toy/poolnoodle/blue + item_state = "noodleblue" + color = "#3232ff" + +/obj/item/toy/poolnoodle/yellow + item_state = "noodleyellow" + color = "#ffff66" diff --git a/code/modules/pool/pool_structures.dm b/code/modules/pool/pool_structures.dm new file mode 100644 index 0000000000..92350abf44 --- /dev/null +++ b/code/modules/pool/pool_structures.dm @@ -0,0 +1,159 @@ +/obj/structure/pool + name = "pool" + icon = 'icons/obj/machines/pool.dmi' + anchored = TRUE + resistance_flags = UNACIDABLE|INDESTRUCTIBLE + +/obj/structure/pool/ladder + name = "Ladder" + icon_state = "ladder" + desc = "Are you getting in or are you getting out?." + layer = ABOVE_MOB_LAYER + dir = EAST + +/obj/structure/pool/ladder/attack_hand(mob/living/user) + . = ..() + if(.) + return + if(!HAS_TRAIT(user, TRAIT_SWIMMING)) + if(user.CanReach(src)) + user.AddElement(/datum/element/swimming) + user.forceMove(get_step(src, dir)) + else + if(user.loc == loc) + user.forceMove(get_step(src, turn(dir, 180))) //If this moves them out the element cleans up after itself. + +/obj/structure/pool/Rboard + name = "JumpBoard" + density = FALSE + icon_state = "boardright" + desc = "The less-loved portion of the jumping board." + dir = EAST + +/obj/structure/pool/Lboard + name = "JumpBoard" + icon_state = "boardleft" + desc = "Get on there to jump!" + layer = FLY_LAYER + dir = WEST + var/jumping = FALSE + var/timer + +/obj/structure/pool/Lboard/proc/backswim() + if(jumping) + for(var/mob/living/jumpee in loc) //hackzors. + playsound(jumpee, 'sound/effects/splash.ogg', 60, TRUE, 1) + if(!HAS_TRAIT(jumpee, TRAIT_SWIMMING)) + jumpee.AddElement(/datum/element/swimming) + jumpee.Stun(2) + +/obj/structure/pool/Lboard/proc/reset_position(mob/user, initial_layer, initial_px, initial_py) + user.layer = initial_layer + user.pixel_x = initial_px + user.pixel_y = initial_py + +/obj/structure/pool/Lboard/attack_hand(mob/living/user) + if(iscarbon(user)) + var/mob/living/carbon/jumper = user + if(jumping) + to_chat(user, "Someone else is already making a jump!") + return + var/turf/T = get_turf(src) + if(HAS_TRAIT(user, TRAIT_SWIMMING)) + return + else + if(Adjacent(jumper)) + jumper.visible_message("[user] climbs up \the [src]!", \ + "You climb up \the [src] and prepares to jump!") + jumper.Stun(40) + jumping = TRUE + var/original_layer = jumper.layer + var/original_px = jumper.pixel_x + var/original_py = jumper.pixel_y + jumper.layer = RIPPLE_LAYER + jumper.pixel_x = 3 + jumper.pixel_y = 7 + jumper.dir = WEST + jumper.AddElement(/datum/element/swimming) + sleep(1) + jumper.forceMove(T) + addtimer(CALLBACK(src, .proc/dive, jumper, original_layer, original_px, original_py), 10) + +/obj/structure/pool/Lboard/proc/dive(mob/living/carbon/jumper, original_layer, original_px, original_py) + switch(rand(1, 100)) + if(1 to 20) + jumper.visible_message("[jumper] goes for a small dive!", \ + "You go for a small dive.") + sleep(15) + backswim() + var/atom/throw_target = get_edge_target_turf(src, dir) + jumper.throw_at(throw_target, 1, 1, callback = CALLBACK(src, .proc/on_finish_jump, jumper)) + + if(21 to 40) + jumper.visible_message("[jumper] goes for a dive!", \ + "You're going for a dive!") + sleep(20) + backswim() + var/atom/throw_target = get_edge_target_turf(src, dir) + jumper.throw_at(throw_target, 2, 1, callback = CALLBACK(src, .proc/on_finish_jump, jumper)) + + if(41 to 60) + jumper.visible_message("[jumper] goes for a long dive! Stay far away!", \ + "You're going for a long dive!!") + sleep(25) + backswim() + var/atom/throw_target = get_edge_target_turf(src, dir) + jumper.throw_at(throw_target, 3, 1, callback = CALLBACK(src, .proc/on_finish_jump, jumper)) + + if(61 to 80) + jumper.visible_message("[jumper] goes for an awesome dive! Don't stand in [jumper.p_their()] way!", \ + "You feel like this dive will be awesome") + sleep(30) + backswim() + var/atom/throw_target = get_edge_target_turf(src, dir) + jumper.throw_at(throw_target, 4, 1, callback = CALLBACK(src, .proc/on_finish_jump, jumper)) + if(81 to 91) + sleep(20) + backswim() + jumper.visible_message("[jumper] misses [jumper.p_their()] step!", \ + "You misstep!") + var/atom/throw_target = get_edge_target_turf(src, dir) + jumper.throw_at(throw_target, 0, 1, callback = CALLBACK(src, .proc/on_finish_jump, jumper)) + jumper.Knockdown(100) + jumper.adjustBruteLoss(10) + + if(91 to 100) + jumper.visible_message("[jumper] is preparing for the legendary dive! Can [jumper.p_they()] make it?", \ + "You start preparing for a legendary dive!") + jumper.SpinAnimation(7,1) + + sleep(30) + if(prob(75)) + backswim() + jumper.visible_message("[jumper] fails!", \ + "You can't quite do it!") + var/atom/throw_target = get_edge_target_turf(src, dir) + jumper.throw_at(throw_target, 1, 1, callback = CALLBACK(src, .proc/on_finish_jump, jumper)) + else + jumper.fire_stacks = min(1,jumper.fire_stacks + 1) + jumper.IgniteMob() + sleep(5) + backswim() + jumper.visible_message("[jumper] bursts into flames of pure awesomness!", \ + "No one can stop you now!") + var/atom/throw_target = get_edge_target_turf(src, dir) + jumper.throw_at(throw_target, 6, 1, callback = CALLBACK(src, .proc/on_finish_jump, jumper)) + addtimer(CALLBACK(src, .proc/togglejumping), 35) + reset_position(jumper, original_layer, original_px, original_py) + +/obj/structure/pool/Lboard/proc/togglejumping() + jumping = FALSE + +/obj/structure/pool/Lboard/proc/on_finish_jump(mob/living/victim) + if(istype(victim.loc, /turf/open/pool)) + var/turf/open/pool/P = victim.loc + if(!P.filled) //you dun fucked up now + to_chat(victim, "That was stupid of you..") + victim.visible_message("[victim] smashes into the ground!") + victim.apply_damage(50) + victim.Knockdown(200) diff --git a/code/modules/pool/pool_wires.dm b/code/modules/pool/pool_wires.dm new file mode 100644 index 0000000000..7341c503a9 --- /dev/null +++ b/code/modules/pool/pool_wires.dm @@ -0,0 +1,59 @@ +#define POOL_WIRE_DRAIN "drain" +#define POOL_WIRE_TEMP "temp" + + +/datum/wires/poolcontroller + holder_type = /obj/machinery/pool/controller + proper_name = "Pool" + +/datum/wires/poolcontroller/New(atom/holder) + wires = list( + POOL_WIRE_DRAIN, WIRE_SHOCK, WIRE_ZAP, POOL_WIRE_TEMP + ) + add_duds(3) + ..() + +/datum/wires/poolcontroller/interactable(mob/user) + var/obj/machinery/pool/controller/P = holder + if(P.panel_open) + return TRUE + +/datum/wires/poolcontroller/get_status() + var/obj/machinery/pool/controller/P = holder + var/list/status = list() + status += "The blue light is [P.drainable ? "on" : "off"]." + status += "The red light is [P.temperature_unlocked ? "on" : "off"]." + status += "The yellow light is [P.shocked ? "on" : "off"]." + return status + +/datum/wires/poolcontroller/on_pulse(wire) + var/obj/machinery/pool/controller/P = holder + switch(wire) + if(POOL_WIRE_DRAIN) + P.drainable = FALSE + if(POOL_WIRE_TEMP) + P.temperature_unlocked = FALSE + if(WIRE_SHOCK) + P.shocked = !P.shocked + addtimer(CALLBACK(P, /obj/machinery/autolathe.proc/reset, wire), 60) + +/datum/wires/poolcontroller/on_cut(wire, mend) + var/obj/machinery/pool/controller/P = holder + switch(wire) + if(POOL_WIRE_DRAIN) + if(mend) + P.drainable = FALSE + else + P.drainable = TRUE + if(POOL_WIRE_TEMP) + if(mend) + P.temperature_unlocked = FALSE + else + P.temperature_unlocked = TRUE + if(WIRE_ZAP) + P.shock(usr, 50) + if(WIRE_SHOCK) + if(mend) + P.stat &= ~NOPOWER + else + P.stat |= NOPOWER \ No newline at end of file diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm index 32950a2199..624c4c0316 100644 --- a/code/modules/power/antimatter/shielding.dm +++ b/code/modules/power/antimatter/shielding.dm @@ -243,7 +243,7 @@ throwforce = 5 throw_speed = 1 throw_range = 2 - materials = list(MAT_METAL=100) + custom_materials = list(/datum/material/iron=100) /obj/item/am_shielding_container/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/multitool) && istype(src.loc, /turf)) diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 982afa49c8..43a1f94ca5 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -53,7 +53,7 @@ use_power = NO_POWER_USE req_access = null max_integrity = 300 - integrity_failure = 50 + integrity_failure = 0.17 var/damage_deflection = 10 resistance_flags = FIRE_PROOF armor = list("melee" = 40, "bullet" = 40, "laser" = 40, "energy" = 100, "bomb" = 30, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 50) @@ -846,7 +846,7 @@ return /obj/machinery/power/apc/oui_canview(mob/user) - if(user.has_unlimited_silicon_privilege || area.hasSiliconAccessInArea(user)) + if(area.hasSiliconAccessInArea(user)) //some APCs are mapped outside their assigned area, so this is required. return TRUE return ..() @@ -864,7 +864,7 @@ if (H && !H.stealthmode && H.toggled) abilitiesavail = TRUE var/list/data = list( - "locked" = locked && !(integration_cog && is_servant_of_ratvar(user)) && !area.hasSiliconAccessInArea(user), + "locked" = locked && !(integration_cog && is_servant_of_ratvar(user)) && !area.hasSiliconAccessInArea(user, PRIVILEDGES_SILICON|PRIVILEDGES_DRONE), "lock_nightshift" = nightshift_requires_auth, "failTime" = failure_timer, "isOperating" = operating, @@ -874,7 +874,7 @@ "chargingStatus" = charging, "totalLoad" = DisplayPower(lastused_total), "coverLocked" = coverlocked, - "siliconUser" = user.has_unlimited_silicon_privilege || user.using_power_flow_console() || area.hasSiliconAccessInArea(user), + "siliconUser" = user.using_power_flow_console() || area.hasSiliconAccessInArea(user), "malfStatus" = get_malf_status(user), "emergencyLights" = !emergency_lights, "nightshiftLights" = nightshift_lights, @@ -951,7 +951,7 @@ return TRUE if (user == hijacker || (area.hasSiliconAccessInArea(user) && !aidisabled)) return TRUE - if(user.has_unlimited_silicon_privilege) + if(user.silicon_privileges & PRIVILEDGES_SILICON) var/mob/living/silicon/ai/AI = user var/mob/living/silicon/robot/robot = user if (src.aidisabled || malfhack && istype(malfai) && ((istype(AI) && (malfai!=AI && malfai != AI.parent)) || (istype(robot) && (robot in malfai.connected_robots)))) @@ -985,7 +985,7 @@ if (action == "hijack" && can_use(usr, 1)) //don't need auth for hijack button hijack(usr) return - var/authorized = (!locked || usr.has_unlimited_silicon_privilege || area.hasSiliconAccessInArea(usr) || (integration_cog && (is_servant_of_ratvar(usr)))) + var/authorized = (!locked || area.hasSiliconAccessInArea(usr, PRIVILEDGES_SILICON|PRIVILEDGES_DRONE) || (integration_cog && (is_servant_of_ratvar(usr)))) if((action == "toggle_nightshift") && (!nightshift_requires_auth || authorized)) toggle_nightshift_lights() return TRUE @@ -993,7 +993,7 @@ return switch(action) if("lock") - if(usr.has_unlimited_silicon_privilege || area.hasSiliconAccessInArea(usr)) + if(area.hasSiliconAccessInArea(usr)) if((obj_flags & EMAGGED) || (stat & (BROKEN|MAINT))) to_chat(usr, "The APC does not respond to the command.") else @@ -1027,7 +1027,7 @@ update() return TRUE if("overload") - if(usr.has_unlimited_silicon_privilege || area.hasSiliconAccessInArea(usr)) + if(area.hasSiliconAccessInArea(usr)) overload_lighting() return TRUE if("hack") diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 3c807390a0..b9d4d1adf1 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -488,7 +488,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai w_class = WEIGHT_CLASS_SMALL throw_speed = 3 throw_range = 5 - materials = list(MAT_METAL=10, MAT_GLASS=5) + custom_materials = list(/datum/material/iron=10, /datum/material/glass=5) flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT attack_verb = list("whipped", "lashed", "disciplined", "flogged") @@ -499,7 +499,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai /obj/item/stack/cable_coil/cyborg is_cyborg = 1 - materials = list() + custom_materials = null cost = 1 /obj/item/stack/cable_coil/cyborg/attack_self(mob/user) diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index d8d473a3e2..a15580498c 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -13,8 +13,8 @@ w_class = WEIGHT_CLASS_SMALL var/charge = 0 // note %age conveted to actual charge in New var/maxcharge = 1000 + custom_materials = list(/datum/material/iron=700, /datum/material/glass=50) var/start_charged = TRUE - materials = list(MAT_METAL=700, MAT_GLASS=50) grind_results = list(/datum/reagent/lithium = 15, /datum/reagent/iron = 5, /datum/reagent/silicon = 5) var/rigged = FALSE // true if rigged to explode var/chargerate = 100 //how much power is given every tick in a recharger @@ -172,7 +172,7 @@ name = "\improper Nanotrasen brand rechargeable AA battery" desc = "You can't top the plasma top." //TOTALLY TRADEMARK INFRINGEMENT maxcharge = 500 - materials = list(MAT_GLASS=40) + custom_materials = list(/datum/material/glass=40) /obj/item/stock_parts/cell/crap/empty start_charged = FALSE @@ -181,7 +181,7 @@ name = "upgraded power cell" desc = "A power cell with a slightly higher capacity than normal!" maxcharge = 2500 - materials = list(MAT_GLASS=50) + custom_materials = list(/datum/material/glass=50) chargerate = 1000 /obj/item/stock_parts/cell/upgraded/plus @@ -192,7 +192,7 @@ /obj/item/stock_parts/cell/secborg name = "security borg rechargeable D battery" maxcharge = 1250 //25/12/6 disabler/laser/taser shots. - materials = list(MAT_GLASS=40) + custom_materials = list(/datum/material/glass=40) /obj/item/stock_parts/cell/secborg/empty start_charged = FALSE @@ -218,7 +218,7 @@ name = "high-capacity power cell" icon_state = "hcell" maxcharge = 10000 - materials = list(MAT_GLASS=60) + custom_materials = list(/datum/material/glass=60) chargerate = 1500 /obj/item/stock_parts/cell/high/plus @@ -235,7 +235,7 @@ name = "super-capacity power cell" icon_state = "scell" maxcharge = 20000 - materials = list(MAT_GLASS=300) + custom_materials = list(/datum/material/glass=300) chargerate = 2000 /obj/item/stock_parts/cell/super/empty @@ -245,7 +245,7 @@ name = "hyper-capacity power cell" icon_state = "hpcell" maxcharge = 30000 - materials = list(MAT_GLASS=400) + custom_materials = list(/datum/material/glass=400) chargerate = 3000 /obj/item/stock_parts/cell/hyper/empty @@ -256,7 +256,7 @@ desc = "A rechargeable transdimensional power cell." icon_state = "bscell" maxcharge = 40000 - materials = list(MAT_GLASS=600) + custom_materials = list(/datum/material/glass=600) chargerate = 4000 /obj/item/stock_parts/cell/bluespace/empty @@ -266,7 +266,7 @@ name = "infinite-capacity power cell!" icon_state = "icell" maxcharge = 30000 - materials = list(MAT_GLASS=1000) + custom_materials = list(/datum/material/glass=1000) rating = 100 chargerate = 30000 @@ -292,7 +292,7 @@ icon_state = "potato" charge = 100 maxcharge = 300 - materials = list() + custom_materials = null grown_battery = TRUE //it has the overlays for wires /obj/item/stock_parts/cell/high/slime @@ -300,7 +300,7 @@ desc = "A yellow slime core infused with plasma, it crackles with power." icon = 'icons/mob/slimes.dmi' icon_state = "yellow slime extract" - materials = list() + custom_materials = null rating = 5 //self-recharge makes these desirable self_recharge = 1 // Infused slime cores self-recharge, over time @@ -339,7 +339,7 @@ name = "miniature power cell" desc = "A tiny power cell with a very low power capacity. Used in light fixtures to power them in the event of an outage." maxcharge = 120 //Emergency lights use 0.2 W per tick, meaning ~10 minutes of emergency power from a cell - materials = list(MAT_GLASS = 20) + custom_materials = list(/datum/material/glass = 20) w_class = WEIGHT_CLASS_TINY /obj/item/stock_parts/cell/emergency_light/Initialize() diff --git a/code/modules/power/floodlight.dm b/code/modules/power/floodlight.dm index 8da3594d5e..9fb1a1ce7d 100644 --- a/code/modules/power/floodlight.dm +++ b/code/modules/power/floodlight.dm @@ -43,7 +43,7 @@ icon_state = "floodlight" density = TRUE max_integrity = 100 - integrity_failure = 80 + integrity_failure = 0.8 idle_power_usage = 100 active_power_usage = 1000 var/list/light_setting_list = list(0, 5, 10, 15) diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 5ca09036ad..6cfcc5192a 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -23,7 +23,7 @@ name = "small light fixture frame" icon_state = "bulb-construct-item" result_path = /obj/structure/light_construct/small - materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/iron=MINERAL_MATERIAL_AMOUNT) /obj/item/wallframe/light_fixture/try_build(turf/on_wall, user) if(!..()) @@ -726,7 +726,7 @@ var/status = LIGHT_OK // LIGHT_OK, LIGHT_BURNED or LIGHT_BROKEN var/base_state var/switchcount = 0 // number of times switched - materials = list(MAT_GLASS=100) + custom_materials = list(/datum/material/glass=100) grind_results = list(/datum/reagent/silicon = 5, /datum/reagent/nitrogen = 10) //Nitrogen is used as a cheaper alternative to argon in incandescent lighbulbs var/rigged = 0 // true if rigged to explode var/brightness = 2 //how much light it gives off diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm index 0375a00c39..be8d456f20 100644 --- a/code/modules/power/singularity/collector.dm +++ b/code/modules/power/singularity/collector.dm @@ -15,7 +15,7 @@ req_access = list(ACCESS_ENGINE_EQUIP) // use_power = NO_POWER_USE max_integrity = 350 - integrity_failure = 80 + integrity_failure = 0.2 circuit = /obj/item/circuitboard/machine/rad_collector var/obj/item/tank/internals/plasma/loaded_tank = null var/stored_power = 0 diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index a0eeae1ea9..6c5f97557d 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -1,5 +1,5 @@ -#define SOLAR_MAX_DIST 40 -#define SOLARGENRATE 1500 +#define SOLAR_GEN_RATE 1500 +#define OCCLUSION_DISTANCE 20 /obj/machinery/power/solar name = "solar panel" @@ -10,20 +10,53 @@ use_power = NO_POWER_USE idle_power_usage = 0 active_power_usage = 0 - var/id = 0 max_integrity = 150 - integrity_failure = 50 - var/obscured = 0 - var/sunfrac = 0 - var/adir = SOUTH // actual dir - var/ndir = SOUTH // target dir - var/turn_angle = 0 - var/obj/machinery/power/solar_control/control = null + integrity_failure = 0.33 + + var/id + var/obscured = FALSE + var/sunfrac = 0 //[0-1] measure of obscuration -- multipllier against power generation + var/azimuth_current = 0 //[0-360) degrees, which direction are we facing? + var/azimuth_target = 0 //same but what way we're going to face next time we turn + var/obj/machinery/power/solar_control/control + var/needs_to_turn = TRUE //do we need to turn next tick? + var/needs_to_update_solar_exposure = TRUE //do we need to call update_solar_exposure() next tick? + var/obj/effect/overlay/panel var/obj/item/solar_assembly/assembly var/efficiency = 1 /obj/machinery/power/solar/Initialize(mapload, obj/item/solar_assembly/S) . = ..() + panel = new() +#if DM_VERSION >= 513 + panel.vis_flags = VIS_INHERIT_ID|VIS_INHERIT_ICON|VIS_INHERIT_PLANE + vis_contents += panel +#endif + panel.icon = icon + panel.icon_state = "solar_panel" + panel.layer = FLY_LAYER + Make(S) + connect_to_network() + RegisterSignal(SSsun, COMSIG_SUN_MOVED, .proc/queue_update_solar_exposure) + +/obj/machinery/power/solar/Destroy() + unset_control() //remove from control computer + return ..() + +//set the control of the panel to a given computer +/obj/machinery/power/solar/proc/set_control(obj/machinery/power/solar_control/SC) + unset_control() + control = SC + SC.connected_panels += src + queue_turn(SC.azimuth_target) + +//set the control of the panel to null and removes it from the control list of the previous control computer if needed +/obj/machinery/power/solar/proc/unset_control() + if(control) + control.connected_panels -= src + control = null + +/obj/machinery/power/solar/proc/Make(obj/item/solar_assembly/S) if(!S) assembly = new /obj/item/solar_assembly assembly.glass_type = new /obj/item/stack/sheet/glass(null, 2) @@ -34,32 +67,13 @@ assembly.glass_type.on_solar_construction(src) obj_integrity = max_integrity update_icon() - connect_to_network() - -/obj/machinery/power/solar/Destroy() - unset_control() //remove from control computer - return ..() - -//set the control of the panel to a given computer if closer than SOLAR_MAX_DIST -/obj/machinery/power/solar/proc/set_control(obj/machinery/power/solar_control/SC) - if(!SC || (get_dist(src, SC) > SOLAR_MAX_DIST)) - return 0 - control = SC - SC.connected_panels |= src - return 1 - -//set the control of the panel to null and removes it from the control list of the previous control computer if needed -/obj/machinery/power/solar/proc/unset_control() - if(control) - control.connected_panels.Remove(src) - control = null /obj/machinery/power/solar/crowbar_act(mob/user, obj/item/I) - playsound(src.loc, 'sound/machines/click.ogg', 50, 1) - user.visible_message("[user] begins to take the glass off [src].", "You begin to take the glass off [src]...") + playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) + user.visible_message("[user] begins to take the glass off [src].", "You begin to take the glass off [src]...") if(I.use_tool(src, user, 50)) - playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1) - user.visible_message("[user] takes the glass off [src].", "You take the glass off [src].") + playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE) + user.visible_message("[user] takes the glass off [src].", "You take the glass off [src].") deconstruct(TRUE) return TRUE @@ -67,16 +81,16 @@ switch(damage_type) if(BRUTE) if(stat & BROKEN) - playsound(loc, 'sound/effects/hit_on_shattered_glass.ogg', 60, 1) + playsound(loc, 'sound/effects/hit_on_shattered_glass.ogg', 60, TRUE) else - playsound(loc, 'sound/effects/glasshit.ogg', 90, 1) + playsound(loc, 'sound/effects/glasshit.ogg', 90, TRUE) if(BURN) - playsound(loc, 'sound/items/welder.ogg', 100, 1) + playsound(loc, 'sound/items/welder.ogg', 100, TRUE) /obj/machinery/power/solar/obj_break(damage_flag) if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1)) - playsound(loc, 'sound/effects/glassbr3.ogg', 100, 1) + playsound(loc, 'sound/effects/glassbr3.ogg', 100, TRUE) stat |= BROKEN unset_control() update_icon() @@ -94,81 +108,95 @@ new shard(loc) qdel(src) - -/obj/machinery/power/solar/update_icon() - ..() - cut_overlays() +/obj/machinery/power/solar/update_overlays() + . = ..() + var/matrix/turner = matrix() + turner.Turn(azimuth_current) + panel.transform = turner if(stat & BROKEN) - add_overlay(mutable_appearance(icon, "solar_panel-b", FLY_LAYER)) + panel.icon_state = "solar_panel-b" else - add_overlay(mutable_appearance(icon, "solar_panel", FLY_LAYER)) - src.setDir(angle2dir(adir)) + panel.icon_state = "solar_panel" +#if DM_VERSION <= 512 + . += new /mutable_appearance(panel) +#endif -//calculates the fraction of the sunlight that the panel receives +/obj/machinery/power/solar/proc/queue_turn(azimuth) + needs_to_turn = TRUE + azimuth_target = azimuth + +/obj/machinery/power/solar/proc/queue_update_solar_exposure() + needs_to_update_solar_exposure = TRUE //updating right away would be wasteful if we're also turning later + +/obj/machinery/power/solar/proc/update_turn() + needs_to_turn = FALSE + if(azimuth_current != azimuth_target) + azimuth_current = azimuth_target + occlusion_setup() + update_icon() + needs_to_update_solar_exposure = TRUE + +///trace towards sun to see if we're in shadow +/obj/machinery/power/solar/proc/occlusion_setup() + obscured = TRUE + + var/distance = OCCLUSION_DISTANCE + var/target_x = round(sin(SSsun.azimuth), 0.01) + var/target_y = round(cos(SSsun.azimuth), 0.01) + var/x_hit = x + var/y_hit = y + var/turf/hit + + for(var/run in 1 to distance) + x_hit += target_x + y_hit += target_y + hit = locate(round(x_hit, 1), round(y_hit, 1), z) + if(hit.opacity) + return + if(hit.x == 1 || hit.x == world.maxx || hit.y == 1 || hit.y == world.maxy) //edge of the map + break + obscured = FALSE + +///calculates the fraction of the sunlight that the panel receives /obj/machinery/power/solar/proc/update_solar_exposure() + needs_to_update_solar_exposure = FALSE + sunfrac = 0 if(obscured) - sunfrac = 0 - return + return 0 - //find the smaller angle between the direction the panel is facing and the direction of the sun (the sign is not important here) - var/p_angle = min(abs(adir - SSsun.angle), 360 - abs(adir - SSsun.angle)) + var/sun_azimuth = SSsun.azimuth + if(azimuth_current == sun_azimuth) //just a quick optimization for the most frequent case + . = 1 + else + //dot product of sun and panel -- Lambert's Cosine Law + . = cos(azimuth_current - sun_azimuth) + . = CLAMP(round(., 0.01), 0, 1) + sunfrac = . - if(p_angle > 90) // if facing more than 90deg from sun, zero output - sunfrac = 0 - return - - sunfrac = cos(p_angle) ** 2 - //isn't the power received from the incoming light proportionnal to cos(p_angle) (Lambert's cosine law) rather than cos(p_angle)^2 ? - -/obj/machinery/power/solar/process()//TODO: remove/add this from machines to save on processing as needed ~Carn PRIORITY +/obj/machinery/power/solar/process() if(stat & BROKEN) return - if(!control) //if there's no sun or the panel is not linked to a solar control computer, no need to proceed + if(control && (!powernet || control.powernet != powernet)) + unset_control() + if(needs_to_turn) + update_turn() + if(needs_to_update_solar_exposure) + update_solar_exposure() + if(sunfrac <= 0) return - if(powernet) - if(powernet == control.powernet)//check if the panel is still connected to the computer - if(obscured) //get no light from the sun, so don't generate power - return - var/sgen = SOLARGENRATE * sunfrac * efficiency - add_avail(sgen) - control.gen += sgen - else //if we're no longer on the same powernet, remove from control computer - unset_control() + var/sgen = SOLAR_GEN_RATE * sunfrac + add_avail(sgen) + if(control) + control.gen += sgen - -/obj/machinery/power/solar/fake/New(var/turf/loc, var/obj/item/solar_assembly/S) - ..(loc, S, 0) +//Bit of a hack but this whole type is a hack +/obj/machinery/power/solar/fake/Initialize(turf/loc, obj/item/solar_assembly/S) + . = ..() + UnregisterSignal(SSsun, COMSIG_SUN_MOVED) /obj/machinery/power/solar/fake/process() - . = PROCESS_KILL - return - -//trace towards sun to see if we're in shadow -/obj/machinery/power/solar/proc/occlusion() - - var/ax = x // start at the solar panel - var/ay = y - var/turf/T = null - var/dx = SSsun.dx - var/dy = SSsun.dy - - for(var/i = 1 to 20) // 20 steps is enough - ax += dx // do step - ay += dy - - T = locate( round(ax,0.5),round(ay,0.5),z) - - if(T.x == 1 || T.x==world.maxx || T.y==1 || T.y==world.maxy) // not obscured if we reach the edge - break - - if(T.density) // if we hit a solid turf, panel is obscured - obscured = 1 - return - - obscured = 0 // if hit the edge or stepped 20 times, not obscured - update_solar_exposure() - + return PROCESS_KILL // // Solar Assembly - For construction of solar arrays. @@ -202,6 +230,7 @@ glass_type.forceMove(Tsec) glass_type = null + /obj/item/solar_assembly/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/wrench) && isturf(loc)) if(isinspace()) @@ -224,8 +253,7 @@ var/obj/item/stack/sheet/G = S.change_stack(null, 2) if(G) glass_type = G - G.moveToNullspace() - playsound(loc, 'sound/machines/click.ogg', 50, 1) + playsound(src.loc, 'sound/machines/click.ogg', 50, 1) user.visible_message("[user] places the glass on the solar assembly.", "You place the glass on the solar assembly.") if(tracker) new /obj/machinery/power/tracker(get_turf(src), src) @@ -265,25 +293,27 @@ use_power = IDLE_POWER_USE idle_power_usage = 250 max_integrity = 200 - integrity_failure = 100 + integrity_failure = 0.5 var/icon_screen = "solar" var/icon_keyboard = "power_key" var/id = 0 - var/currentdir = 0 - var/targetdir = 0 // target angle in manual tracking (since it updates every game minute) var/gen = 0 var/lastgen = 0 - var/track = 0 // 0= off 1=timed 2=auto (tracker) - var/trackrate = 600 // 300-900 seconds - var/nexttime = 0 // time for a panel to rotate of 1 degree in manual tracking + var/azimuth_target = 0 + var/azimuth_rate = 1 ///degree change per minute + + var/track = SOLAR_TRACK_OFF ///SOLAR_TRACK_OFF, SOLAR_TRACK_TIMED, SOLAR_TRACK_AUTO + var/obj/machinery/power/tracker/connected_tracker = null var/list/connected_panels = list() /obj/machinery/power/solar_control/Initialize() . = ..() - if(powernet) - set_panels(currentdir) + azimuth_rate = SSsun.base_rotation + RegisterSignal(SSsun, COMSIG_SUN_MOVED, .proc/timed_track) connect_to_network() + if(powernet) + set_panels(azimuth_target) /obj/machinery/power/solar_control/Destroy() for(var/obj/machinery/power/solar/M in connected_panels) @@ -292,16 +322,6 @@ connected_tracker.unset_control() return ..() -/obj/machinery/power/solar_control/disconnect_from_network() - ..() - SSsun.solars.Remove(src) - -/obj/machinery/power/solar_control/connect_to_network() - var/to_return = ..() - if(powernet) //if connected and not already in solar_list... - SSsun.solars |= src //... add it - return to_return - //search for unconnected panels and trackers in the computer powernet and connect them /obj/machinery/power/solar_control/proc/search_for_connected() if(powernet) @@ -316,32 +336,16 @@ if(!T.control) //i.e unconnected T.set_control(src) -//called by the sun controller, update the facing angle (either manually or via tracking) and rotates the panels accordingly -/obj/machinery/power/solar_control/proc/update() - if(stat & (NOPOWER | BROKEN)) - return - - switch(track) - if(1) - if(trackrate) //we're manual tracking. If we set a rotation speed... - currentdir = targetdir //...the current direction is the targetted one (and rotates panels to it) - if(2) // auto-tracking - if(connected_tracker) - connected_tracker.set_angle(SSsun.angle) - - set_panels(currentdir) - updateDialog() - -/obj/machinery/power/solar_control/update_icon() - cut_overlays() +/obj/machinery/power/solar_control/update_overlays() + . = ..() if(stat & NOPOWER) - add_overlay("[icon_keyboard]_off") + . += mutable_appearance(icon, "[icon_keyboard]_off") return - add_overlay(icon_keyboard) + . += mutable_appearance(icon, icon_keyboard) if(stat & BROKEN) - add_overlay("[icon_state]_broken") + . += mutable_appearance(icon, "[icon_state]_broken") else - add_overlay(icon_screen) + . += mutable_appearance(icon, icon_screen) /obj/machinery/power/solar_control/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) @@ -352,73 +356,60 @@ /obj/machinery/power/solar_control/ui_data() var/data = list() - data["generated"] = round(lastgen) - data["angle"] = currentdir - data["direction"] = angle2text(currentdir) - + data["generated_ratio"] = data["generated"] / round(max(connected_panels.len, 1) * SOLAR_GEN_RATE) + data["azimuth_current"] = azimuth_target + data["azimuth_rate"] = azimuth_rate + data["max_rotation_rate"] = SSsun.base_rotation * 2 data["tracking_state"] = track - data["tracking_rate"] = trackrate - data["rotating_way"] = (trackrate<0 ? "CCW" : "CW") - data["connected_panels"] = connected_panels.len - data["connected_tracker"] = (connected_tracker ? 1 : 0) + data["connected_tracker"] = (connected_tracker ? TRUE : FALSE) return data /obj/machinery/power/solar_control/ui_act(action, params) if(..()) return - if(action == "angle") + if(action == "azimuth") var/adjust = text2num(params["adjust"]) var/value = text2num(params["value"]) if(adjust) - value = currentdir + adjust + value = azimuth_target + adjust if(value != null) - currentdir = CLAMP((360 + value) % 360, 0, 359) - targetdir = currentdir - set_panels(currentdir) + set_panels(value) return TRUE return FALSE - if(action == "rate") + if(action == "azimuth_rate") var/adjust = text2num(params["adjust"]) var/value = text2num(params["value"]) if(adjust) - value = trackrate + adjust + value = azimuth_rate + adjust if(value != null) - trackrate = CLAMP(value, -7200, 7200) - if(trackrate) - nexttime = world.time + 36000 / abs(trackrate) + azimuth_rate = round(CLAMP(value, -2 * SSsun.base_rotation, 2 * SSsun.base_rotation), 0.01) return TRUE return FALSE if(action == "tracking") var/mode = text2num(params["mode"]) track = mode - if(mode == 2 && connected_tracker) - connected_tracker.set_angle(SSsun.angle) - set_panels(currentdir) - else if(mode == 1) - targetdir = currentdir - if(trackrate) - nexttime = world.time + 36000 / abs(trackrate) - set_panels(targetdir) + if(mode == SOLAR_TRACK_AUTO) + if(connected_tracker) + connected_tracker.sun_update(SSsun, SSsun.azimuth) + else + track = SOLAR_TRACK_OFF return TRUE if(action == "refresh") search_for_connected() - if(connected_tracker && track == 2) - connected_tracker.set_angle(SSsun.angle) - set_panels(currentdir) return TRUE return FALSE /obj/machinery/power/solar_control/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/screwdriver)) - if(I.use_tool(src, user, 20, volume=50)) - if (src.stat & BROKEN) + if(I.tool_behaviour == TOOL_SCREWDRIVER) + if(I.use_tool(src, user, 20, volume = 50)) + if(src.stat & BROKEN) to_chat(user, "The broken glass falls out.") var/obj/structure/frame/computer/A = new /obj/structure/frame/computer( src.loc ) new /obj/item/shard( src.loc ) var/obj/item/circuitboard/computer/solar_control/M = new /obj/item/circuitboard/computer/solar_control( A ) - for (var/obj/C in src) + for(var/obj/C in src) C.forceMove(drop_location()) A.circuit = M A.state = 3 @@ -429,7 +420,7 @@ to_chat(user, "You disconnect the monitor.") var/obj/structure/frame/computer/A = new /obj/structure/frame/computer( src.loc ) var/obj/item/circuitboard/computer/solar_control/M = new /obj/item/circuitboard/computer/solar_control( A ) - for (var/obj/C in src) + for(var/obj/C in src) C.forceMove(drop_location()) A.circuit = M A.state = 4 @@ -445,15 +436,15 @@ switch(damage_type) if(BRUTE) if(stat & BROKEN) - playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1) + playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, TRUE) else - playsound(src.loc, 'sound/effects/glasshit.ogg', 75, 1) + playsound(src.loc, 'sound/effects/glasshit.ogg', 75, TRUE) if(BURN) - playsound(src.loc, 'sound/items/welder.ogg', 100, 1) + playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE) /obj/machinery/power/solar_control/obj_break(damage_flag) if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1)) - playsound(loc, 'sound/effects/glassbr3.ogg', 100, 1) + playsound(loc, 'sound/effects/glassbr3.ogg', 100, TRUE) stat |= BROKEN update_icon() @@ -461,36 +452,31 @@ lastgen = gen gen = 0 - if(stat & (NOPOWER | BROKEN)) - return + if(connected_tracker && (!powernet || connected_tracker.powernet != powernet)) + connected_tracker.unset_control() - if(connected_tracker) //NOTE : handled here so that we don't add trackers to the processing list - if(connected_tracker.powernet != powernet) - connected_tracker.unset_control() +///Ran every time the sun updates. +/obj/machinery/power/solar_control/proc/timed_track() + if(track == SOLAR_TRACK_TIMED) + azimuth_target += azimuth_rate + set_panels(azimuth_target) - if(track==1 && trackrate) //manual tracking and set a rotation speed - if(nexttime <= world.time) //every time we need to increase/decrease the angle by 1�... - targetdir = (targetdir + trackrate/abs(trackrate) + 360) % 360 //... do it - nexttime += 36000/abs(trackrate) //reset the counter for the next 1� - -//rotates the panel to the passed angle -/obj/machinery/power/solar_control/proc/set_panels(currentdir) +///Rotates the panel to the passed angles +/obj/machinery/power/solar_control/proc/set_panels(azimuth) + azimuth = CLAMP(round(azimuth, 0.01), -360, 719.99) + if(azimuth >= 360) + azimuth -= 360 + if(azimuth < 0) + azimuth += 360 + azimuth_target = azimuth for(var/obj/machinery/power/solar/S in connected_panels) - S.adir = currentdir //instantly rotates the panel - S.occlusion()//and - S.update_icon() //update it - - update_icon() - + S.queue_turn(azimuth) /obj/machinery/power/solar_control/power_change() ..() update_icon() - - - // // MISC // @@ -498,3 +484,6 @@ /obj/item/paper/guides/jobs/engi/solars name = "paper- 'Going green! Setup your own solar array instructions.'" info = "

Welcome

At greencorps we love the environment, and space. With this package you are able to help mother nature and produce energy without any usage of fossil fuel or plasma! Singularity energy is dangerous while solar energy is safe, which is why it's better. Now here is how you setup your own solar array.

You can make a solar panel by wrenching the solar assembly onto a cable node. Adding a glass panel, reinforced or regular glass will do, will finish the construction of your solar panel. It is that easy!

Now after setting up 19 more of these solar panels you will want to create a solar tracker to keep track of our mother nature's gift, the sun. These are the same steps as before except you insert the tracker equipment circuit into the assembly before performing the final step of adding the glass. You now have a tracker! Now the last step is to add a computer to calculate the sun's movements and to send commands to the solar panels to change direction with the sun. Setting up the solar computer is the same as setting up any computer, so you should have no trouble in doing that. You do need to put a wire node under the computer, and the wire needs to be connected to the tracker.

Congratulations, you should have a working solar array. If you are having trouble, here are some tips. Make sure all solar equipment are on a cable node, even the computer. You can always deconstruct your creations if you make a mistake.

That's all to it, be safe, be green!

" + +#undef SOLAR_GEN_RATE +#undef OCCLUSION_DISTANCE diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 0b0d968919..858adc0d66 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -345,8 +345,9 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) else // Pass all the gas related code an empty gas container removed = new() - - damage_archived = damage + damage_archived = min(damage_archived + (DAMAGE_HARDCAP * explosion_point),damage) + matter_power += damage - damage_archived + damage = damage_archived if(!removed || !removed.total_moles() || isspaceturf(T)) //we're in space or there is no gas to process if(takes_damage) damage += max((power / 1000) * DAMAGE_INCREASE_MULTIPLIER, 0.1) // always does at least some damage diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm index 8701dfea7f..0627a55de0 100644 --- a/code/modules/power/tracker.dm +++ b/code/modules/power/tracker.dm @@ -1,6 +1,6 @@ //Solar tracker -//Machine that tracks the sun and reports it's direction to the solar controllers +//Machine that tracks the sun and reports its direction to the solar controllers //As long as this is working, solar panels on same powernet will track automatically /obj/machinery/power/tracker @@ -11,15 +11,42 @@ density = TRUE use_power = NO_POWER_USE max_integrity = 250 - integrity_failure = 50 + integrity_failure = 0.2 var/id = 0 - var/sun_angle = 0 // sun angle as set by sun datum - var/obj/machinery/power/solar_control/control = null + var/obj/machinery/power/solar_control/control var/obj/item/solar_assembly/assembly /obj/machinery/power/tracker/Initialize(mapload, obj/item/solar_assembly/S) . = ..() + Make(S) + connect_to_network() + RegisterSignal(SSsun, COMSIG_SUN_MOVED, .proc/sun_update) + +/obj/machinery/power/tracker/Destroy() + unset_control() //remove from control computer + return ..() + +/obj/machinery/power/tracker/proc/set_control(obj/machinery/power/solar_control/SC) + unset_control() + control = SC + SC.connected_tracker = src + +//set the control of the tracker to null and removes it from the previous control computer if needed +/obj/machinery/power/tracker/proc/unset_control() + if(control) + if(control.track == SOLAR_TRACK_AUTO) + control.track = SOLAR_TRACK_OFF + control.connected_tracker = null + control = null + +///Tell the controller to turn the solar panels +/obj/machinery/power/tracker/proc/sun_update(datum/source, azimuth) + setDir(angle2dir(azimuth)) + if(control && control.track == SOLAR_TRACK_AUTO) + control.set_panels(azimuth) + +/obj/machinery/power/tracker/proc/Make(obj/item/solar_assembly/S) if(!S) assembly = new /obj/item/solar_assembly assembly.glass_type = new /obj/item/stack/sheet/glass(null, 2) @@ -29,59 +56,29 @@ S.moveToNullspace() assembly = S update_icon() - connect_to_network() - -/obj/machinery/power/tracker/Destroy() - unset_control() //remove from control computer - return ..() - -//set the control of the tracker to a given computer if closer than SOLAR_MAX_DIST -/obj/machinery/power/tracker/proc/set_control(obj/machinery/power/solar_control/SC) - if(!SC || (get_dist(src, SC) > SOLAR_MAX_DIST)) - return 0 - control = SC - SC.connected_tracker = src - return 1 - -//set the control of the tracker to null and removes it from the previous control computer if needed -/obj/machinery/power/tracker/proc/unset_control() - if(control) - control.connected_tracker = null - control = null - -//updates the tracker icon and the facing angle for the control computer -/obj/machinery/power/tracker/proc/set_angle(angle) - sun_angle = angle - - //set icon dir to show sun illumination - setDir(turn(NORTH, -angle - 22.5) )// 22.5 deg bias ensures, e.g. 67.5-112.5 is EAST - - if(powernet && (powernet == control.powernet)) //update if we're still in the same powernet - control.currentdir = angle /obj/machinery/power/tracker/crowbar_act(mob/user, obj/item/I) - playsound(src.loc, 'sound/machines/click.ogg', 50, 1) - user.visible_message("[user] begins to take the glass off [src].", "You begin to take the glass off [src]...") + playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) + user.visible_message("[user] begins to take the glass off [src].", "You begin to take the glass off [src]...") if(I.use_tool(src, user, 50)) - playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1) - user.visible_message("[user] takes the glass off [src].", "You take the glass off [src].") + playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE) + user.visible_message("[user] takes the glass off [src].", "You take the glass off [src].") deconstruct(TRUE) return TRUE /obj/machinery/power/tracker/obj_break(damage_flag) if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1)) - playsound(loc, 'sound/effects/glassbr3.ogg', 100, 1) - stat |= BROKEN + playsound(loc, 'sound/effects/glassbr3.ogg', 100, TRUE) unset_control() -/obj/machinery/power/solar/deconstruct(disassembled = TRUE) +/obj/machinery/power/tracker/deconstruct(disassembled = TRUE) if(!(flags_1 & NODECONSTRUCT_1)) if(disassembled) if(assembly) assembly.forceMove(loc) assembly.give_glass(stat & BROKEN) else - playsound(src, "shatter", 70, 1) + playsound(src, "shatter", 70, TRUE) var/shard = assembly?.glass_type ? assembly.glass_type.shard_type : /obj/item/shard new shard(loc) new shard(loc) diff --git a/code/modules/projectiles/ammunition/_ammunition.dm b/code/modules/projectiles/ammunition/_ammunition.dm index 1404529700..28b70bf276 100644 --- a/code/modules/projectiles/ammunition/_ammunition.dm +++ b/code/modules/projectiles/ammunition/_ammunition.dm @@ -7,7 +7,7 @@ slot_flags = ITEM_SLOT_BELT throwforce = 0 w_class = WEIGHT_CLASS_TINY - materials = list(MAT_METAL = 500) + custom_materials = list(/datum/material/iron = 500) var/fire_sound = null //What sound should play when this ammo is fired var/caliber = list() //Which kind of guns it can be loaded into var/projectile_type = null //The bullet type to create when New() is called diff --git a/code/modules/projectiles/ammunition/ballistic/shotgun.dm b/code/modules/projectiles/ammunition/ballistic/shotgun.dm index 9aabd0e6b1..0599e52a73 100644 --- a/code/modules/projectiles/ammunition/ballistic/shotgun.dm +++ b/code/modules/projectiles/ammunition/ballistic/shotgun.dm @@ -6,14 +6,14 @@ icon_state = "blshell" caliber = "shotgun" projectile_type = /obj/item/projectile/bullet/shotgun_slug - materials = list(MAT_METAL=4000) + custom_materials = list(/datum/material/iron=4000) /obj/item/ammo_casing/shotgun/beanbag name = "beanbag slug" desc = "A weak beanbag slug for riot control." icon_state = "bshell" projectile_type = /obj/item/projectile/bullet/shotgun_beanbag - materials = list(MAT_METAL=250) + custom_materials = list(/datum/material/iron=250) /obj/item/ammo_casing/shotgun/incendiary name = "incendiary slug" @@ -34,7 +34,7 @@ desc = "A stunning taser slug." icon_state = "stunshell" projectile_type = /obj/item/projectile/bullet/shotgun_stunslug - materials = list(MAT_METAL=250) + custom_materials = list(/datum/material/iron=250) /obj/item/ammo_casing/shotgun/meteorslug name = "meteorslug shell" @@ -71,14 +71,14 @@ projectile_type = /obj/item/projectile/bullet/pellet/shotgun_rubbershot pellets = 6 variance = 25 - materials = list(MAT_METAL=4000) + custom_materials = list(/datum/material/iron=4000) /obj/item/ammo_casing/shotgun/improvised name = "improvised shell" desc = "An extremely weak shotgun shell with multiple small pellets made out of metal shards." icon_state = "improvshell" projectile_type = /obj/item/projectile/bullet/pellet/shotgun_improvised - materials = list(MAT_METAL=250) + custom_materials = list(/datum/material/iron=250) pellets = 10 variance = 25 diff --git a/code/modules/projectiles/ammunition/caseless/arrow.dm b/code/modules/projectiles/ammunition/caseless/arrow.dm index e0ca637a8b..0543e48f96 100644 --- a/code/modules/projectiles/ammunition/caseless/arrow.dm +++ b/code/modules/projectiles/ammunition/caseless/arrow.dm @@ -5,4 +5,22 @@ caliber = "arrow" icon_state = "arrow" throwforce = 3 //good luck hitting someone with the pointy end of the arrow - throw_speed = 3 \ No newline at end of file + throw_speed = 3 + +/obj/item/ammo_casing/caseless/arrow/ashen + name = "ashen arrow" + desc = "An arrow made of wood, hardened by fire." + icon_state = "ashenarrow" + projectile_type = /obj/item/projectile/bullet/reusable/arrow/ashen + +/obj/item/ammo_casing/caseless/arrow/bone + name = "bone arrow" + desc = "An arrow made of bone and sinew. The tip is sharp enough to pierce through a goliath plate." + icon_state = "bonearrow" + projectile_type = /obj/item/projectile/bullet/reusable/arrow/bone + +/obj/item/ammo_casing/caseless/arrow/bronze + name = "bronze arrow" + desc = "An arrow made of wood, tipped with bronze. The tip is dense enough to provide some armor penetration." + icon_state = "bronzearrow" + projectile_type = /obj/item/projectile/bullet/reusable/arrow/bronze diff --git a/code/modules/projectiles/ammunition/caseless/foam.dm b/code/modules/projectiles/ammunition/caseless/foam.dm index dd29f075f1..311f76797c 100644 --- a/code/modules/projectiles/ammunition/caseless/foam.dm +++ b/code/modules/projectiles/ammunition/caseless/foam.dm @@ -5,7 +5,7 @@ caliber = "foam_force" icon = 'icons/obj/guns/toy.dmi' icon_state = "foamdart" - materials = list(MAT_METAL = 11.25) + custom_materials = list(/datum/material/iron = 11.25) harmful = FALSE var/modified = FALSE @@ -62,7 +62,7 @@ desc = "Whose smart idea was it to use toys as crowd control? Ages 18 and up." projectile_type = /obj/item/projectile/bullet/reusable/foam_dart/riot icon_state = "foamdart_riot" - materials = list(MAT_METAL = 1125) + custom_materials = list(/datum/material/iron = 1125) /obj/item/ammo_casing/caseless/foam_dart/mag name = "magfoam dart" diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index 3cdb5ca06d..4f37cf3ba9 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -8,7 +8,7 @@ item_state = "syringe_kit" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' - materials = list(MAT_METAL = 30000) + custom_materials = list(/datum/material/iron = 30000) throwforce = 2 w_class = WEIGHT_CLASS_TINY throw_speed = 3 @@ -26,8 +26,8 @@ /obj/item/ammo_box/Initialize() . = ..() if (!bullet_cost) - for (var/material in materials) - var/material_amount = materials[material] + for (var/material in custom_materials) + var/material_amount = custom_materials[material] LAZYSET(base_cost, material, (material_amount * 0.10)) material_amount *= 0.90 // 10% for the container @@ -121,7 +121,8 @@ for (var/material in bullet_cost) var/material_amount = bullet_cost[material] material_amount = (material_amount*stored_ammo.len) + base_cost[material] - materials[material] = material_amount + custom_materials[material] = material_amount + set_custom_materials(custom_materials)//make sure we setup the correct properties again //Behavior for magazines /obj/item/ammo_box/magazine/proc/ammo_count() diff --git a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm index 2842f13db5..fbbca99ec2 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm @@ -19,7 +19,7 @@ ammo_type = /obj/item/ammo_casing/c38 max_ammo = 6 multiple_sprites = 1 - materials = list(MAT_METAL = 20000) + custom_materials = list(/datum/material/iron = 20000) /obj/item/ammo_box/c38/lethal name = "speed loader (.38)" @@ -85,7 +85,7 @@ icon_state = "foambox" ammo_type = /obj/item/ammo_casing/caseless/foam_dart max_ammo = 40 - materials = list(MAT_METAL = 500) + custom_materials = list(/datum/material/iron = 500) /obj/item/ammo_box/foambox/mag name = "ammo box (Magnetic Foam Darts)" @@ -97,4 +97,4 @@ /obj/item/ammo_box/foambox/riot icon_state = "foambox_riot" ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot - materials = list(MAT_METAL = 50000) + custom_materials = list(/datum/material/iron = 50000) diff --git a/code/modules/projectiles/boxes_magazines/external/toy.dm b/code/modules/projectiles/boxes_magazines/external/toy.dm index 04bcad284d..57da710ba4 100644 --- a/code/modules/projectiles/boxes_magazines/external/toy.dm +++ b/code/modules/projectiles/boxes_magazines/external/toy.dm @@ -64,4 +64,4 @@ max_ammo = 24 multiple_sprites = 2 ammo_type = /obj/item/ammo_casing/caseless/foam_dart/mag - materials = list(MAT_METAL = 200) + custom_materials = list(/datum/material/iron = 200) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 34f7134591..1f9f211154 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -9,7 +9,7 @@ item_state = "gun" flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT - materials = list(MAT_METAL=2000) + custom_materials = list(/datum/material/iron=2000) w_class = WEIGHT_CLASS_NORMAL throwforce = 5 throw_speed = 3 diff --git a/code/modules/projectiles/guns/ballistic/bow.dm b/code/modules/projectiles/guns/ballistic/bow.dm index 448e2915d9..0fc181f71c 100644 --- a/code/modules/projectiles/guns/ballistic/bow.dm +++ b/code/modules/projectiles/guns/ballistic/bow.dm @@ -22,11 +22,9 @@ /obj/item/gun/ballistic/bow/chamber_round() chambered = magazine.get_round(1) -/obj/item/gun/ballistic/bow/afterattack() - . = ..() - if (chambered) - chambered = null - magazine.get_round(0) +/obj/item/gun/ballistic/bow/process_chamber() + chambered = null + magazine.get_round(0) update_icon() /obj/item/gun/ballistic/bow/attack_self(mob/living/user) @@ -47,7 +45,22 @@ update_icon() /obj/item/gun/ballistic/bow/update_icon() - icon_state = "bow_[get_ammo() ? (chambered ? "firing" : "loaded") : "unloaded"]" + icon_state = "[initial(icon_state)]_[get_ammo() ? (chambered ? "firing" : "loaded") : "unloaded"]" /obj/item/gun/ballistic/bow/can_shoot() - return chambered \ No newline at end of file + return chambered + +/obj/item/gun/ballistic/bow/ashen + name = "bone bow" + desc = "Some sort of primitive projectile weapon made of bone and sinew. Used to fire arrows." + icon_state = "ashenbow" + item_state = "ashenbow" + force = 8 + +/obj/item/gun/ballistic/bow/pipe + name = "pipe bow" + desc = "Some sort of pipe made projectile weapon made of a silk string and lots of bending. Used to fire arrows." + icon_state = "pipebow" + item_state = "pipebow" + inaccuracy_modifier = 1.1 //Made of pipe and in a rush + force = 0 \ No newline at end of file diff --git a/code/modules/projectiles/guns/ballistic/laser_gatling.dm b/code/modules/projectiles/guns/ballistic/laser_gatling.dm index 49ced8ff39..82f6fa700b 100644 --- a/code/modules/projectiles/guns/ballistic/laser_gatling.dm +++ b/code/modules/projectiles/guns/ballistic/laser_gatling.dm @@ -102,7 +102,7 @@ slowdown = 1 slot_flags = null w_class = WEIGHT_CLASS_HUGE - materials = list() + custom_materials = null burst_size = 3 automatic = 0 fire_delay = 1 diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index be43bc48fd..401678512b 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -67,7 +67,8 @@ /obj/item/gun/energy/Destroy() if(flags_1 & INITIALIZED_1) QDEL_NULL(cell) - QDEL_LIST(ammo_type) + if(!(flags_1 & HOLOGRAM_1)) //holodeck stuff. + QDEL_LIST(ammo_type) STOP_PROCESSING(SSobj, src) return ..() diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 4b29b59549..2fe9b326eb 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -4,7 +4,7 @@ icon_state = "laser" item_state = "laser" w_class = WEIGHT_CLASS_NORMAL - materials = list(MAT_METAL=2000) + custom_materials = list(/datum/material/iron=2000) ammo_type = list(/obj/item/ammo_casing/energy/lasergun) ammo_x_offset = 1 shaded_charge = 1 diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 9c6ec446bb..42de0dcae8 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -85,7 +85,7 @@ icon_state = "crossbow" item_state = "crossbow" w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=2000) + custom_materials = list(/datum/material/iron=2000) suppressed = TRUE ammo_type = list(/obj/item/ammo_casing/energy/bolt) weapon_weight = WEAPON_LIGHT @@ -108,7 +108,7 @@ desc = "A reverse engineered weapon using syndicate technology. This thing seems incredibly unwieldly, and seems to be using similar internals to the Proto-Kinetic Accelerator. It might not play nice when brought near weapons similar to it." icon_state = "crossbowlarge" w_class = WEIGHT_CLASS_BULKY - materials = list(MAT_METAL=4000) + custom_materials = list(/datum/material/iron=4000) suppressed = null ammo_type = list(/obj/item/ammo_casing/energy/bolt/large) weapon_weight = WEAPON_HEAVY diff --git a/code/modules/projectiles/guns/misc/beam_rifle.dm b/code/modules/projectiles/guns/misc/beam_rifle.dm index ec5eee7b6b..098395e0d4 100644 --- a/code/modules/projectiles/guns/misc/beam_rifle.dm +++ b/code/modules/projectiles/guns/misc/beam_rifle.dm @@ -19,7 +19,7 @@ fire_sound = 'sound/weapons/beam_sniper.ogg' slot_flags = ITEM_SLOT_BACK force = 15 - materials = list() + custom_materials = null recoil = 4 ammo_x_offset = 3 ammo_y_offset = 3 diff --git a/code/modules/projectiles/guns/misc/chem_gun.dm b/code/modules/projectiles/guns/misc/chem_gun.dm index 9f8e92a8f8..3d400f0e16 100644 --- a/code/modules/projectiles/guns/misc/chem_gun.dm +++ b/code/modules/projectiles/guns/misc/chem_gun.dm @@ -9,7 +9,7 @@ throw_speed = 3 throw_range = 7 force = 4 - materials = list(MAT_METAL=2000) + custom_materials = list(/datum/material/iron=2000) clumsy_check = FALSE fire_sound = 'sound/items/syringeproj.ogg' var/time_per_syringe = 250 diff --git a/code/modules/projectiles/guns/misc/grenade_launcher.dm b/code/modules/projectiles/guns/misc/grenade_launcher.dm index 5a8c5a066e..6113bc4857 100644 --- a/code/modules/projectiles/guns/misc/grenade_launcher.dm +++ b/code/modules/projectiles/guns/misc/grenade_launcher.dm @@ -10,7 +10,7 @@ force = 5 var/list/grenades = new/list() var/max_grenades = 3 - materials = list(MAT_METAL=2000) + custom_materials = list(/datum/material/iron=2000) /obj/item/gun/grenadelauncher/examine(mob/user) . = ..() diff --git a/code/modules/projectiles/guns/misc/syringe_gun.dm b/code/modules/projectiles/guns/misc/syringe_gun.dm index 3a39d53d82..b3838751eb 100644 --- a/code/modules/projectiles/guns/misc/syringe_gun.dm +++ b/code/modules/projectiles/guns/misc/syringe_gun.dm @@ -7,7 +7,7 @@ throw_speed = 3 throw_range = 7 force = 4 - materials = list(MAT_METAL=2000) + custom_materials = list(/datum/material/iron=2000) clumsy_check = 0 fire_sound = 'sound/items/syringeproj.ogg' var/list/syringes = list() @@ -108,7 +108,7 @@ desc = "A compressed air gun, designed to fit medicinal darts for application of medicine for those patients just out of reach." icon_state = "dartgun" item_state = "dartgun" - materials = list(MAT_METAL=2000, MAT_GLASS=500) + custom_materials = list(/datum/material/iron=2000, /datum/material/glass=500) suppressed = TRUE //Softer fire sound can_unsuppress = FALSE diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 4521e4ea13..139f5a051c 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -52,7 +52,6 @@ var/hitscan = FALSE //Whether this is hitscan. If it is, speed is basically ignored. var/list/beam_segments //assoc list of datum/point or datum/point/vector, start = end. Used for hitscan effect generation. var/datum/point/beam_index - var/turf/hitscan_last //last turf touched during hitscanning. var/tracer_type var/muzzle_type var/impact_type @@ -492,8 +491,6 @@ process_homing() var/forcemoved = FALSE for(var/i in 1 to SSprojectiles.global_iterations_per_move) - if(QDELETED(src)) - return trajectory.increment(trajectory_multiplier) var/turf/T = trajectory.return_turf() if(!istype(T)) @@ -506,14 +503,16 @@ forceMove(T) trajectory_ignore_forcemove = FALSE after_z_change(old, loc) + forcemoved = TRUE + if(QDELETED(src)) + return if(!hitscanning) pixel_x = trajectory.return_px() pixel_y = trajectory.return_py() - forcemoved = TRUE - hitscan_last = loc else if(T != loc) step_towards(src, T) - hitscan_last = loc + if(QDELETED(src)) + return if(!hitscanning && !forcemoved) pixel_x = trajectory.return_px() - trajectory.mpx * trajectory_multiplier * SSprojectiles.global_iterations_per_move pixel_y = trajectory.return_py() - trajectory.mpy * trajectory_multiplier * SSprojectiles.global_iterations_per_move diff --git a/code/modules/projectiles/projectile/energy/tesla.dm b/code/modules/projectiles/projectile/energy/tesla.dm index 43c31816cd..2439cee429 100644 --- a/code/modules/projectiles/projectile/energy/tesla.dm +++ b/code/modules/projectiles/projectile/energy/tesla.dm @@ -7,10 +7,11 @@ var/zap_range = 3 var/power = 10000 -/obj/item/projectile/energy/tesla/fire(setAngle) - if(firer) - chain = firer.Beam(src, icon_state = "lightning[rand(1, 12)]", time = INFINITY, maxdistance = INFINITY) - ..() +/obj/item/projectile/energy/tesla/fire(setAngle, atom/direct_target) + var/atom/source = fired_from || firer + if(source) + chain = source.Beam(src, icon_state = "lightning[rand(1, 12)]", time = INFINITY, maxdistance = INFINITY) + return ..() /obj/item/projectile/energy/tesla/on_hit(atom/target) . = ..() diff --git a/code/modules/projectiles/projectile/reusable/arrow.dm b/code/modules/projectiles/projectile/reusable/arrow.dm index f1c9638fd9..d00de79eb1 100644 --- a/code/modules/projectiles/projectile/reusable/arrow.dm +++ b/code/modules/projectiles/projectile/reusable/arrow.dm @@ -3,4 +3,23 @@ desc = "Woosh!" damage = 15 icon_state = "arrow" - ammo_type = /obj/item/ammo_casing/caseless/arrow \ No newline at end of file + ammo_type = /obj/item/ammo_casing/caseless/arrow + +/obj/item/projectile/bullet/reusable/arrow/ashen + name = "ashen arrow" + desc = "Fire harderned arrow." + damage = 25 + ammo_type = /obj/item/ammo_casing/caseless/arrow/ashen + +/obj/item/projectile/bullet/reusable/arrow/bone //AP for ashwalkers + name = "bone arrow" + desc = "Arrow made of bone and sinew." + damage = 35 + armour_penetration = 40 + ammo_type = /obj/item/ammo_casing/caseless/arrow/bone + +/obj/item/projectile/bullet/reusable/arrow/bronze //Just some AP shots + name = "bronze arrow" + desc = "Bronze tipped arrow." + armour_penetration = 10 + ammo_type = /obj/item/ammo_casing/caseless/arrow/bronze diff --git a/code/modules/projectiles/projectile/special/curse.dm b/code/modules/projectiles/projectile/special/curse.dm index 062623689b..99aa922622 100644 --- a/code/modules/projectiles/projectile/special/curse.dm +++ b/code/modules/projectiles/projectile/special/curse.dm @@ -21,6 +21,9 @@ handedness = prob(50) icon_state = "cursehand[handedness]" +/obj/item/projectile/curse_hand/update_icon_state() + icon_state = "[initial(icon_state)][handedness]" + /obj/item/projectile/curse_hand/fire(setAngle) if(starting) arm = starting.Beam(src, icon_state = "curse[handedness]", time = INFINITY, maxdistance = INFINITY, beam_type=/obj/effect/ebeam/curse_arm) @@ -40,7 +43,8 @@ if(CHECK_BITFIELD(movement_type, UNSTOPPABLE)) playsound(src, 'sound/effects/curse3.ogg', 25, 1, -1) var/turf/T = get_step(src, dir) - new/obj/effect/temp_visual/dir_setting/curse/hand(T, dir, handedness) + var/obj/effect/temp_visual/dir_setting/curse/hand/leftover = new(T, dir) + leftover.icon_state = icon_state for(var/obj/effect/temp_visual/dir_setting/curse/grasp_portal/G in starting) qdel(G) new /obj/effect/temp_visual/dir_setting/curse/grasp_portal/fading(starting, dir) diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 4c240660a9..8635626209 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -77,6 +77,8 @@ /datum/reagents/Destroy() . = ..() + //We're about to delete all reagents, so lets cleanup + addiction_list.Cut() var/list/cached_reagents = reagent_list for(var/reagent in cached_reagents) var/datum/reagent/R = reagent @@ -332,9 +334,7 @@ if(R.addiction_stage3_end to R.addiction_stage4_end) need_mob_update += R.addiction_act_stage4(C) if(R.addiction_stage4_end to INFINITY) - to_chat(C, "You feel like you've gotten over your need for [R.name].") - SEND_SIGNAL(C, COMSIG_CLEAR_MOOD_EVENT, "[R.type]_addiction") - cached_addictions.Remove(R) + remove_addiction(R) else SEND_SIGNAL(C, COMSIG_CLEAR_MOOD_EVENT, "[R.type]_overdose") addiction_tick++ @@ -344,6 +344,12 @@ C.update_stamina() update_total() +/datum/reagents/proc/remove_addiction(datum/reagent/R) + to_chat(my_atom, "You feel like you've gotten over your need for [R.name].") + SEND_SIGNAL(my_atom, COMSIG_CLEAR_MOOD_EVENT, "[R.type]_overdose") + addiction_list.Remove(R) + qdel(R) + //Signals that metabolization has stopped, triggering the end of trait-based effects /datum/reagents/proc/end_metabolization(mob/living/carbon/C, keep_liverless = TRUE) var/list/cached_reagents = reagent_list @@ -762,6 +768,8 @@ R.metabolizing = FALSE R.on_mob_end_metabolize(M) R.on_mob_delete(M) + //Clear from relevant lists + addiction_list -= R qdel(R) reagent_list -= R update_total() diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index ed68c25cb6..be15bb70cf 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -408,7 +408,7 @@ if(beaker) var/obj/item/reagent_containers/B = beaker B.forceMove(drop_location()) - if(user && Adjacent(user) && !issiliconoradminghost(user)) + if(user && Adjacent(user) && user.can_hold_items()) user.put_in_hands(B) if(new_beaker) beaker = new_beaker diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm index 189d09b06f..4c4d0fdb6e 100644 --- a/code/modules/reagents/chemistry/machinery/chem_heater.dm +++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm @@ -38,7 +38,7 @@ /obj/machinery/chem_heater/proc/replace_beaker(mob/living/user, obj/item/reagent_containers/new_beaker) if(beaker) beaker.forceMove(drop_location()) - if(user && Adjacent(user) && !issiliconoradminghost(user)) + if(user && Adjacent(user) && user.can_hold_items()) user.put_in_hands(beaker) if(new_beaker) beaker = new_beaker diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index 66c663e2e4..abfd00ed90 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -129,7 +129,7 @@ if(beaker) var/obj/item/reagent_containers/B = beaker B.forceMove(drop_location()) - if(user && Adjacent(user) && !issiliconoradminghost(user)) + if(user && Adjacent(user) && user.can_hold_items()) user.put_in_hands(B) if(new_beaker) beaker = new_beaker @@ -139,7 +139,7 @@ if(bottle) var/obj/item/storage/pill_bottle/B = bottle B.forceMove(drop_location()) - if(user && Adjacent(user) && !issiliconoradminghost(user)) + if(user && Adjacent(user) && user.can_hold_items()) user.put_in_hands(B) else adjust_item_drop_location(B) diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm index 3dea44cf40..7b25aa769d 100644 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm +++ b/code/modules/reagents/chemistry/machinery/pandemic.dm @@ -192,7 +192,7 @@ update_icon() var/turf/source_turf = get_turf(src) log_virus("A culture bottle was printed for the virus [A.admin_details()] at [loc_name(source_turf)] by [key_name(usr)]") - + . = TRUE if("create_vaccine_bottle") wait = TRUE @@ -202,9 +202,9 @@ var/obj/item/reagent_containers/glass/bottle/B = new(drop_location()) B.name = "[D.name] vaccine bottle" B.reagents.add_reagent(/datum/reagent/vaccine, 15, list(id)) - + update_icon() - + . = TRUE /obj/machinery/computer/pandemic/attackby(obj/item/I, mob/user, params) @@ -229,7 +229,7 @@ /obj/machinery/computer/pandemic/proc/replace_beaker(mob/living/user, obj/item/reagent_containers/new_beaker) if(beaker) - if(user && Adjacent(user) && !issiliconoradminghost(user)) + if(user && Adjacent(user) && user.can_hold_items()) if(!user.put_in_hands(beaker)) beaker.forceMove(drop_location()) if(new_beaker) diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index b17c2dfb37..85cdc33e72 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -75,7 +75,7 @@ /obj/machinery/reagentgrinder/proc/replace_beaker(mob/living/user, obj/item/reagent_containers/new_beaker) if(beaker) beaker.forceMove(drop_location()) - if(user && Adjacent(user) && !issiliconoradminghost(user)) + if(user && Adjacent(user) && user.can_hold_items()) user.put_in_hands(beaker) if(new_beaker) beaker = new_beaker diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 0a040a4f17..91e84b8c47 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -595,7 +595,7 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M) /datum/reagent/medicine/salbutamol name = "Salbutamol" - description = "Rapidly restores oxygen deprivation as well as preventing more of it to an extent." + description = "Rapidly restores oxygen deprivation as well as preventing more of it to an extent. Causes jittering." reagent_state = LIQUID color = "#00FFFF" metabolization_rate = 0.25 * REAGENTS_METABOLISM @@ -605,6 +605,7 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M) M.adjustOxyLoss(-3*REM, 0) if(M.losebreath >= 4) M.losebreath -= 2 + M.Jitter(5) ..() . = 1 diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index e649caafb5..946cb1307c 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -504,7 +504,7 @@ toxpwr = 0 /datum/reagent/toxin/itching_powder/reaction_mob(mob/living/M, method=TOUCH, reac_volume) - if(method == TOUCH || method == VAPOR) + if((method == TOUCH || method == VAPOR) && M.reagents) M.reagents.add_reagent(/datum/reagent/toxin/itching_powder, reac_volume) /datum/reagent/toxin/itching_powder/on_mob_life(mob/living/carbon/M) diff --git a/code/modules/reagents/chemistry/recipes/special.dm b/code/modules/reagents/chemistry/recipes/special.dm index cc63a8c692..fb4552f96b 100644 --- a/code/modules/reagents/chemistry/recipes/special.dm +++ b/code/modules/reagents/chemistry/recipes/special.dm @@ -168,7 +168,7 @@ GLOBAL_LIST_INIT(food_reagents, build_reagents_to_food()) //reagentid = related /obj/item/paper/secretrecipe name = "old recipe" - var/recipe_id = "secretsauce" + var/recipe_id = /datum/reagent/consumable/secretsauce /obj/item/paper/secretrecipe/examine(mob/user) //Extra secret if(isobserver(user)) diff --git a/code/modules/reagents/reagent_containers/bottle.dm b/code/modules/reagents/reagent_containers/bottle.dm index c05f4f3e78..e4741bb858 100644 --- a/code/modules/reagents/reagent_containers/bottle.dm +++ b/code/modules/reagents/reagent_containers/bottle.dm @@ -431,4 +431,4 @@ /obj/item/reagent_containers/glass/bottle/hexacamphor name = "Hexacamphor bottle" desc = "A bottle of strong anaphrodisiac. Reduces libido." - list_reagents = list(/datum/reagent/drug/anaphrodisiacplus = 30) \ No newline at end of file + list_reagents = list(/datum/reagent/drug/anaphrodisiacplus = 30) diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index db0aa8ce99..23f149ade4 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -109,7 +109,7 @@ volume = 60 icon_state = "beaker" item_state = "beaker" - materials = list(MAT_GLASS=500) + custom_materials = list(/datum/material/glass=500) possible_transfer_amounts = list(5,10,15,20,25,30,50,60) container_flags = PH_WEAK|APTFT_ALTCLICK|APTFT_VERB @@ -159,7 +159,7 @@ /obj/item/reagent_containers/glass/beaker/glass_dish name = "glass dish" desc = "A tiny glass dish. It can hold up to 3 units. Unable to withstand reagents of an extreme pH." - materials = list(MAT_GLASS=500) + custom_materials = list(/datum/material/glass = 500) icon_state = "glass_disk" possible_transfer_amounts = list(0.1,0.5,0.75,1,2,3) volume = 3 @@ -167,21 +167,21 @@ /obj/item/reagent_containers/glass/beaker/flask/large name = "large flask" desc = "A large flask. It can hold up to 80 units. Unable to withstand reagents of an extreme pH." - materials = list(MAT_GLASS=2500) + custom_materials = list(/datum/material/glass = 2500) icon_state = "flasklarge" volume = 80 /obj/item/reagent_containers/glass/beaker/flask name = "small flask" desc = "A small flask. It can hold up to 40 units. Unable to withstand reagents of an extreme pH." - materials = list(MAT_GLASS=1000) + custom_materials = list(/datum/material/glass = 1000) icon_state = "flasksmall" volume = 40 /obj/item/reagent_containers/glass/beaker/flask/spouty name = "flask with spout" desc = "A flask with a spout! It can hold up to 120 units. Unable to withstand reagents of an extreme pH." - materials = list(MAT_GLASS=2500) + custom_materials = list(/datum/material/glass = 2500) icon_state = "flaskspouty" possible_transfer_amounts = list(1,2,3,4,5,10,15,20,25,30,50,100,120) volume = 120 @@ -190,7 +190,7 @@ name = "large beaker" desc = "A large beaker. Can hold up to 120 units. Unable to withstand reagents of an extreme pH." icon_state = "beakerlarge" - materials = list(MAT_GLASS=2500) + custom_materials = list(/datum/material/glass=2500) volume = 120 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,20,25,30,40,50,60,120) @@ -200,7 +200,7 @@ name = "x-large beaker" desc = "An extra-large beaker. Can hold up to 180 units. Is able to resist acid and alkaline solutions, but melts at 444 K." icon_state = "beakerwhite" - materials = list(MAT_GLASS=2500, MAT_PLASTIC=3000) + custom_materials = list(/datum/material/glass=2500, /datum/material/plastic=3000) volume = 180 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,20,25,30,40,50,60,120,180) @@ -215,7 +215,7 @@ name = "metamaterial beaker" desc = "A large beaker. Can hold up to 240 units, and is able to withstand all chemical situations." icon_state = "beakergold" - materials = list(MAT_GLASS=2500, MAT_PLASTIC=3000, MAT_GOLD=1000, MAT_TITANIUM=1000) + custom_materials = list(/datum/material/glass=2500, /datum/material/plastic=3000, /datum/material/gold=1000, /datum/material/titanium=1000) volume = 240 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,20,25,30,40,50,60,120,200,240) @@ -226,7 +226,7 @@ desc = "A cryostasis beaker that allows for chemical storage without \ reactions. Can hold up to 50 units." icon_state = "beakernoreact" - materials = list(MAT_METAL=3000) + custom_materials = list(/datum/material/iron=3000) reagent_flags = OPENCONTAINER | NO_REACT volume = 50 amount_per_transfer_from_this = 10 @@ -239,8 +239,9 @@ and Element Cuban combined with the Compound Pete. Can hold up to \ 300 units. Unable to withstand reagents of an extreme pH." icon_state = "beakerbluespace" - materials = list(MAT_GLASS=3000) + custom_materials = list(/datum/material/glass = 5000, /datum/material/plasma = 3000, /datum/material/diamond = 1000, /datum/material/bluespace = 1000) volume = 300 + material_flags = MATERIAL_NO_EFFECTS amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,20,25,30,50,100,300) container_HP = 5 @@ -281,7 +282,7 @@ item_state = "bucket" lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi' - materials = list(MAT_METAL=200) + custom_materials = list(/datum/material/iron=200) w_class = WEIGHT_CLASS_NORMAL amount_per_transfer_from_this = 20 possible_transfer_amounts = list(5,10,15,20,25,30,50,70) @@ -348,7 +349,7 @@ icon_state = "smallbottle" item_state = "bottle" list_reagents = list(/datum/reagent/water = 49.5, /datum/reagent/fluorine = 0.5)//see desc, don't think about it too hard - materials = list(MAT_GLASS=0) + custom_materials = list(/datum/material/glass=0) volume = 50 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,20,25,30,50) @@ -361,7 +362,7 @@ /obj/item/reagent_containers/glass/beaker/waterbottle/large desc = "A fresh commercial-sized bottle of water." icon_state = "largebottle" - materials = list(MAT_GLASS=0) + custom_materials = list(/datum/material/glass=0) list_reagents = list(/datum/reagent/water = 100) volume = 100 amount_per_transfer_from_this = 20 diff --git a/code/modules/reagents/reagent_containers/rags.dm b/code/modules/reagents/reagent_containers/rags.dm index e7f340887c..c6903ff7b4 100644 --- a/code/modules/reagents/reagent_containers/rags.dm +++ b/code/modules/reagents/reagent_containers/rags.dm @@ -53,7 +53,7 @@ SEND_SIGNAL(A, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_MEDIUM) return -/obj/item/reagent_containers/rag/pre_altattackby(mob/living/M, mob/living/user, params) +/obj/item/reagent_containers/rag/alt_pre_attack(mob/living/M, mob/living/user, params) if(istype(M) && user.a_intent == INTENT_HELP) user.changeNext_move(CLICK_CD_MELEE) if(M.on_fire) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 763184da46..45bf8591a8 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -12,7 +12,7 @@ var/mode = SYRINGE_DRAW var/busy = FALSE // needed for delayed drawing of blood var/proj_piercing = 0 //does it pierce through thick clothes when shot with syringe gun - materials = list(MAT_METAL=10, MAT_GLASS=20) + custom_materials = list(/datum/material/iron=10, /datum/material/glass=20) reagent_flags = TRANSPARENT /obj/item/reagent_containers/syringe/Initialize() diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 812637efed..0f9c64545a 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -7,15 +7,6 @@ For the materials datum, it assumes you need reagents unless specified otherwise you use one of the material IDs below. These are NOT ids in the usual sense (they aren't defined in the object or part of a datum), they are simply references used as part of a "has materials?" type proc. They all start with a $ to denote that they aren't reagents. The currently supporting non-reagent materials. All material amounts are set as the define MINERAL_MATERIAL_AMOUNT, which defaults to 2000 -- MAT_METAL (/obj/item/stack/metal). -- MAT_GLASS (/obj/item/stack/glass). -- MAT_PLASMA (/obj/item/stack/plasma). -- MAT_SILVER (/obj/item/stack/silver). -- MAT_GOLD (/obj/item/stack/gold). -- MAT_URANIUM (/obj/item/stack/uranium). -- MAT_DIAMOND (/obj/item/stack/diamond). -- MAT_BANANIUM (/obj/item/stack/bananium). -(Insert new ones here) Don't add new keyword/IDs if they are made from an existing one (such as rods which are made from metal). Only add raw materials. @@ -57,6 +48,17 @@ other types of metals and chemistry for reagents). SSresearch.techweb_designs -= id return ..() +/datum/design/proc/InitializeMaterials() + var/list/temp_list = list() + for(var/i in materials) //Go through all of our materials, get the subsystem instance, and then replace the list. + var/amount = materials[i] + if(!istext(i)) //Not a category, so get the ref the normal way + var/datum/material/M = getmaterialref(i) + temp_list[M] = amount + else + temp_list[i] = amount + materials = temp_list + /datum/design/proc/icon_html(client/user) var/datum/asset/spritesheet/sheet = get_asset_datum(/datum/asset/spritesheet/research_designs) sheet.send(user) @@ -70,7 +72,7 @@ other types of metals and chemistry for reagents). name = "Component Design Disk" desc = "A disk for storing device design data for construction in lathes." icon_state = "datadisk1" - materials = list(MAT_METAL=300, MAT_GLASS=100) + custom_materials = list(/datum/material/iron=300, /datum/material/glass=100) var/list/blueprints = list() var/max_blueprints = 1 @@ -84,5 +86,5 @@ other types of metals and chemistry for reagents). /obj/item/disk/design_disk/adv name = "Advanced Component Design Disk" desc = "A disk for storing device design data for construction in lathes. This one has extra storage space." - materials = list(MAT_METAL=300, MAT_GLASS=100, MAT_SILVER = 50) + custom_materials = list(/datum/material/iron=300, /datum/material/glass=100, /datum/material/silver = 50) max_blueprints = 5 diff --git a/code/modules/research/designs/AI_module_designs.dm b/code/modules/research/designs/AI_module_designs.dm index 305b39b694..98e295b83a 100644 --- a/code/modules/research/designs/AI_module_designs.dm +++ b/code/modules/research/designs/AI_module_designs.dm @@ -14,7 +14,7 @@ name = "Module Design (Safeguard)" desc = "Allows for the construction of a Safeguard AI Module." id = "safeguard_module" - materials = list(MAT_GLASS = 1000, MAT_GOLD = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000) build_path = /obj/item/aiModule/supplied/safeguard category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -23,7 +23,7 @@ name = "Module Design (OneCrew)" desc = "Allows for the construction of a OneCrew AI Module." id = "onehuman_module" - materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 6000) + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 6000) build_path = /obj/item/aiModule/zeroth/oneHuman category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -32,7 +32,7 @@ name = "Module Design (ProtectStation)" desc = "Allows for the construction of a ProtectStation AI Module." id = "protectstation_module" - materials = list(MAT_GLASS = 1000, MAT_GOLD = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000) build_path = /obj/item/aiModule/supplied/protectStation category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -41,7 +41,7 @@ name = "Module Design (Quarantine)" desc = "Allows for the construction of a Quarantine AI Module." id = "quarantine_module" - materials = list(MAT_GLASS = 1000, MAT_GOLD = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000) build_path = /obj/item/aiModule/supplied/quarantine category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -50,7 +50,7 @@ name = "Module Design (OxygenIsToxicToHumans)" desc = "Allows for the construction of a Safeguard AI Module." id = "oxygen_module" - materials = list(MAT_GLASS = 1000, MAT_GOLD = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000) build_path = /obj/item/aiModule/supplied/oxygen category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -59,7 +59,7 @@ name = "Module Design (Freeform)" desc = "Allows for the construction of a Freeform AI Module." id = "freeform_module" - materials = list(MAT_GLASS = 1000, MAT_GOLD = 10000)//Custom inputs should be more expensive to get + 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 category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -68,7 +68,7 @@ name = "Module Design (Reset)" desc = "Allows for the construction of a Reset AI Module." id = "reset_module" - materials = list(MAT_GLASS = 1000, MAT_GOLD = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000) build_path = /obj/item/aiModule/reset category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -77,7 +77,7 @@ name = "Module Design (Purge)" desc = "Allows for the construction of a Purge AI Module." id = "purge_module" - materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) build_path = /obj/item/aiModule/reset/purge category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -86,7 +86,7 @@ name = "Module Design (Law Removal)" desc = "Allows for the construction of a Law Removal AI Core Module." id = "remove_module" - materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) build_path = /obj/item/aiModule/remove category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -95,7 +95,7 @@ name = "AI Core Module (Freeform)" desc = "Allows for the construction of a Freeform AI Core Module." id = "freeformcore_module" - materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 10000)//Ditto + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 10000)//Ditto build_path = /obj/item/aiModule/core/freeformcore category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -104,7 +104,7 @@ name = "Core Module Design (Asimov)" desc = "Allows for the construction of an Asimov AI Core Module." id = "asimov_module" - materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) build_path = /obj/item/aiModule/core/full/asimov category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -114,7 +114,7 @@ desc = "Allows for the construction of a P.A.L.A.D.I.N. AI Core Module." id = "paladin_module" build_type = IMPRINTER - materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) build_path = /obj/item/aiModule/core/full/paladin category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -123,7 +123,7 @@ name = "Core Module Design (T.Y.R.A.N.T.)" desc = "Allows for the construction of a T.Y.R.A.N.T. AI Module." id = "tyrant_module" - materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) build_path = /obj/item/aiModule/core/full/tyrant category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -132,7 +132,7 @@ name = "Core Module Design (Corporate)" desc = "Allows for the construction of a Corporate AI Core Module." id = "corporate_module" - materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) build_path = /obj/item/aiModule/core/full/corp category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -141,7 +141,7 @@ name = "Core Module Design (Default)" desc = "Allows for the construction of a Default AI Core Module." id = "default_module" - materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) build_path = /obj/item/aiModule/core/full/custom category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE diff --git a/code/modules/research/designs/autobotter_designs.dm b/code/modules/research/designs/autobotter_designs.dm index 6eb7e8354b..eab7423b91 100644 --- a/code/modules/research/designs/autobotter_designs.dm +++ b/code/modules/research/designs/autobotter_designs.dm @@ -6,13 +6,13 @@ name = "Machine Design (AutoBottler)" desc = "Allows for the construction of circuit boards used to build an Autobottler." id = "autobottler" - materials = list(MAT_GLASS = 2000) + materials = list(/datum/material/glass = 2000) build_path = /obj/item/circuitboard/machine/autobottler category = list ("Misc. Machinery") departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SERVICE /datum/design/bottle - materials = list(MAT_GLASS = 1200) + materials = list(/datum/material/glass = 1200) build_type = AUTOBOTTLER category = list("Storge") @@ -143,7 +143,7 @@ build_path = /obj/item/reagent_containers/food/drinks/bottle/grenadine/empty /datum/design/bottle/export - materials = list(MAT_GLASS = 1200) + materials = list(/datum/material/glass = 1200) build_type = AUTOBOTTLER category = list("Brands") diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_construction.dm b/code/modules/research/designs/autolathe_desings/autolathe_designs_construction.dm index bfc92d24d8..ee9ee14e4a 100644 --- a/code/modules/research/designs/autolathe_desings/autolathe_designs_construction.dm +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_construction.dm @@ -11,7 +11,7 @@ name = "Metal Rod" id = "rods" build_type = AUTOLATHE - materials = list(MAT_METAL = 1000) + materials = list(/datum/material/iron = 1000) build_path = /obj/item/stack/rods category = list("initial","Construction") maxstack = 50 @@ -20,7 +20,7 @@ name = "Metal" id = "metal" build_type = AUTOLATHE - materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/iron = MINERAL_MATERIAL_AMOUNT) build_path = /obj/item/stack/sheet/metal category = list("initial","Construction") maxstack = 50 @@ -29,7 +29,7 @@ name = "Glass" id = "glass" build_type = AUTOLATHE - materials = list(MAT_GLASS = MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/glass = MINERAL_MATERIAL_AMOUNT) build_path = /obj/item/stack/sheet/glass category = list("initial","Construction") maxstack = 50 @@ -38,7 +38,7 @@ name = "Reinforced Glass" id = "rglass" build_type = AUTOLATHE | SMELTER | PROTOLATHE - materials = list(MAT_METAL = 1000, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/iron = 1000, /datum/material/glass = MINERAL_MATERIAL_AMOUNT) build_path = /obj/item/stack/sheet/rglass category = list("initial","Construction","Stock Parts") maxstack = 50 @@ -47,7 +47,7 @@ name = "Light Tube" id = "light_tube" build_type = AUTOLATHE - materials = list(MAT_GLASS = 100) + materials = list(/datum/material/glass = 100) build_path = /obj/item/light/tube category = list("initial", "Construction") @@ -55,7 +55,7 @@ name = "Light Bulb" id = "light_bulb" build_type = AUTOLATHE - materials = list(MAT_GLASS = 100) + materials = list(/datum/material/glass = 100) build_path = /obj/item/light/bulb category = list("initial", "Construction") @@ -63,7 +63,7 @@ name = "Camera Assembly" id = "camera_assembly" build_type = AUTOLATHE - materials = list(MAT_METAL = 400, MAT_GLASS = 250) + materials = list(/datum/material/iron = 400, /datum/material/glass = 250) build_path = /obj/item/wallframe/camera category = list("initial", "Construction") @@ -71,7 +71,7 @@ name = "Newscaster Frame" id = "newscaster_frame" build_type = AUTOLATHE - materials = list(MAT_METAL = 14000, MAT_GLASS = 8000) + materials = list(/datum/material/iron = 14000, /datum/material/glass = 8000) build_path = /obj/item/wallframe/newscaster category = list("initial", "Construction") @@ -79,7 +79,7 @@ name = "Turret Control Frame" id = "turret_control" build_type = AUTOLATHE - materials = list(MAT_METAL = 12000) + materials = list(/datum/material/iron = 12000) build_path = /obj/item/wallframe/turret_control category = list("initial", "Construction") @@ -87,7 +87,7 @@ name = "Conveyor Belt" id = "conveyor_belt" build_type = AUTOLATHE - materials = list(MAT_METAL = 3000) + materials = list(/datum/material/iron = 3000) build_path = /obj/item/stack/conveyor category = list("initial", "Construction") maxstack = 30 @@ -96,7 +96,7 @@ name = "Conveyor Belt Switch" id = "conveyor_switch" build_type = AUTOLATHE - materials = list(MAT_METAL = 450, MAT_GLASS = 190) + materials = list(/datum/material/iron = 450, /datum/material/glass = 190) build_path = /obj/item/conveyor_switch_construct category = list("initial", "Construction") @@ -104,7 +104,7 @@ name = "Compressed Matter Cartridge" id = "rcd_ammo" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 12000, MAT_GLASS = 8000) + materials = list(/datum/material/iron = 12000, /datum/material/glass=8000) build_path = /obj/item/rcd_ammo category = list("initial","Construction","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -113,7 +113,7 @@ name = "Large Compressed Matter Cartridge" id = "rcd_ammo_large" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 48000, MAT_GLASS = 32000) + materials = list(/datum/material/iron = 48000, /datum/material/glass = 32000) build_path = /obj/item/rcd_ammo/large category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_electronics.dm b/code/modules/research/designs/autolathe_desings/autolathe_designs_electronics.dm index 4ca780620d..86e11010bc 100644 --- a/code/modules/research/designs/autolathe_desings/autolathe_designs_electronics.dm +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_electronics.dm @@ -10,7 +10,7 @@ name = "APC Module" id = "power control" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 100, MAT_GLASS = 100) + materials = list(/datum/material/iron = 100, /datum/material/glass = 100) build_path = /obj/item/electronics/apc category = list("initial", "Electronics") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -19,7 +19,7 @@ name = "Airlock Electronics" id = "airlock_board" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 50, MAT_GLASS = 50) + materials = list(/datum/material/iron = 50, /datum/material/glass = 50) build_path = /obj/item/electronics/airlock category = list("initial", "Electronics") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -28,7 +28,7 @@ name = "Firelock Circuitry" id = "firelock_board" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 50, MAT_GLASS = 50) + materials = list(/datum/material/iron = 50, /datum/material/glass = 50) build_path = /obj/item/electronics/firelock category = list("initial", "Electronics") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -37,7 +37,7 @@ name = "Air Alarm Electronics" id = "airalarm_electronics" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 50, MAT_GLASS = 50) + materials = list(/datum/material/iron = 50, /datum/material/glass = 50) build_path = /obj/item/electronics/airalarm category = list("initial", "Electronics") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -46,7 +46,7 @@ name = "Fire Alarm Electronics" id = "firealarm_electronics" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 50, MAT_GLASS = 50) + materials = list(/datum/material/iron = 50, /datum/material/glass = 50) build_path = /obj/item/electronics/firealarm category = list("initial", "Electronics") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -55,7 +55,7 @@ name = "Destination Tagger" id = "desttagger" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 250, MAT_GLASS = 125) + materials = list(/datum/material/iron = 250, /datum/material/glass = 125) build_path = /obj/item/destTagger category = list("initial", "Electronics") @@ -63,7 +63,7 @@ name = "Hand Labeler" id = "handlabel" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 150, MAT_GLASS = 125) + materials = list(/datum/material/iron = 150, /datum/material/glass = 125) build_path = /obj/item/hand_labeler category = list("initial", "Electronics") @@ -71,6 +71,6 @@ name = "Light Fixture Battery" id = "miniature_power_cell" build_type = AUTOLATHE - materials = list(MAT_GLASS = 20) + materials = list(/datum/material/glass = 20) build_path = /obj/item/stock_parts/cell/emergency_light category = list("initial", "Electronics") diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm b/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm index 0d303c3968..b62f30e041 100644 --- a/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm @@ -9,7 +9,7 @@ name = "Kitchen Knife" id = "kitchen_knife" build_type = AUTOLATHE - materials = list(MAT_METAL = 12000) + materials = list(/datum/material/iron = 12000) build_path = /obj/item/kitchen/knife category = list("initial","Dinnerware") @@ -17,7 +17,7 @@ name = "Fork" id = "fork" build_type = AUTOLATHE - materials = list(MAT_METAL = 80) + materials = list(/datum/material/iron = 80) build_path = /obj/item/kitchen/fork category = list("initial","Dinnerware") @@ -25,7 +25,7 @@ name = "Tray" id = "tray" build_type = AUTOLATHE - materials = list(MAT_METAL = 3000) + materials = list(/datum/material/iron = 3000) build_path = /obj/item/storage/bag/tray category = list("initial","Dinnerware") @@ -33,7 +33,7 @@ name = "Bowl" id = "bowl" build_type = AUTOLATHE - materials = list(MAT_GLASS = 500) + materials = list(/datum/material/glass = 500) build_path = /obj/item/reagent_containers/glass/bowl category = list("initial","Dinnerware") @@ -41,7 +41,7 @@ name = "Drinking Glass" id = "drinking_glass" build_type = AUTOLATHE - materials = list(MAT_GLASS = 500) + materials = list(/datum/material/glass = 500) build_path = /obj/item/reagent_containers/food/drinks/drinkingglass category = list("initial","Dinnerware") @@ -49,7 +49,7 @@ name = "Shot Glass" id = "shot_glass" build_type = AUTOLATHE - materials = list(MAT_GLASS = 100) + materials = list(/datum/material/glass = 100) build_path = /obj/item/reagent_containers/food/drinks/drinkingglass/shotglass category = list("initial","Dinnerware") @@ -57,7 +57,7 @@ name = "Shaker" id = "shaker" build_type = AUTOLATHE - materials = list(MAT_METAL = 1500) + materials = list(/datum/material/iron = 1500) build_path = /obj/item/reagent_containers/food/drinks/shaker category = list("initial","Dinnerware") @@ -69,7 +69,7 @@ name = "Scalpel" id = "scalpel" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 4000, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 4000, /datum/material/glass = 1000) build_path = /obj/item/scalpel category = list("initial", "Medical","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -78,7 +78,7 @@ name = "Circular Saw" id = "circular_saw" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 10000, MAT_GLASS = 6000) + materials = list(/datum/material/iron = 10000, /datum/material/glass = 6000) build_path = /obj/item/circular_saw category = list("initial", "Medical","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -87,7 +87,7 @@ name = "Surgical Drill" id = "surgicaldrill" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 10000, MAT_GLASS = 6000) + materials = list(/datum/material/iron = 10000, /datum/material/glass = 6000) build_path = /obj/item/surgicaldrill category = list("initial", "Medical","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -96,7 +96,7 @@ name = "Retractor" id = "retractor" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 6000, MAT_GLASS = 3000) + materials = list(/datum/material/iron = 6000, /datum/material/glass = 3000) build_path = /obj/item/retractor category = list("initial", "Medical","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -105,7 +105,7 @@ name = "Cautery" id = "cautery" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 2500, MAT_GLASS = 750) + materials = list(/datum/material/iron = 2500, /datum/material/glass = 750) build_path = /obj/item/cautery category = list("initial", "Medical","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -114,7 +114,7 @@ name = "Hemostat" id = "hemostat" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 2500) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 2500) build_path = /obj/item/hemostat category = list("initial", "Medical","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -123,7 +123,7 @@ name = "Beaker" id = "beaker" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_GLASS = 500) + materials = list(/datum/material/glass = 500) build_path = /obj/item/reagent_containers/glass/beaker category = list("initial", "Medical","Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_SCIENCE @@ -132,7 +132,7 @@ name = "Large Beaker" id = "large_beaker" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_GLASS = 2500) + materials = list(/datum/material/glass = 2500) build_path = /obj/item/reagent_containers/glass/beaker/large category = list("initial", "Medical","Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_SCIENCE @@ -141,7 +141,7 @@ name = "Health Analyzer" id = "healthanalyzer" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 50) + materials = list(/datum/material/iron = 500, /datum/material/glass = 50) build_path = /obj/item/healthanalyzer category = list("initial", "Medical") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -150,7 +150,7 @@ name = "Pill Bottle" id = "pillbottle" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 20, MAT_GLASS = 100) + materials = list(/datum/material/iron = 20, /datum/material/glass = 100) build_path = /obj/item/storage/pill_bottle category = list("initial", "Medical","Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -159,7 +159,7 @@ name = "Syringe" id = "syringe" build_type = AUTOLATHE - materials = list(MAT_METAL = 10, MAT_GLASS = 20) + materials = list(/datum/material/iron = 10, /datum/material/glass = 20) build_path = /obj/item/reagent_containers/syringe category = list("initial", "Medical") @@ -167,7 +167,7 @@ name = "Health Sensor" id = "health_sensor" build_type = AUTOLATHE - materials = list(MAT_METAL = 800, MAT_GLASS = 200) + materials = list(/datum/material/iron = 800, /datum/material/glass = 200) build_path = /obj/item/assembly/health category = list("initial", "Medical") @@ -175,7 +175,7 @@ name = "Hypovial" id = "hypovial" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 500) + materials = list(/datum/material/iron = 500) build_path = /obj/item/reagent_containers/glass/bottle/vial/small category = list("initial","Medical","Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -184,7 +184,7 @@ name = "Large Hypovial" id = "large_hypovial" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 2500) + materials = list(/datum/material/iron = 2500) build_path = /obj/item/reagent_containers/glass/bottle/vial/large category = list("initial","Medical","Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_sec_and_hacked.dm b/code/modules/research/designs/autolathe_desings/autolathe_designs_sec_and_hacked.dm index ae0f13764b..173240e196 100644 --- a/code/modules/research/designs/autolathe_desings/autolathe_designs_sec_and_hacked.dm +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_sec_and_hacked.dm @@ -9,7 +9,7 @@ name = "Beanbag Slug" id = "beanbag_slug" build_type = AUTOLATHE - materials = list(MAT_METAL = 250) + materials = list(/datum/material/iron = 250) build_path = /obj/item/ammo_casing/shotgun/beanbag category = list("initial", "Security") @@ -17,7 +17,7 @@ name = "Rubber Shot" id = "rubber_shot" build_type = AUTOLATHE - materials = list(MAT_METAL = 4000) + materials = list(/datum/material/iron = 4000) build_path = /obj/item/ammo_casing/shotgun/rubbershot category = list("initial", "Security") @@ -25,7 +25,7 @@ name = "Speed Loader (.38 rubber)" id = "c38" build_type = AUTOLATHE - materials = list(MAT_METAL = 20000) + materials = list(/datum/material/iron = 20000) build_path = /obj/item/ammo_box/c38 category = list("initial", "Security") @@ -37,7 +37,7 @@ name = "Industrial Welding Tool" id = "large_welding_tool" build_type = AUTOLATHE - materials = list(MAT_METAL = 70, MAT_GLASS = 60) + materials = list(/datum/material/iron = 70, /datum/material/glass = 60) build_path = /obj/item/weldingtool/largetank category = list("hacked", "Tools") @@ -45,7 +45,7 @@ name = "Flamethrower" id = "flamethrower" build_type = AUTOLATHE - materials = list(MAT_METAL = 500) + materials = list(/datum/material/iron = 500) build_path = /obj/item/flamethrower/full category = list("hacked", "Security") @@ -53,7 +53,7 @@ name = "Rapid Construction Device (RCD)" id = "rcd" build_type = AUTOLATHE - materials = list(MAT_METAL = 30000) + materials = list(/datum/material/iron = 30000) build_path = /obj/item/construction/rcd category = list("hacked", "Construction") @@ -61,7 +61,7 @@ name = "Rapid Pipe Dispenser (RPD)" id = "rpd" build_type = AUTOLATHE - materials = list(MAT_METAL = 75000, MAT_GLASS = 37500) + materials = list(/datum/material/iron = 75000, /datum/material/glass = 37500) build_path = /obj/item/pipe_dispenser category = list("hacked", "Construction") @@ -69,7 +69,7 @@ name = "Handcuffs" id = "handcuffs" build_type = AUTOLATHE - materials = list(MAT_METAL = 500) + materials = list(/datum/material/iron = 500) build_path = /obj/item/restraints/handcuffs category = list("hacked", "Security") @@ -77,7 +77,7 @@ name = "Modular Receiver" id = "receiver" build_type = AUTOLATHE - materials = list(MAT_METAL = 15000) + materials = list(/datum/material/iron = 15000) build_path = /obj/item/weaponcrafting/receiver category = list("hacked", "Security") @@ -85,7 +85,7 @@ name = "Shotgun Slug" id = "shotgun_slug" build_type = AUTOLATHE - materials = list(MAT_METAL = 4000) + materials = list(/datum/material/iron = 4000) build_path = /obj/item/ammo_casing/shotgun category = list("hacked", "Security") @@ -93,7 +93,7 @@ name = "Buckshot Shell" id = "buckshot_shell" build_type = AUTOLATHE - materials = list(MAT_METAL = 4000) + materials = list(/datum/material/iron = 4000) build_path = /obj/item/ammo_casing/shotgun/buckshot category = list("hacked", "Security") @@ -101,7 +101,7 @@ name = "Shotgun Dart" id = "shotgun_dart" build_type = AUTOLATHE - materials = list(MAT_METAL = 4000) + materials = list(/datum/material/iron = 4000) build_path = /obj/item/ammo_casing/shotgun/dart category = list("hacked", "Security") @@ -109,7 +109,7 @@ name = "Incendiary Slug" id = "incendiary_slug" build_type = AUTOLATHE - materials = list(MAT_METAL = 4000) + materials = list(/datum/material/iron = 4000) build_path = /obj/item/ammo_casing/shotgun/incendiary category = list("hacked", "Security") @@ -117,7 +117,7 @@ name = "Foam Riot Dart" id = "riot_dart" build_type = AUTOLATHE - materials = list(MAT_METAL = 1125) //Discount for making individually - no box = less metal! + materials = list(/datum/material/iron = 1125) //Discount for making individually - no box = less metal! build_path = /obj/item/ammo_casing/caseless/foam_dart/riot category = list("hacked", "Security") @@ -125,7 +125,7 @@ name = "Foam Riot Dart Box" id = "riot_darts" build_type = AUTOLATHE - materials = list(MAT_METAL = 50000) //Comes with 40 darts + materials = list(/datum/material/iron = 50000) //Comes with 40 darts build_path = /obj/item/ammo_box/foambox/riot category = list("hacked", "Security") @@ -133,7 +133,7 @@ name = "Revolver Bullet (.357)" id = "a357" build_type = AUTOLATHE - materials = list(MAT_METAL = 4000) + materials = list(/datum/material/iron = 4000) build_path = /obj/item/ammo_casing/a357 category = list("hacked", "Security") @@ -141,7 +141,7 @@ name = "Rifle Bullet (7.62mm)" id = "a762" build_type = AUTOLATHE - materials = list(MAT_METAL = 5000) //need seclathe for clips + materials = list(/datum/material/iron = 5000) //need seclathe for clips build_path = /obj/item/ammo_casing/a762 category = list("hacked", "Security") @@ -149,7 +149,7 @@ name = "Ammo Box (10mm)" id = "c10mm" build_type = AUTOLATHE - materials = list(MAT_METAL = 30000) + materials = list(/datum/material/iron = 30000) build_path = /obj/item/ammo_box/c10mm category = list("hacked", "Security") @@ -157,7 +157,7 @@ name = "Ammo Box (.45)" id = "c45" build_type = AUTOLATHE - materials = list(MAT_METAL = 30000) + materials = list(/datum/material/iron = 30000) build_path = /obj/item/ammo_box/c45 category = list("hacked", "Security") @@ -165,7 +165,7 @@ name = "Ammo Box (9mm)" id = "c9mm" build_type = AUTOLATHE - materials = list(MAT_METAL = 30000) + materials = list(/datum/material/iron = 30000) build_path = /obj/item/ammo_box/c9mm category = list("hacked", "Security") @@ -173,7 +173,7 @@ name = "Electropack" id = "electropack" build_type = AUTOLATHE - materials = list(MAT_METAL = 10000, MAT_GLASS = 2500) + materials = list(/datum/material/iron = 10000, /datum/material/glass = 2500) build_path = /obj/item/electropack category = list("hacked", "Security") @@ -181,7 +181,7 @@ name = "Butcher's Cleaver" id = "cleaver" build_type = AUTOLATHE - materials = list(MAT_METAL = 18000) + materials = list(/datum/material/iron = 18000) build_path = /obj/item/kitchen/knife/butcher category = list("hacked", "Dinnerware") @@ -189,6 +189,6 @@ name = "Tinfoil Hat" id = "tinfoil_hat" build_type = AUTOLATHE - materials = list(MAT_METAL = 5500) + materials = list(/datum/material/iron = 5500) build_path = /obj/item/clothing/head/foilhat category = list("hacked", "Misc") diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_tcomms_and_misc.dm b/code/modules/research/designs/autolathe_desings/autolathe_designs_tcomms_and_misc.dm index a0af3d8b1e..30cd56c66a 100644 --- a/code/modules/research/designs/autolathe_desings/autolathe_designs_tcomms_and_misc.dm +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_tcomms_and_misc.dm @@ -9,7 +9,7 @@ name = "Remote Signaling Device" id = "signaler" build_type = AUTOLATHE - materials = list(MAT_METAL = 400, MAT_GLASS = 120) + materials = list(/datum/material/iron = 400, /datum/material/glass = 120) build_path = /obj/item/assembly/signaler category = list("initial", "T-Comm") @@ -17,7 +17,7 @@ name = "Radio Headset" id = "radio_headset" build_type = AUTOLATHE - materials = list(MAT_METAL = 75) + materials = list(/datum/material/iron = 75) build_path = /obj/item/radio/headset category = list("initial", "T-Comm") @@ -25,7 +25,7 @@ name = "Station Bounced Radio" id = "bounced_radio" build_type = AUTOLATHE - materials = list(MAT_METAL = 75, MAT_GLASS = 25) + materials = list(/datum/material/iron = 75, /datum/material/glass = 25) build_path = /obj/item/radio/off category = list("initial", "T-Comm") @@ -33,7 +33,7 @@ name = "Intercom Frame" id = "intercom_frame" build_type = AUTOLATHE - materials = list(MAT_METAL = 75, MAT_GLASS = 25) + materials = list(/datum/material/iron = 75, /datum/material/glass = 25) build_path = /obj/item/wallframe/intercom category = list("initial", "T-Comm") @@ -45,7 +45,7 @@ name = "Camera" id = "camera" build_type = AUTOLATHE - materials = list(MAT_METAL = 50, MAT_GLASS = 100) + materials = list(/datum/material/iron = 50, /datum/material/glass = 100) build_path = /obj/item/camera category = list("initial", "Misc") @@ -53,7 +53,7 @@ name = "Camera Film Cartridge" id = "camera_film" build_type = AUTOLATHE - materials = list(MAT_METAL = 10, MAT_GLASS = 10) + materials = list(/datum/material/iron = 10, /datum/material/glass = 10) build_path = /obj/item/camera_film category = list("initial", "Misc") @@ -61,7 +61,7 @@ name = "Earmuffs" id = "earmuffs" build_type = AUTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/clothing/ears/earmuffs category = list("initial", "Misc") @@ -69,7 +69,7 @@ name = "Pipe Painter" id = "pipe_painter" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 2000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 2000) build_path = /obj/item/pipe_painter category = list("initial", "Misc","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -78,7 +78,7 @@ name = "Airlock Painter" id = "airlock_painter" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 50, MAT_GLASS = 50) + materials = list(/datum/material/iron = 50, /datum/material/glass = 50) build_path = /obj/item/airlock_painter category = list("initial", "Misc","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -87,7 +87,7 @@ name = "Cultivator" id = "cultivator" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL=50) + materials = list(/datum/material/iron=50) build_path = /obj/item/cultivator category = list("initial","Misc","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -96,7 +96,7 @@ name = "Plant Analyzer" id = "plant_analyzer" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 30, MAT_GLASS = 20) + materials = list(/datum/material/iron = 30, /datum/material/glass = 20) build_path = /obj/item/plant_analyzer category = list("initial","Misc","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -105,7 +105,7 @@ name = "Shovel" id = "shovel" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 50) + materials = list(/datum/material/iron = 50) build_path = /obj/item/shovel category = list("initial","Misc","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_CARGO @@ -114,7 +114,7 @@ name = "Spade" id = "spade" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 50) + materials = list(/datum/material/iron = 50) build_path = /obj/item/shovel/spade category = list("initial","Misc","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -123,7 +123,7 @@ name = "Hatchet" id = "hatchet" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 15000) + materials = list(/datum/material/iron = 15000) build_path = /obj/item/hatchet category = list("initial","Misc","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -132,7 +132,7 @@ name = "Universal Recorder" id = "recorder" build_type = AUTOLATHE - materials = list(MAT_METAL = 60, MAT_GLASS = 30) + materials = list(/datum/material/iron = 60, /datum/material/glass = 30) build_path = /obj/item/taperecorder/empty category = list("initial", "Misc") @@ -140,7 +140,7 @@ name = "Tape" id = "tape" build_type = AUTOLATHE - materials = list(MAT_METAL = 20, MAT_GLASS = 5) + materials = list(/datum/material/iron = 20, /datum/material/glass = 5) build_path = /obj/item/tape/random category = list("initial", "Misc") @@ -148,7 +148,7 @@ name = "Igniter" id = "igniter" build_type = AUTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 50) + materials = list(/datum/material/iron = 500, /datum/material/glass = 50) build_path = /obj/item/assembly/igniter category = list("initial", "Misc") @@ -156,7 +156,7 @@ name = "Infrared Emitter" id = "infrared_emitter" build_type = AUTOLATHE - materials = list(MAT_METAL = 1000, MAT_GLASS = 500) + materials = list(/datum/material/iron = 1000, /datum/material/glass = 500) build_path = /obj/item/assembly/infra category = list("initial", "Misc") @@ -164,7 +164,7 @@ name = "Timer" id = "timer" build_type = AUTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 50) + materials = list(/datum/material/iron = 500, /datum/material/glass = 50) build_path = /obj/item/assembly/timer category = list("initial", "Misc") @@ -172,7 +172,7 @@ name = "Voice Analyser" id = "voice_analyser" build_type = AUTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 50) + materials = list(/datum/material/iron = 500, /datum/material/glass = 50) build_path = /obj/item/assembly/voice category = list("initial", "Misc") @@ -180,7 +180,7 @@ name = "Proximity Sensor" id = "prox_sensor" build_type = AUTOLATHE - materials = list(MAT_METAL = 800, MAT_GLASS = 200) + materials = list(/datum/material/iron = 800, /datum/material/glass = 200) build_path = /obj/item/assembly/prox_sensor category = list("initial", "Misc") @@ -188,7 +188,7 @@ name = "Box of Foam Darts" id = "foam_dart" build_type = AUTOLATHE - materials = list(MAT_METAL = 500) + materials = list(/datum/material/iron = 500) build_path = /obj/item/ammo_box/foambox category = list("initial", "Misc") @@ -196,7 +196,7 @@ name = "Laptop Frame" id = "laptop" build_type = AUTOLATHE - materials = list(MAT_METAL = 10000, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 10000, /datum/material/glass = 1000) build_path = /obj/item/modular_computer/laptop/buildable category = list("initial","Misc") @@ -204,7 +204,7 @@ name = "Tablet Frame" id = "tablet" build_type = AUTOLATHE - materials = list(MAT_METAL = 2000, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 2000, /datum/material/glass = 1000) build_path = /obj/item/modular_computer/tablet category = list("initial","Misc") @@ -212,7 +212,7 @@ name = "Slime Scanner" id = "slime_scanner" build_type = AUTOLATHE - materials = list(MAT_METAL = 300, MAT_GLASS = 200) + materials = list(/datum/material/iron = 300, /datum/material/glass = 200) build_path = /obj/item/slime_scanner category = list("initial", "Misc") @@ -220,7 +220,7 @@ name = "Pet Carrier" id = "pet_carrier" build_type = AUTOLATHE - materials = list(MAT_METAL = 7500, MAT_GLASS = 100) + materials = list(/datum/material/iron = 7500, /datum/material/glass = 100) build_path = /obj/item/pet_carrier category = list("initial", "Misc") @@ -228,7 +228,7 @@ name = "Package Wrapping" id = "packagewrap" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 200, MAT_GLASS = 200) + materials = list(/datum/material/iron = 200, /datum/material/glass = 200) build_path = /obj/item/stack/packageWrap category = list("initial", "Misc","Equipment") maxstack = 30 @@ -237,7 +237,7 @@ name = "Holodisk" id = "holodisk" build_type = AUTOLATHE - materials = list(MAT_METAL = 100, MAT_GLASS = 100) + materials = list(/datum/material/iron = 100, /datum/material/glass = 100) build_path = /obj/item/disk/holodisk category = list("initial", "Misc") @@ -245,7 +245,7 @@ name = "Lockable Collar" id = "lock_collar" build_type = AUTOLATHE - materials = list(MAT_METAL = 1200, MAT_GLASS = 100) + materials = list(/datum/material/iron = 1200, /datum/material/glass = 100) build_path = /obj/item/clothing/neck/petcollar/locked category = list("initial", "Misc") @@ -253,6 +253,6 @@ name = "Collar Key" id = "collar_key" build_type = AUTOLATHE - materials = list(MAT_METAL = 300, MAT_GLASS = 150) + materials = list(/datum/material/iron = 300, /datum/material/glass = 150) build_path = /obj/item/key/collar category = list("initial", "Misc") diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_tools.dm b/code/modules/research/designs/autolathe_desings/autolathe_designs_tools.dm index 6affacf1b1..8288ceff23 100644 --- a/code/modules/research/designs/autolathe_desings/autolathe_designs_tools.dm +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_tools.dm @@ -8,7 +8,7 @@ name = "Bucket" id = "bucket" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 200) + materials = list(/datum/material/iron = 200) build_path = /obj/item/reagent_containers/glass/bucket category = list("initial","Tools","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -17,7 +17,7 @@ name = "Pocket Crowbar" id = "crowbar" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 50) + materials = list(/datum/material/iron = 50) build_path = /obj/item/crowbar category = list("initial","Tools","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -26,7 +26,7 @@ name = "Flashlight" id = "flashlight" build_type = AUTOLATHE - materials = list(MAT_METAL = 50, MAT_GLASS = 20) + materials = list(/datum/material/iron = 50, /datum/material/glass = 20) build_path = /obj/item/flashlight category = list("initial","Tools") @@ -34,7 +34,7 @@ name = "Fire Extinguisher" id = "extinguisher" build_type = AUTOLATHE - materials = list(MAT_METAL = 90) + materials = list(/datum/material/iron = 90) build_path = /obj/item/extinguisher category = list("initial","Tools") @@ -42,15 +42,15 @@ name = "Pocket Fire Extinguisher" id = "pocketfireextinguisher" build_type = AUTOLATHE - materials = list(MAT_METAL = 50, MAT_GLASS = 40) + materials = list(/datum/material/iron = 50, /datum/material/glass = 40) build_path = /obj/item/extinguisher/mini category = list("initial","Tools") /datum/design/multitool name = "Multitool" id = "multitool" - build_type = AUTOLATHE - materials = list(MAT_METAL = 50, MAT_GLASS = 20) + build_type = AUTOLATHE | PROTOLATHE + materials = list(/datum/material/iron = 50, /datum/material/glass = 20) build_path = /obj/item/multitool category = list("initial","Tools","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -59,7 +59,7 @@ name = "Analyzer" id = "analyzer" build_type = AUTOLATHE - materials = list(MAT_METAL = 30, MAT_GLASS = 20) + materials = list(/datum/material/iron = 30, /datum/material/glass = 20) build_path = /obj/item/analyzer category = list("initial","Tools") @@ -67,7 +67,7 @@ name = "T-Ray Scanner" id = "tscanner" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 150) + materials = list(/datum/material/iron = 150) build_path = /obj/item/t_scanner category = list("initial","Tools","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -76,7 +76,7 @@ name = "Welding Tool" id = "welding_tool" build_type = AUTOLATHE - materials = list(MAT_METAL = 70, MAT_GLASS = 20) + materials = list(/datum/material/iron = 70, /datum/material/glass = 20) build_path = /obj/item/weldingtool category = list("initial","Tools","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -85,7 +85,7 @@ name = "Emergency Welding Tool" id = "mini_welding_tool" build_type = AUTOLATHE - materials = list(MAT_METAL = 30, MAT_GLASS = 10) + materials = list(/datum/material/iron = 30, /datum/material/glass = 10) build_path = /obj/item/weldingtool/mini category = list("initial","Tools") @@ -93,7 +93,7 @@ name = "Screwdriver" id = "screwdriver" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 75) + materials = list(/datum/material/iron = 75) build_path = /obj/item/screwdriver category = list("initial","Tools","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -101,7 +101,7 @@ name = "Wirecutters" id = "wirecutters" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 80) + materials = list(/datum/material/iron = 80) build_path = /obj/item/wirecutters category = list("initial","Tools","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -110,7 +110,7 @@ name = "Wrench" id = "wrench" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 150) + materials = list(/datum/material/iron = 150) build_path = /obj/item/wrench category = list("initial","Tools","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -119,7 +119,7 @@ name = "Welding Helmet" id = "welding_helmet" build_type = AUTOLATHE - materials = list(MAT_METAL = 1750, MAT_GLASS = 400) + materials = list(/datum/material/iron = 1750, /datum/material/glass = 400) build_path = /obj/item/clothing/head/welding category = list("initial","Tools") @@ -127,7 +127,7 @@ name = "Cable Coil" id = "cable_coil" build_type = AUTOLATHE - materials = list(MAT_METAL = 10, MAT_GLASS = 5) + materials = list(/datum/material/iron = 10, /datum/material/glass = 5) build_path = /obj/item/stack/cable_coil/random category = list("initial","Tools","Tool Designs") maxstack = 30 @@ -137,7 +137,7 @@ name = "Toolbox" id = "tool_box" build_type = AUTOLATHE - materials = list(MAT_METAL = 500) + materials = list(MAT_CATEGORY_RIGID = 500) build_path = /obj/item/storage/toolbox category = list("initial","Tools") @@ -145,7 +145,7 @@ name = "Spraycan" id = "spraycan" build_type = AUTOLATHE - materials = list(MAT_METAL = 100, MAT_GLASS = 100) + materials = list(/datum/material/iron = 100, /datum/material/glass = 100) build_path = /obj/item/toy/crayon/spraycan category = list("initial", "Tools") @@ -153,6 +153,6 @@ name = "Geiger Counter" id = "geigercounter" build_type = AUTOLATHE - materials = list(MAT_METAL = 150, MAT_GLASS = 150) + materials = list(/datum/material/iron = 150, /datum/material/glass = 150) build_path = /obj/item/geiger_counter category = list("initial", "Tools") diff --git a/code/modules/research/designs/autoylathe_designs.dm b/code/modules/research/designs/autoylathe_designs.dm index d54dce9e8a..7811cfdaad 100644 --- a/code/modules/research/designs/autoylathe_designs.dm +++ b/code/modules/research/designs/autoylathe_designs.dm @@ -13,508 +13,508 @@ /datum/design/autoylathe/balloon name = "Empty Water balloon" id = "waterballoon" - materials = list(MAT_PLASTIC = 50) + materials = list(/datum/material/plastic = 50) build_path = /obj/item/toy/balloon category = list("initial", "Toys") /datum/design/autoylathe/spinningtoy name = "Toy Singularity" id = "singuloutoy" - materials = list(MAT_PLASTIC = 500) + materials = list(/datum/material/plastic = 500) build_path = /obj/item/toy/spinningtoy category = list("initial", "Toys") /datum/design/autoylathe/capgun name = "Cap Gun" id = "capgun" - materials = list(MAT_PLASTIC = 500) + materials = list(/datum/material/plastic = 500) build_path = /obj/item/toy/gun category = list("initial", "Pistols") /datum/design/autoylathe/capgunammo name = "Capgun Ammo" id = "capgunammo" - materials = list(MAT_PLASTIC = 50) + materials = list(/datum/material/plastic = 50) build_path = /obj/item/toy/ammo/gun category = list("initial", "misc") /datum/design/autoylathe/toysword name = "Toy Sword" id = "toysword" - materials = list(MAT_PLASTIC = 500) + materials = list(/datum/material/plastic = 500) build_path = /obj/item/toy/sword category = list("initial", "Melee") /datum/design/autoylathe/foamblade name = "Foam Armblade" id = "foamblade" - materials = list(MAT_PLASTIC = 500) + materials = list(/datum/material/plastic = 500) build_path = /obj/item/toy/foamblade category = list("initial", "Melee") /datum/design/autoylathe/windupbox name = "Wind Up Toolbox" id = "windupbox" - materials = list(MAT_PLASTIC = 500) + materials = list(/datum/material/plastic = 500) build_path = /obj/item/toy/windupToolbox category = list("initial", "Toys") /datum/design/autoylathe/toydualsword name = "Double-Bladed Toy Sword" id = "dbtoysword" - materials = list(MAT_PLASTIC = 1000) + materials = list(/datum/material/plastic = 1000) build_path = /obj/item/twohanded/dualsaber/toy category = list("initial", "Melee") /datum/design/autoylathe/toykatana name = "Replica Katana" id = "toykatana" - materials = list(MAT_PLASTIC = 50, MAT_METAL = 450) + materials = list(/datum/material/plastic = 50, /datum/material/iron = 450) build_path = /obj/item/toy/katana category = list("initial", "Melee") /datum/design/autoylathe/snappop name = "Snap Pop" id = "snappop_phoenix" - materials = list(MAT_PLASTIC = 50) + materials = list(/datum/material/plastic = 50) build_path = /obj/item/toy/snappop category = list("initial", "Toys") /datum/design/autoylathe/mech/model1 name = "Toy Ripley" id = "toymech1" - materials = list(MAT_PLASTIC = 250) + materials = list(/datum/material/plastic = 250) build_path = /obj/item/toy/prize/ripley /datum/design/autoylathe/mech/model2 name = "Toy Firefighter Ripley" id = "toymech2" - materials = list(MAT_PLASTIC = 250) + materials = list(/datum/material/plastic = 250) build_path = /obj/item/toy/prize/fireripley /datum/design/autoylathe/mech/contraband/model3 name = "Toy Deathsquad fireripley " id = "toymech3" - materials = list(MAT_PLASTIC = 250) + materials = list(/datum/material/plastic = 250) build_path = /obj/item/toy/prize/deathripley /datum/design/autoylathe/mech/model4 name = "Toy Gygax" id = "toymech4" - materials = list(MAT_PLASTIC = 250) + materials = list(/datum/material/plastic = 250) build_path = /obj/item/toy/prize/gygax /datum/design/autoylathe/mech/model5 name = "Toy Durand" id = "toymech5" - materials = list(MAT_PLASTIC = 250) + materials = list(/datum/material/plastic = 250) build_path = /obj/item/toy/prize/durand /datum/design/autoylathe/mech/contraband/model6 name = "Toy H.O.N.K." id = "toymech6" - materials = list(MAT_PLASTIC = 250) + materials = list(/datum/material/plastic = 250) build_path = /obj/item/toy/prize/honk /datum/design/autoylathe/mech/contraband/model7 name = "Toy Marauder" id = "toymech7" - materials = list(MAT_PLASTIC = 250) + materials = list(/datum/material/plastic = 250) build_path = /obj/item/toy/prize/marauder /datum/design/autoylathe/mech/contraband/model8 name = "Toy Seraph" id = "toymech8" - materials = list(MAT_PLASTIC = 250) + materials = list(/datum/material/plastic = 250) build_path = /obj/item/toy/prize/seraph /datum/design/autoylathe/mech/contraband/model9 name = "Toy Mauler" id = "toymech9" - materials = list(MAT_PLASTIC = 250) + materials = list(/datum/material/plastic = 250) build_path = /obj/item/toy/prize/mauler /datum/design/autoylathe/mech/model10 name = "Toy Odysseus" id = "toymech10" - materials = list(MAT_PLASTIC = 250) + materials = list(/datum/material/plastic = 250) build_path = /obj/item/toy/prize/odysseus /datum/design/autoylathe/mech/model11 name = "Toy Phazon" id = "toymech11" - materials = list(MAT_PLASTIC = 250) + materials = list(/datum/material/plastic = 250) build_path = /obj/item/toy/prize/phazon /datum/design/autoylathe/mech/contraband/model12 name = "Toy Reticence" id = "toymech12" - materials = list(MAT_PLASTIC = 250) + materials = list(/datum/material/plastic = 250) build_path = /obj/item/toy/prize/reticence category = list("hacked", "Figurines") /datum/design/autoylathe/talking/AI name = "Toy AI" id = "ToyAICore" - materials = list(MAT_PLASTIC = 250, MAT_METAL = 50) + materials = list(/datum/material/plastic = 250, /datum/material/iron = 50) build_path = /obj/item/toy/talking/AI category = list("initial", "Toys") /datum/design/autoylathe/talking/codex_gigas name = "Toy Codex Gigas" id = "ToyCodex" - materials = list(MAT_PLASTIC = 250, MAT_METAL = 50) + materials = list(/datum/material/plastic = 250, /datum/material/iron = 50) build_path = /obj/item/toy/talking/codex_gigas category = list("initial", "Toys") /datum/design/autoylathe/talking/owl name = "Owl Action Figure" id = "owlactionfig" - materials = list(MAT_PLASTIC = 250, MAT_METAL = 50) + materials = list(/datum/material/plastic = 250, /datum/material/iron = 50) build_path = /obj/item/toy/talking/owl /datum/design/autoylathe/talking/griffin name = "Griffon Action Figure" id = "griffinactionfig" - materials = list(MAT_PLASTIC = 250, MAT_METAL = 50) + materials = list(/datum/material/plastic = 250, /datum/material/iron = 50) build_path = /obj/item/toy/talking/griffin /datum/design/autoylathe/cards name = "Deck of Cards" id = "carddeck" - materials = list(MAT_PLASTIC = 250) + materials = list(/datum/material/plastic = 250) build_path = /obj/item/toy/cards/deck category = list("initial", "Toys") /datum/design/autoylathe/nuke name = "Nuclear Fission Explosive Toy" id = "nuketoy" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/nuke category = list("initial", "Toys") /datum/design/autoylathe/minimeteor name = "Mini-Meteor" id = "meattoy" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/minimeteor category = list("hacked", "Misc") /datum/design/autoylathe/redbutton name = "Big Red Button" id = "redbutton" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/redbutton category = list("initial", "Toys") /datum/design/autoylathe/beach_ball name = "Beach Ball" id = "beachball" - materials = list(MAT_PLASTIC = 500) + materials = list(/datum/material/plastic = 500) build_path = /obj/item/toy/beach_ball category = list("initial", "Toys") /datum/design/autoylathe/clockwork_watch name = "Clockwork Watch" id = "clockwatch" - materials = list(MAT_PLASTIC = 1000) + materials = list(/datum/material/plastic = 1000) build_path = /obj/item/toy/clockwork_watch category = list("initial", "misc") /datum/design/autoylathe/dagger name = "Toy Dagger" id = "toydagger" - materials = list(MAT_PLASTIC = 1000) + materials = list(/datum/material/plastic = 1000) build_path = /obj/item/toy/toy_dagger category = list("initial", "Melee") /datum/design/autoylathe/xeno name = "Xenomorph" id = "xenomorph" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/toy_xeno /datum/design/autoylathe/cattoy name = "Toy Mouse" id = "cattoy" - materials = list(MAT_PLASTIC = 500) + materials = list(/datum/material/plastic = 500) build_path = /obj/item/toy/cattoy category = list("initial", "Toys") /datum/design/autoylathe/figure/assistant name = "Assistant" id = "assfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/assistant /datum/design/autoylathe/figure/atmos name = "Atmos Tech" id = "atmfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/atmos /datum/design/autoylathe/figure/bartender name = "Bartender" id = "barfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/bartender /datum/design/autoylathe/figure/botanist name = "Botanist" id = "botfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/botanist /datum/design/autoylathe/figure/captain name = "Captain" id = "capfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/captain /datum/design/autoylathe/figure/cargotech name = "Cargo Technician" id = "carfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/cargotech /datum/design/autoylathe/figure/ce name = "Chief Engineer" id = "cefigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/ce /datum/design/autoylathe/figure/chaplain name = "Chaplain" id = "chafigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/chaplain /datum/design/autoylathe/figure/chef name = "Chef" id = "chefigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/chef /datum/design/autoylathe/figure/chemist name = "Chemist" id = "chmfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/chemist /datum/design/autoylathe/figure/clown name = "Clown" id = "clnfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/clown /datum/design/autoylathe/figure/cmo name = "Chief Medical Officer" id = "cmofigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/cmo /datum/design/autoylathe/figure/curator name = "Curator" id = "curfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/curator /datum/design/autoylathe/figure/borg name = "Cyborg" id = "cybfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/borg /datum/design/autoylathe/figure/detective name = "Detective" id = "detfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/detective /datum/design/autoylathe/figure/engineer name = "Engineer" id = "engfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/engineer /datum/design/autoylathe/figure/geneticist name = "Geneticist" id = "genfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/geneticist /datum/design/autoylathe/figure/hop name = "Head of Personnel" id = "hopfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/hop /datum/design/autoylathe/figure/hos name = "Head of Security" id = "hosfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/hos /datum/design/autoylathe/figure/janitor name = "Janitor" id = "janfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/janitor /datum/design/autoylathe/figure/lawyer name = "Lawyer" id = "lawfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/lawyer /datum/design/autoylathe/figure/md name = "Medical Doctor" id = "medfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/md /datum/design/autoylathe/figure/mime name = "Mime" id = "mimfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/mime /datum/design/autoylathe/figure/miner name = "Miner" id = "minfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/miner /datum/design/autoylathe/figure/rd name = "Research Director" id = "rdfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/rd /datum/design/autoylathe/figure/robotocist name = "Robotocist" id = "robfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/roboticist /datum/design/autoylathe/figure/qm name = "Quartermaster" id = "qtmfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/qm /datum/design/autoylathe/figure/scientist name = "Scientist" id = "scifigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/scientist /datum/design/autoylathe/figure/secofficer name = "Security Officer" id = "secfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/secofficer /datum/design/autoylathe/figure/virologist name = "Virologist" id = "virfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/virologist /datum/design/autoylathe/figure/warden name = "Warden" id = "warfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/warden /datum/design/autoylathe/figure/dsquad name = "Deathsquad" id = "dsqfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/dsquad category = list("hacked", "Figurines") /datum/design/autoylathe/figure/ian name = "Ian" id = "ianfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/ian category = list("hacked", "Figurines") /datum/design/autoylathe/figure/ninja name = "Ninja" id = "ninfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/ninja category = list("hacked", "Figurines") /datum/design/autoylathe/figure/syndie name = "Nuclear Operative" id = "nucfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/syndie category = list("hacked", "Figurines") /datum/design/autoylathe/figure/wizard name = "Wizard" id = "wizfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 50) build_path = /obj/item/toy/figure/wizard category = list("hacked", "Figurines") /datum/design/autoylathe/dildo name = "Customizable Dildo" id = "dildo" - materials = list(MAT_PLASTIC = 2000) + materials = list(/datum/material/plastic = 2000) build_path = /obj/item/dildo/custom category = list("initial", "Adult") /datum/design/autoylathe/collar name = "Collar" id = "collar" - materials = list(MAT_PLASTIC = 250, MAT_METAL = 50) + materials = list(/datum/material/plastic = 250, /datum/material/iron = 50) build_path = /obj/item/clothing/neck/petcollar category = list("initial", "Adult") /datum/design/autoylathe/lastag/blue/gun name = "Blue Lasertag Rifle" id = "lastagrifleblue" - materials = list(MAT_PLASTIC = 2000, MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/plastic = 2000, /datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/gun/energy/laser/bluetag category = list("initial", "Rifles") /datum/design/autoylathe/lastag/red/gun name = "Red Lasertag Rifle" id = "lastagriflered" - materials = list(MAT_PLASTIC = 2000, MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/plastic = 2000, /datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/gun/energy/laser/redtag category = list("initial", "Rifles") /datum/design/autoylathe/lastag/blue/hat name = "Blue Lasertag Helmet" id = "lastaghatblue" - materials = list(MAT_PLASTIC = 4000, MAT_METAL = 1000, MAT_GLASS = 500) + materials = list(/datum/material/plastic = 4000, /datum/material/iron = 1000, /datum/material/glass = 500) build_path = /obj/item/clothing/head/helmet/bluetaghelm category = list("initial", "Armor") /datum/design/autoylathe/lastag/blue/armor name = "Blue Lasertag Armor" id = "lastagarmorblue" - materials = list(MAT_PLASTIC = 8000, MAT_METAL = 2000, MAT_GLASS = 100) + materials = list(/datum/material/plastic = 8000, /datum/material/iron = 2000, /datum/material/glass = 100) build_path = /obj/item/clothing/suit/bluetag category = list("initial", "Armor") /datum/design/autoylathe/lastag/red/hat name = "Red Lasertag Helmet" id = "lastaghelmetred" - materials = list(MAT_PLASTIC = 4000, MAT_METAL = 1000, MAT_GLASS = 500) + materials = list(/datum/material/plastic = 4000, /datum/material/iron = 1000, /datum/material/glass = 500) build_path = /obj/item/clothing/head/helmet/redtaghelm category = list("initial", "Armor") /datum/design/autoylathe/lastag/red/armor name = "Red Lasertag Armor" id = "lastagarmorred" - materials = list(MAT_PLASTIC = 8000, MAT_METAL = 2000, MAT_GLASS = 1000) + materials = list(/datum/material/plastic = 8000, /datum/material/iron = 2000, /datum/material/glass = 1000) build_path = /obj/item/clothing/suit/redtag category = list("initial", "Armor") @@ -544,14 +544,14 @@ /datum/design/autoylathe/lastag/blue name = "Blue Lasertag Kit" id = "lastagkitblue" - materials = list(MAT_PLASTIC = 16000, MAT_METAL = 4000, MAT_GLASS = 2000) + materials = list(/datum/material/plastic = 16000, /datum/material/iron = 4000, /datum/material/glass = 2000) build_path = /obj/item/storage/box/blueteam category = list("initial", "Misc") /datum/design/autoylathe/lastag/red name = "Red Lasertag Kit" id = "lastagkitred" - materials = list(MAT_PLASTIC = 16000, MAT_METAL = 4000, MAT_GLASS = 2000) + materials = list(/datum/material/plastic = 16000, /datum/material/iron = 4000, /datum/material/glass = 2000) build_path = /obj/item/storage/box/redteam category = list("initial", "Misc") @@ -559,7 +559,7 @@ name = "Foam Force X9 Rifle" id = "foam_x9" build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500) + materials = list(/datum/material/plastic = 4000, /datum/material/iron = 500) build_path = /obj/item/gun/ballistic/automatic/x9/toy category = list("initial", "Rifles") @@ -567,7 +567,7 @@ name = "Box of Foam Darts" id = "foam_dart" build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 500, MAT_METAL = 100) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 100) build_path = /obj/item/ammo_box/foambox category = list("initial", "Misc") @@ -575,7 +575,7 @@ name = "Foam Force Magpistol" id = "magfoam_launcher" build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250) + materials = list(/datum/material/plastic = 2000, /datum/material/iron = 250) build_path = /obj/item/gun/ballistic/shotgun/toy/mag category = list("initial", "Pistols") @@ -583,7 +583,7 @@ name = "Foam Force MagRifle" id = "foam_magrifle" build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500) + materials = list(/datum/material/plastic = 4000, /datum/material/iron = 500) build_path = /obj/item/gun/ballistic/automatic/toy/magrifle category = list("initial", "Rifles") @@ -591,7 +591,7 @@ name = "MagTag Hyper Rifle" id = "foam_hyperburst" build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 4000, MAT_METAL = 2000, MAT_GLASS = 1000) + materials = list(/datum/material/plastic = 4000, /datum/material/iron = 2000, /datum/material/glass = 1000) build_path = /obj/item/gun/energy/laser/practice/hyperburst category = list("initial", "Rifles") @@ -599,7 +599,7 @@ name = "Foam Force Stealth Pistol" id = "foam_sp" build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 2000, MAT_METAL = 1000) + materials = list(/datum/material/plastic = 2000, /datum/material/iron = 1000) build_path = /obj/item/gun/ballistic/automatic/toy/pistol/stealth category = list("initial", "Pistols") @@ -607,7 +607,7 @@ name = "RayTag Gun" id = "toyray" build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 2000, MAT_METAL = 1000, MAT_GLASS = 1000) + materials = list(/datum/material/plastic = 2000, /datum/material/iron = 1000, /datum/material/glass = 1000) build_path = /obj/item/gun/energy/laser/practice/raygun category = list("initial", "Pistols") @@ -615,7 +615,7 @@ name = "Foam Force AM4-C Rifle" id = "foam_am4c" build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500) + materials = list(/datum/material/plastic = 4000, /datum/material/iron = 500) build_path = /obj/item/gun/ballistic/automatic/AM4C category = list("initial", "Rifles") @@ -623,7 +623,7 @@ name = "Replica F3 Justicar" id = "foam_f3" build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250) + materials = list(/datum/material/plastic = 2000, /datum/material/iron = 250) build_path = /obj/item/toy/gun/justicar category = list("initial", "Pistols") @@ -631,7 +631,7 @@ name = "pump-action plastic blaster" id = "toy_blaster" build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 2000, MAT_METAL = 750, MAT_GLASS = 1000) + materials = list(/datum/material/plastic = 2000, /datum/material/iron = 750, /datum/material/glass = 1000) build_path = /obj/item/gun/energy/pumpaction/toy category = list("initial", "Rifles") @@ -639,7 +639,7 @@ name = "Box of Caps" id = "capammo" build_type = AUTOYLATHE - materials = list(MAT_METAL = 10, MAT_GLASS = 10) + materials = list(/datum/material/iron = 10, /datum/material/glass = 10) build_path = /obj/item/toy/ammo/gun category = list("initial", "Misc") @@ -647,7 +647,7 @@ name = "Foam Force SMG" id = "foam_smg" build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250) + materials = list(/datum/material/plastic = 2000, /datum/material/iron = 250) build_path = /obj/item/gun/ballistic/automatic/toy/unrestricted category = list("initial", "Pistols") @@ -655,7 +655,7 @@ name = "Foam Force Pistol" id = "foam_pistol" build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250) + materials = list(/datum/material/plastic = 2000, /datum/material/iron = 250) build_path = /obj/item/gun/ballistic/automatic/toy/pistol/unrestricted category = list("initial", "Pistols") @@ -663,7 +663,7 @@ name = "Foam Force Shotgun" id = "foam_shotgun" build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500) + materials = list(/datum/material/plastic = 4000, /datum/material/iron = 500) build_path = /obj/item/gun/ballistic/shotgun/toy/unrestricted category = list("initial", "Rifles") @@ -671,7 +671,7 @@ name = "Box of Lastag Red Foam Darts" id = "redfoam_dart" build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 500, MAT_METAL = 100) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 100) build_path = /obj/item/ammo_box/foambox/tag/red category = list("initial", "Misc") @@ -679,7 +679,7 @@ name = "Box of Lastag Blue Foam Darts" id = "bluefoam_dart" build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 500, MAT_METAL = 100) + materials = list(/datum/material/plastic = 500, /datum/material/iron = 100) build_path = /obj/item/ammo_box/foambox/tag/blue category = list("initial", "Misc") @@ -687,7 +687,7 @@ name = "Foam Force Crossbow" id = "foam_bow" build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250) + materials = list(/datum/material/plastic = 2000, /datum/material/iron = 250) build_path = /obj/item/gun/ballistic/shotgun/toy/crossbow category = list("initial", "Pistols") @@ -695,7 +695,7 @@ name = "Donksoft C20R" id = "foam_c20" build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500) + materials = list(/datum/material/plastic = 4000, /datum/material/iron = 500) build_path = /obj/item/gun/ballistic/automatic/c20r/toy/unrestricted category = list("hacked", "Rifles") @@ -703,6 +703,6 @@ name = "Donksoft LMG" id = "foam_LMG" build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500) + materials = list(/datum/material/plastic = 4000, /datum/material/iron = 500) build_path = /obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted category = list("hacked", "Rifles") diff --git a/code/modules/research/designs/biogenerator_designs.dm b/code/modules/research/designs/biogenerator_designs.dm index dd55697bee..e82dffbe07 100644 --- a/code/modules/research/designs/biogenerator_designs.dm +++ b/code/modules/research/designs/biogenerator_designs.dm @@ -3,18 +3,18 @@ /////////////////////////////////// /datum/design/milk - name = "10 Milk" + name = "10u Milk" id = "milk" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 20) + materials = list(/datum/material/biomass = 20) make_reagents = list(/datum/reagent/consumable/milk = 10) category = list("initial","Food") /datum/design/cream - name = "10 Cream" + name = "10u Cream" id = "cream" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 30) + materials = list(/datum/material/biomass = 30) make_reagents = list(/datum/reagent/consumable/cream = 10) category = list("initial","Food") @@ -22,7 +22,7 @@ name = "Milk Carton" id = "milk_carton" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 100) + materials = list(/datum/material/biomass = 100) build_path = /obj/item/reagent_containers/food/condiment/milk category = list("initial","Food") @@ -30,7 +30,7 @@ name = "Cream Carton" id = "cream_carton" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 300) + materials = list(/datum/material/biomass = 300) build_path = /obj/item/reagent_containers/food/drinks/bottle/cream category = list("initial","Food") @@ -38,7 +38,7 @@ name = "10u Black Pepper" id = "black_pepper" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 25) + materials = list(/datum/material/biomass = 25) make_reagents = list(/datum/reagent/consumable/blackpepper = 10) category = list("initial","Food") @@ -46,7 +46,7 @@ name = "Pepper Mill" id = "pepper_mill" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 50) + materials = list(/datum/material/biomass = 50) build_path = /obj/item/reagent_containers/food/condiment/peppermill make_reagents = list() category = list("initial","Food") @@ -55,15 +55,15 @@ name = "10u Universal Enzyme" id = "enzyme" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 30) - make_reagents = list("enzyme" = 10) + materials = list(/datum/material/biomass = 30) + make_reagents = list(/datum/reagent/consumable/enzyme = 10) category = list("initial","Food") /datum/design/flour_sack name = "Flour Sack" id = "flour_sack" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 150) + materials = list(/datum/material/biomass = 150) build_path = /obj/item/reagent_containers/food/condiment/flour category = list("initial","Food") @@ -71,7 +71,7 @@ name = "Monkey Cube" id = "mcube" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 250) + materials = list(/datum/material/biomass = 250) build_path = /obj/item/reagent_containers/food/snacks/monkeycube category = list("initial", "Food") @@ -79,7 +79,7 @@ name = "Biomass Meat Slab" id = "smeat" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 175) + materials = list(/datum/material/biomass = 175) build_path = /obj/item/reagent_containers/food/snacks/meat/slab/synthmeat category = list("initial", "Food") @@ -87,7 +87,7 @@ name = "E-Z Nutrient" id = "ez_nut" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 10) + materials = list(/datum/material/biomass = 10) build_path = /obj/item/reagent_containers/glass/bottle/nutrient/ez category = list("initial","Botany Chemicals") @@ -95,7 +95,7 @@ name = "Left 4 Zed" id = "l4z_nut" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 20) + materials = list(/datum/material/biomass = 20) build_path = /obj/item/reagent_containers/glass/bottle/nutrient/l4z category = list("initial","Botany Chemicals") @@ -103,7 +103,7 @@ name = "Robust Harvest" id = "rh_nut" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 25) + materials = list(/datum/material/biomass = 25) build_path = /obj/item/reagent_containers/glass/bottle/nutrient/rh category = list("initial","Botany Chemicals") @@ -111,7 +111,7 @@ name = "Weed Killer" id = "weed_killer" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 50) + materials = list(/datum/material/biomass = 50) build_path = /obj/item/reagent_containers/glass/bottle/killer/weedkiller category = list("initial","Botany Chemicals") @@ -119,15 +119,31 @@ name = "Pest Killer" id = "pest_spray" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 50) + materials = list(/datum/material/biomass = 50) build_path = /obj/item/reagent_containers/glass/bottle/killer/pestkiller category = list("initial","Botany Chemicals") +/datum/design/ammonia + name = "10u Ammonia" + id = "ammonia_biogen" + build_type = BIOGENERATOR + materials = list(/datum/material/biomass = 25) + make_reagents = list(/datum/reagent/ammonia = 10) + category = list("initial","Botany Chemicals") + +/datum/design/saltpetre + name = "10u Saltpetre" + id = "saltpetre_biogen" + build_type = BIOGENERATOR + materials = list(/datum/material/biomass = 75) + make_reagents = list(/datum/reagent/saltpetre = 10) + category = list("initial","Botany Chemicals") + /datum/design/botany_bottle name = "Empty Bottle" id = "botany_bottle" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 5) + materials = list(/datum/material/biomass = 5) build_path = /obj/item/reagent_containers/glass/bottle/nutrient/empty category = list("initial", "Botany Chemicals") @@ -135,7 +151,7 @@ name = "Roll of Cloth" id = "cloth" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 50) + materials = list(/datum/material/biomass = 50) build_path = /obj/item/stack/sheet/cloth category = list("initial","Organic Materials") @@ -143,7 +159,7 @@ name = "Sheet of Cardboard" id = "cardboard" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 25) + materials = list(/datum/material/biomass = 25) build_path = /obj/item/stack/sheet/cardboard category = list("initial","Organic Materials") @@ -151,7 +167,7 @@ name = "Sheet of Leather" id = "leather" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 150) + materials = list(/datum/material/biomass = 150) build_path = /obj/item/stack/sheet/leather category = list("initial","Organic Materials") @@ -159,7 +175,7 @@ name = "Security Belt" id = "secbelt" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 300) + materials = list(/datum/material/biomass = 300) build_path = /obj/item/storage/belt/security category = list("initial","Organic Materials") @@ -167,7 +183,7 @@ name = "Medical Belt" id = "medbel" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 300) + materials = list(/datum/material/biomass = 300) build_path = /obj/item/storage/belt/medical category = list("initial","Organic Materials") @@ -175,7 +191,7 @@ name = "Janitorial Belt" id = "janibelt" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 300) + materials = list(/datum/material/biomass = 300) build_path = /obj/item/storage/belt/janitor category = list("initial","Organic Materials") @@ -183,7 +199,7 @@ name = "Shoulder Holster" id = "s_holster" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 400) + materials = list(/datum/material/biomass = 400) build_path = /obj/item/storage/belt/holster category = list("initial","Organic Materials") @@ -191,6 +207,6 @@ name = "Rice Hat" id = "rice_hat" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 300) + materials = list(/datum/material/biomass = 300) build_path = /obj/item/clothing/head/rice_hat category = list("initial","Organic Materials") diff --git a/code/modules/research/designs/bluespace_designs.dm b/code/modules/research/designs/bluespace_designs.dm index 84fe526cd8..b03b85f99b 100644 --- a/code/modules/research/designs/bluespace_designs.dm +++ b/code/modules/research/designs/bluespace_designs.dm @@ -8,7 +8,7 @@ desc = "A blue space tracking beacon." id = "beacon" build_type = PROTOLATHE - materials = list(MAT_METAL = 150, MAT_GLASS = 100) + materials = list(/datum/material/iron = 150, /datum/material/glass = 100) build_path = /obj/item/beacon category = list("Bluespace Designs") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SECURITY @@ -18,7 +18,7 @@ desc = "A backpack that opens into a localized pocket of bluespace." id = "bag_holding" build_type = PROTOLATHE - materials = list(MAT_GOLD = 3000, MAT_DIAMOND = 1500, MAT_URANIUM = 250, MAT_BLUESPACE = 2000) + materials = list(/datum/material/gold = 3000, /datum/material/diamond = 1500, /datum/material/uranium = 250, /datum/material/bluespace = 2000) build_path = /obj/item/storage/backpack/holding category = list("Bluespace Designs") dangerous_construction = TRUE @@ -29,7 +29,7 @@ desc = "A satchel that opens into a localized pocket of bluespace." id = "satchel_holding" build_type = PROTOLATHE - materials = list(MAT_GOLD = 3000, MAT_DIAMOND = 1500, MAT_URANIUM = 250, MAT_BLUESPACE = 2000) + materials = list(/datum/material/gold = 3000, /datum/material/diamond = 1500, /datum/material/uranium = 250, /datum/material/bluespace = 2000) build_path = /obj/item/storage/backpack/holding/satchel category = list("Bluespace Designs") dangerous_construction = TRUE @@ -40,7 +40,7 @@ desc = "A chemical holding thingy. Mostly used for xenobiology." id = "biobag_holding" build_type = PROTOLATHE - materials = list(MAT_GOLD = 1500, MAT_DIAMOND = 750, MAT_URANIUM = 250, MAT_BLUESPACE = 1000) + materials = list(/datum/material/gold = 1500, /datum/material/diamond = 750, /datum/material/uranium = 250, /datum/material/bluespace = 1000) build_path = /obj/item/storage/bag/bio/holding category = list("Bluespace Designs") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -50,7 +50,7 @@ desc = "A small blue crystal with mystical properties." id = "bluespace_crystal" build_type = PROTOLATHE - materials = list(MAT_DIAMOND = 1500, MAT_PLASMA = 1500) + materials = list(/datum/material/diamond = 1500, /datum/material/plasma = 1500) build_path = /obj/item/stack/ore/bluespace_crystal/artificial category = list("Bluespace Designs") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -60,7 +60,7 @@ desc = "Little thingie that can track its position at all times." id = "telesci_gps" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 500, /datum/material/glass = 1000) build_path = /obj/item/gps category = list("Bluespace Designs") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_CARGO @@ -70,7 +70,7 @@ desc = "A device that can desynchronize the user from spacetime." id = "desynchronizer" build_type = PROTOLATHE - materials = list(MAT_METAL = 1000, MAT_GLASS = 500, MAT_SILVER = 1500, MAT_BLUESPACE = 1000) + materials = list(/datum/material/iron = 1000, /datum/material/glass = 500, /datum/material/silver = 1500, /datum/material/bluespace = 1000) build_path = /obj/item/desynchronizer category = list("Bluespace Designs") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -80,7 +80,7 @@ desc = "A mining satchel that can hold an infinite amount of ores." id = "minerbag_holding" build_type = PROTOLATHE - materials = list(MAT_GOLD = 250, MAT_URANIUM = 500) //quite cheap, for more convenience + materials = list(/datum/material/gold = 250, /datum/material/uranium = 500) //quite cheap, for more convenience build_path = /obj/item/storage/bag/ore/holding category = list("Bluespace Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO diff --git a/code/modules/research/designs/comp_board_designs/comp_board_designs_all_misc.dm b/code/modules/research/designs/comp_board_designs/comp_board_designs_all_misc.dm index 65a435a309..27560f29a1 100644 --- a/code/modules/research/designs/comp_board_designs/comp_board_designs_all_misc.dm +++ b/code/modules/research/designs/comp_board_designs/comp_board_designs_all_misc.dm @@ -3,7 +3,7 @@ name = "Computer Design ( NULL ENTRY )" desc = "A blank compurter board!" build_type = IMPRINTER - materials = list(MAT_GLASS = 1000) + materials = list(/datum/material/glass = 1000) /datum/design/board/arcade_battle name = "Computer Design (Battle Arcade Machine)" diff --git a/code/modules/research/designs/comp_board_designs/comp_board_designs_sci.dm b/code/modules/research/designs/comp_board_designs/comp_board_designs_sci.dm index e0b0a22be6..55171e2221 100644 --- a/code/modules/research/designs/comp_board_designs/comp_board_designs_sci.dm +++ b/code/modules/research/designs/comp_board_designs/comp_board_designs_sci.dm @@ -22,7 +22,7 @@ name = "Computer Design (AI Upload)" desc = "Allows for the construction of circuit boards used to build an AI Upload Console." id = "aiupload" - materials = list(MAT_GLASS = 1000, MAT_GOLD = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000) build_path = /obj/item/circuitboard/computer/aiupload category = list("Computer Boards") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -31,7 +31,7 @@ name = "Computer Design (Cyborg Upload)" desc = "Allows for the construction of circuit boards used to build a Cyborg Upload Console." id = "borgupload" - materials = list(MAT_GLASS = 1000, MAT_GOLD = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000) build_path = /obj/item/circuitboard/computer/borgupload category = list("Computer Boards") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE diff --git a/code/modules/research/designs/computer_part_designs.dm b/code/modules/research/designs/computer_part_designs.dm index a8813b726d..ab487b0aaa 100644 --- a/code/modules/research/designs/computer_part_designs.dm +++ b/code/modules/research/designs/computer_part_designs.dm @@ -6,7 +6,7 @@ name = "Hard Disk Drive" id = "hdd_basic" build_type = PROTOLATHE - materials = list(MAT_METAL = 400, MAT_GLASS = 100) + materials = list(/datum/material/iron = 400, /datum/material/glass = 100) build_path = /obj/item/computer_hardware/hard_drive category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -15,7 +15,7 @@ name = "Advanced Hard Disk Drive" id = "hdd_advanced" build_type = PROTOLATHE - materials = list(MAT_METAL = 800, MAT_GLASS = 200) + materials = list(/datum/material/iron = 800, /datum/material/glass = 200) build_path = /obj/item/computer_hardware/hard_drive/advanced category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -24,7 +24,7 @@ name = "Super Hard Disk Drive" id = "hdd_super" build_type = PROTOLATHE - materials = list(MAT_METAL = 1600, MAT_GLASS = 400) + materials = list(/datum/material/iron = 1600, /datum/material/glass = 400) build_path = /obj/item/computer_hardware/hard_drive/super category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -33,7 +33,7 @@ name = "Cluster Hard Disk Drive" id = "hdd_cluster" build_type = PROTOLATHE - materials = list(MAT_METAL = 3200, MAT_GLASS = 800) + materials = list(/datum/material/iron = 3200, /datum/material/glass = 800) build_path = /obj/item/computer_hardware/hard_drive/cluster category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -42,7 +42,7 @@ name = "Solid State Drive" id = "ssd_small" build_type = PROTOLATHE - materials = list(MAT_METAL = 800, MAT_GLASS = 200) + materials = list(/datum/material/iron = 800, /datum/material/glass = 200) build_path = /obj/item/computer_hardware/hard_drive/small category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -51,7 +51,7 @@ name = "Micro Solid State Drive" id = "ssd_micro" build_type = PROTOLATHE - materials = list(MAT_METAL = 400, MAT_GLASS = 100) + materials = list(/datum/material/iron = 400, /datum/material/glass = 100) build_path = /obj/item/computer_hardware/hard_drive/micro category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -61,7 +61,7 @@ name = "Network Card" id = "netcard_basic" build_type = IMPRINTER - materials = list(MAT_METAL = 250, MAT_GLASS = 100) + materials = list(/datum/material/iron = 250, /datum/material/glass = 100) build_path = /obj/item/computer_hardware/network_card category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -70,7 +70,7 @@ name = "Advanced Network Card" id = "netcard_advanced" build_type = IMPRINTER - materials = list(MAT_METAL = 500, MAT_GLASS = 200) + materials = list(/datum/material/iron = 500, /datum/material/glass = 200) build_path = /obj/item/computer_hardware/network_card/advanced category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -79,7 +79,7 @@ name = "Wired Network Card" id = "netcard_wired" build_type = IMPRINTER - materials = list(MAT_METAL = 2500, MAT_GLASS = 400) + materials = list(/datum/material/iron = 2500, /datum/material/glass = 400) build_path = /obj/item/computer_hardware/network_card/wired category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -89,7 +89,7 @@ name = "Data Disk" id = "portadrive_basic" build_type = IMPRINTER - materials = list(MAT_GLASS = 800) + materials = list(/datum/material/glass = 800) build_path = /obj/item/computer_hardware/hard_drive/portable category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -98,7 +98,7 @@ name = "Advanced Data Disk" id = "portadrive_advanced" build_type = IMPRINTER - materials = list(MAT_GLASS = 1600) + materials = list(/datum/material/glass = 1600) build_path = /obj/item/computer_hardware/hard_drive/portable/advanced category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -107,7 +107,7 @@ name = "Super Data Disk" id = "portadrive_super" build_type = IMPRINTER - materials = list(MAT_GLASS = 3200) + materials = list(/datum/material/glass = 3200) build_path = /obj/item/computer_hardware/hard_drive/portable/super category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -117,7 +117,7 @@ name = "ID Card Slot" id = "cardslot" build_type = PROTOLATHE - materials = list(MAT_METAL = 600) + materials = list(/datum/material/iron = 600) build_path = /obj/item/computer_hardware/card_slot category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -127,7 +127,7 @@ name = "Intellicard Slot" id = "aislot" build_type = PROTOLATHE - materials = list(MAT_METAL = 600) + materials = list(/datum/material/iron = 600) build_path = /obj/item/computer_hardware/ai_slot category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -137,7 +137,7 @@ name = "Miniprinter" id = "miniprinter" build_type = PROTOLATHE - materials = list(MAT_METAL = 600) + materials = list(/datum/material/iron = 600) build_path = /obj/item/computer_hardware/printer/mini category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -147,7 +147,7 @@ name = "Area Power Connector" id = "APClink" build_type = PROTOLATHE - materials = list(MAT_METAL = 2000) + materials = list(/datum/material/iron = 2000) build_path = /obj/item/computer_hardware/recharger/APC category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -157,7 +157,7 @@ name = "Power Cell Controller" id = "bat_control" build_type = PROTOLATHE - materials = list(MAT_METAL = 400) + materials = list(/datum/material/iron = 400) build_path = /obj/item/computer_hardware/battery category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -166,7 +166,7 @@ name = "Battery Module" id = "bat_normal" build_type = PROTOLATHE - materials = list(MAT_METAL = 400) + materials = list(/datum/material/iron = 400) build_path = /obj/item/stock_parts/cell/computer category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -175,7 +175,7 @@ name = "Advanced Battery Module" id = "bat_advanced" build_type = PROTOLATHE - materials = list(MAT_METAL = 800) + materials = list(/datum/material/iron = 800) build_path = /obj/item/stock_parts/cell/computer/advanced category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -184,7 +184,7 @@ name = "Super Battery Module" id = "bat_super" build_type = PROTOLATHE - materials = list(MAT_METAL = 1600) + materials = list(/datum/material/iron = 1600) build_path = /obj/item/stock_parts/cell/computer/super category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -193,7 +193,7 @@ name = "Nano Battery Module" id = "bat_nano" build_type = PROTOLATHE - materials = list(MAT_METAL = 200) + materials = list(/datum/material/iron = 200) build_path = /obj/item/stock_parts/cell/computer/nano category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -202,7 +202,7 @@ name = "Micro Battery Module" id = "bat_micro" build_type = PROTOLATHE - materials = list(MAT_METAL = 400) + materials = list(/datum/material/iron = 400) build_path = /obj/item/stock_parts/cell/computer/micro category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -212,7 +212,7 @@ name = "Processor Board" id = "cpu_normal" build_type = IMPRINTER - materials = list(MAT_GLASS = 1600) + materials = list(/datum/material/glass = 1600) build_path = /obj/item/computer_hardware/processor_unit category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -221,7 +221,7 @@ name = "Microprocessor" id = "cpu_small" build_type = IMPRINTER - materials = list(MAT_GLASS = 800) + materials = list(/datum/material/glass = 800) build_path = /obj/item/computer_hardware/processor_unit/small category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -230,7 +230,7 @@ name = "Photonic Processor Board" id = "pcpu_normal" build_type = IMPRINTER - materials = list(MAT_GLASS= 6400, MAT_GOLD = 2000) + materials = list(/datum/material/glass= 6400, /datum/material/gold = 2000) build_path = /obj/item/computer_hardware/processor_unit/photonic category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -239,7 +239,7 @@ name = "Photonic Microprocessor" id = "pcpu_small" build_type = IMPRINTER - materials = list(MAT_GLASS = 3200, MAT_GOLD = 1000) + materials = list(/datum/material/glass = 3200, /datum/material/gold = 1000) build_path = /obj/item/computer_hardware/processor_unit/photonic/small category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING diff --git a/code/modules/research/designs/electronics_designs.dm b/code/modules/research/designs/electronics_designs.dm index 82fd71d895..57d0b78547 100644 --- a/code/modules/research/designs/electronics_designs.dm +++ b/code/modules/research/designs/electronics_designs.dm @@ -8,7 +8,7 @@ desc = "Allows for the construction of an intellicard." id = "intellicard" build_type = PROTOLATHE - materials = list(MAT_GLASS = 1000, MAT_GOLD = 200) + materials = list(/datum/material/glass = 1000, /datum/material/gold = 200) build_path = /obj/item/aicard category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -18,7 +18,7 @@ desc = "Allows for the construction of a pAI Card." id = "paicard" build_type = PROTOLATHE - materials = list(MAT_GLASS = 500, MAT_METAL = 500) + materials = list(/datum/material/glass = 500, /datum/material/iron = 500) build_path = /obj/item/paicard category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_ALL @@ -28,7 +28,7 @@ desc = "A software package that will allow an artificial intelligence to 'hear' from its cameras via lip reading." id = "ai_cam_upgrade" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 5000, MAT_GOLD = 15000, MAT_SILVER = 15000, MAT_DIAMOND = 20000, MAT_PLASMA = 10000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 5000, /datum/material/gold = 15000, /datum/material/silver = 15000, /datum/material/diamond = 20000, /datum/material/plasma = 10000) build_path = /obj/item/surveillance_upgrade category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -41,7 +41,7 @@ desc = "Allows for the construction of a nanite remote." id = "nanite_remote" build_type = PROTOLATHE - materials = list(MAT_GLASS = 500, MAT_METAL = 500) + materials = list(/datum/material/glass = 500, /datum/material/iron = 500) build_path = /obj/item/nanite_remote category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -51,7 +51,7 @@ desc = "Allows for the construction of a nanite communication remote." id = "nanite_comm_remote" build_type = PROTOLATHE - materials = list(MAT_GLASS = 500, MAT_METAL = 500) + materials = list(/datum/material/glass = 500, /datum/material/iron = 500) build_path = /obj/item/nanite_remote/comm category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -61,7 +61,7 @@ desc = "Allows for the construction of a nanite scanner." id = "nanite_scanner" build_type = PROTOLATHE - materials = list(MAT_GLASS = 500, MAT_METAL = 500) + materials = list(/datum/material/glass = 500, /datum/material/iron = 500) build_path = /obj/item/nanite_scanner category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -74,7 +74,7 @@ desc = "Produce additional disks for storing device designs." id = "design_disk" build_type = PROTOLATHE | AUTOLATHE - materials = list(MAT_METAL = 300, MAT_GLASS = 100) + materials = list(/datum/material/iron = 300, /datum/material/glass = 100) build_path = /obj/item/disk/design_disk category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -84,7 +84,7 @@ desc = "Produce additional disks for storing device designs." id = "design_disk_adv" build_type = PROTOLATHE - materials = list(MAT_METAL = 300, MAT_GLASS = 100, MAT_SILVER=50) + materials = list(/datum/material/iron = 300, /datum/material/glass = 100, /datum/material/silver=50) build_path = /obj/item/disk/design_disk/adv category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -94,7 +94,7 @@ desc = "Produce additional disks for storing technology data." id = "tech_disk" build_type = PROTOLATHE | AUTOLATHE - materials = list(MAT_METAL = 300, MAT_GLASS = 100) + materials = list(/datum/material/iron = 300, /datum/material/glass = 100) build_path = /obj/item/disk/tech_disk category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -104,7 +104,7 @@ desc = "Stores nanite programs." id = "nanite_disk" build_type = PROTOLATHE - materials = list(MAT_METAL = 300, MAT_GLASS = 100) + materials = list(/datum/material/iron = 300, /datum/material/glass = 100) build_path = /obj/item/disk/nanite_program category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -114,7 +114,7 @@ desc = "This machine provides all necessary things for circuitry." id = "icprinter" build_type = PROTOLATHE - materials = list(MAT_GLASS = 5000, MAT_METAL = 10000) + materials = list(/datum/material/glass = 5000, /datum/material/iron = 10000) build_path = /obj/item/integrated_circuit_printer category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -124,7 +124,7 @@ desc = "This disk allows for integrated circuit printers to print advanced circuitry designs." id = "icupgadv" build_type = PROTOLATHE - materials = list(MAT_GLASS = 10000, MAT_METAL = 10000) + materials = list(/datum/material/glass = 10000, /datum/material/iron = 10000) build_path = /obj/item/disk/integrated_circuit/upgrade/advanced category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -134,7 +134,7 @@ desc = "This disk allows for integrated circuit printers to clone designs instantaneously." id = "icupgclo" build_type = PROTOLATHE - materials = list(MAT_GLASS = 10000, MAT_METAL = 10000) + materials = list(/datum/material/glass = 10000, /datum/material/iron = 10000) build_path = /obj/item/disk/integrated_circuit/upgrade/clone category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -145,7 +145,7 @@ desc = "A shell of a maintenance drone, an expendable robot built to perform station repairs." id = "drone_shell" build_type = MECHFAB | PROTOLATHE - materials = list(MAT_METAL = 800, MAT_GLASS = 350) + materials = list(/datum/material/iron = 800, /datum/material/glass = 350) construction_time = 150 build_path = /obj/item/drone_shell category = list("Misc") @@ -155,7 +155,7 @@ name = "owo" desc = "someone's bussin" build_type = PROTOLATHE - materials = list(MAT_METAL = 300, MAT_GLASS = 100) + materials = list(/datum/material/iron = 300, /datum/material/glass = 100) category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE diff --git a/code/modules/research/designs/equipment_designs.dm b/code/modules/research/designs/equipment_designs.dm index 9f954adb33..de97747928 100644 --- a/code/modules/research/designs/equipment_designs.dm +++ b/code/modules/research/designs/equipment_designs.dm @@ -5,7 +5,7 @@ id = "flightsuit" build_type = PROTOLATHE build_path = /obj/item/clothing/suit/space/hardsuit/flightsuit - materials = list(MAT_METAL=16000, MAT_GLASS = 8000, MAT_DIAMOND = 200, MAT_GOLD = 3000, MAT_SILVER = 3000, MAT_TITANIUM = 16000) //This expensive enough for you? + materials = list(/datum/material/iron=16000, /datum/material/glass = 8000, /datum/material/diamond = 200, /datum/material/gold = 3000, /datum/material/silver = 3000, /datum/material/titanium = 16000) //This expensive enough for you? construction_time = 250 category = list("Misc") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -16,7 +16,7 @@ id = "flightpack" build_type = PROTOLATHE build_path = /obj/item/flightpack - materials = list(MAT_METAL=16000, MAT_GLASS = 8000, MAT_DIAMOND = 4000, MAT_GOLD = 12000, MAT_SILVER = 12000, MAT_URANIUM = 20000, MAT_PLASMA = 16000, MAT_TITANIUM = 16000) //This expensive enough for you? + materials = list(/datum/material/iron=16000, /datum/material/glass = 8000, /datum/material/diamond = 4000, /datum/material/gold = 12000, /datum/material/silver = 12000, /datum/material/uranium = 20000, /datum/material/plasma = 16000, /datum/material/titanium = 16000) //This expensive enough for you? construction_time = 250 category = list("Misc") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -27,7 +27,7 @@ id = "flightshoes" build_type = PROTOLATHE build_path = /obj/item/clothing/shoes/flightshoes - materials = list(MAT_METAL = 5000, MAT_GLASS = 5000, MAT_GOLD = 1500, MAT_SILVER = 1500, MAT_PLASMA = 2000, MAT_TITANIUM = 2000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 5000, /datum/material/gold = 1500, /datum/material/silver = 1500, /datum/material/plasma = 2000, /datum/material/titanium = 2000) construction_time = 100 category = list("Misc") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING */ @@ -38,7 +38,7 @@ id = "chardsuit" build_type = PROTOLATHE build_path = /obj/item/clothing/suit/space/hardsuit/engine - materials = list(MAT_METAL=16000, MAT_GLASS = 8000, MAT_DIAMOND = 200, MAT_GOLD = 3000, MAT_SILVER = 3000, MAT_TITANIUM = 16000) + materials = list(/datum/material/iron=16000, /datum/material/glass = 8000, /datum/material/diamond = 200, /datum/material/gold = 3000, /datum/material/silver = 3000, /datum/material/titanium = 16000) construction_time = 100 category = list("Misc") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -49,7 +49,7 @@ id = "hardsuitjpack" build_type = PROTOLATHE build_path = /obj/item/tank/jetpack/suit - materials = list(MAT_METAL=16000, MAT_GLASS = 8000, MAT_DIAMOND = 2000, MAT_GOLD = 6000, MAT_SILVER = 6000, MAT_URANIUM = 10000, MAT_PLASMA = 8000, MAT_TITANIUM = 16000) + materials = list(/datum/material/iron=16000, /datum/material/glass = 8000, /datum/material/diamond = 2000, /datum/material/gold = 6000, /datum/material/silver = 6000, /datum/material/uranium = 10000, /datum/material/plasma = 8000, /datum/material/titanium = 16000) construction_time = 100 category = list("Misc") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING \ No newline at end of file diff --git a/code/modules/research/designs/machine_desings/machine_designs_all_misc.dm b/code/modules/research/designs/machine_desings/machine_designs_all_misc.dm index 6ccbf32615..c5f6b01e57 100644 --- a/code/modules/research/designs/machine_desings/machine_designs_all_misc.dm +++ b/code/modules/research/designs/machine_desings/machine_designs_all_misc.dm @@ -38,7 +38,7 @@ name = "Machine Design (Weapon Recharger Board)" desc = "The circuit board for a Weapon Recharger." id = "recharger" - materials = list(MAT_GLASS = 1000, MAT_GOLD = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000) build_path = /obj/item/circuitboard/machine/recharger category = list("Misc. Machinery") departmental_flags = DEPARTMENTAL_FLAG_ALL diff --git a/code/modules/research/designs/mecha_designs.dm b/code/modules/research/designs/mecha_designs.dm index 32272dc2bc..7d651a84d8 100644 --- a/code/modules/research/designs/mecha_designs.dm +++ b/code/modules/research/designs/mecha_designs.dm @@ -110,7 +110,7 @@ name = "\"Phazon\" Central Control module" desc = "Allows for the construction of a \"Phazon\" Central Control module." id = "phazon_main" - materials = list(MAT_GLASS = 1000, MAT_BLUESPACE = 100) + materials = list(/datum/material/glass = 1000, /datum/material/bluespace = 100) build_path = /obj/item/circuitboard/mecha/phazon/main category = list("Exosuit Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -119,7 +119,7 @@ name = "\"Phazon\" Peripherals Control module" desc = "Allows for the construction of a \"Phazon\" Peripheral Control module." id = "phazon_peri" - materials = list(MAT_GLASS = 1000, MAT_BLUESPACE = 100) + materials = list(/datum/material/glass = 1000, /datum/material/bluespace = 100) build_path = /obj/item/circuitboard/mecha/phazon/peripherals category = list("Exosuit Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -128,7 +128,7 @@ name = "\"Phazon\" Weapons & Targeting Control module" desc = "Allows for the construction of a \"Phazon\" Weapons & Targeting Control module." id = "phazon_targ" - materials = list(MAT_GLASS = 1000, MAT_BLUESPACE = 100) + materials = list(/datum/material/glass = 1000, /datum/material/bluespace = 100) build_path = /obj/item/circuitboard/mecha/phazon/targeting category = list("Exosuit Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -143,7 +143,7 @@ id = "mech_scattershot" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -153,7 +153,7 @@ id = "mech_seedscatter" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/seedscatter - materials = list(MAT_METAL=10000, MAT_GLASS = 10000) + materials = list(/datum/material/iron=10000, /datum/material/glass = 10000) construction_time = 70 category = list("Exosuit Equipment") @@ -163,7 +163,7 @@ id = "mech_scattershot_ammo" build_type = PROTOLATHE | MECHFAB build_path = /obj/item/mecha_ammo/scattershot - materials = list(MAT_METAL=6000) + materials = list(/datum/material/iron=6000) construction_time = 20 category = list("Exosuit Ammunition", "Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -174,7 +174,7 @@ id = "mech_carbine" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/carbine - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -184,7 +184,7 @@ id = "mech_carbine_ammo" build_type = PROTOLATHE | MECHFAB build_path = /obj/item/mecha_ammo/incendiary - materials = list(MAT_METAL=6000) + materials = list(/datum/material/iron=6000) construction_time = 20 category = list("Exosuit Ammunition", "Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -195,7 +195,7 @@ id = "mech_ion" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/ion - materials = list(MAT_METAL=20000,MAT_SILVER=6000,MAT_URANIUM=2000) + materials = list(/datum/material/iron=20000,/datum/material/silver=6000,/datum/material/uranium=2000) construction_time = 100 category = list("Exosuit Equipment") @@ -205,7 +205,7 @@ id = "mech_tesla" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/tesla - materials = list(MAT_METAL=20000,MAT_SILVER=8000) + materials = list(/datum/material/iron=20000,/datum/material/silver=8000) construction_time = 100 category = list("Exosuit Equipment") @@ -215,7 +215,7 @@ id = "mech_laser" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -225,7 +225,7 @@ id = "mech_laser_heavy" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -235,7 +235,7 @@ id = "mech_grenade_launcher" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang - materials = list(MAT_METAL=22000,MAT_GOLD=6000,MAT_SILVER=8000) + materials = list(/datum/material/iron=22000,/datum/material/gold=6000,/datum/material/silver=8000) construction_time = 100 category = list("Exosuit Equipment") @@ -245,7 +245,7 @@ id = "mech_grenade_launcher_ammo" build_type = PROTOLATHE | MECHFAB build_path = /obj/item/mecha_ammo/flashbang - materials = list(MAT_METAL=4000,MAT_GOLD=500,MAT_SILVER=500) + materials = list(/datum/material/iron=4000,/datum/material/gold=500,/datum/material/silver=500) construction_time = 20 category = list("Exosuit Ammunition", "Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -256,7 +256,7 @@ id = "mech_missile_rack" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/breaching - materials = list(MAT_METAL=22000,MAT_GOLD=6000,MAT_SILVER=8000) + materials = list(/datum/material/iron=22000,/datum/material/gold=6000,/datum/material/silver=8000) construction_time = 100 category = list("Exosuit Equipment") @@ -266,7 +266,7 @@ id = "mech_missile_rack_ammo" build_type = PROTOLATHE | MECHFAB build_path = /obj/item/mecha_ammo/missiles_br - materials = list(MAT_METAL=8000,MAT_GOLD=500,MAT_SILVER=500) + materials = list(/datum/material/iron=8000,/datum/material/gold=500,/datum/material/silver=500) construction_time = 20 category = list("Exosuit Ammunition", "Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -277,7 +277,7 @@ id = "clusterbang_launcher" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang/clusterbang - materials = list(MAT_METAL=20000,MAT_GOLD=10000,MAT_URANIUM=10000) + materials = list(/datum/material/iron=20000,/datum/material/gold=10000,/datum/material/uranium=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -287,7 +287,7 @@ id = "clusterbang_launcher_ammo" build_type = PROTOLATHE | MECHFAB build_path = /obj/item/mecha_ammo/clusterbang - materials = list(MAT_METAL=6000,MAT_GOLD=1500,MAT_URANIUM=1500) + materials = list(/datum/material/iron=6000,/datum/material/gold=1500,/datum/material/uranium=1500) construction_time = 20 category = list("Exosuit Ammunition", "Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -298,7 +298,7 @@ id = "mech_wormhole_gen" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/wormhole_generator - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -308,7 +308,7 @@ id = "mech_teleporter" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/teleporter - materials = list(MAT_METAL=10000,MAT_DIAMOND=10000) + materials = list(/datum/material/iron=10000,/datum/material/diamond=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -318,7 +318,7 @@ id = "mech_rcd" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/rcd - materials = list(MAT_METAL=30000,MAT_GOLD=20000,MAT_PLASMA=25000,MAT_SILVER=20000) + materials = list(/datum/material/iron=30000,/datum/material/gold=20000,/datum/material/plasma=25000,/datum/material/silver=20000) construction_time = 1200 category = list("Exosuit Equipment") @@ -328,7 +328,7 @@ id = "mech_gravcatapult" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/gravcatapult - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -338,7 +338,7 @@ id = "mech_repair_droid" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/repair_droid - materials = list(MAT_METAL=10000,MAT_GLASS=5000,MAT_GOLD=1000,MAT_SILVER=2000) + materials = list(/datum/material/iron=10000,/datum/material/glass=5000,/datum/material/gold=1000,/datum/material/silver=2000) construction_time = 100 category = list("Exosuit Equipment") @@ -348,7 +348,7 @@ id = "mech_energy_relay" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay - materials = list(MAT_METAL=10000,MAT_GLASS=2000,MAT_GOLD=2000,MAT_SILVER=3000) + materials = list(/datum/material/iron=10000,/datum/material/glass=2000,/datum/material/gold=2000,/datum/material/silver=3000) construction_time = 100 category = list("Exosuit Equipment") @@ -358,7 +358,7 @@ id = "mech_ccw_armor" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster - materials = list(MAT_METAL=20000,MAT_SILVER=5000) + materials = list(/datum/material/iron=20000,/datum/material/silver=5000) construction_time = 100 category = list("Exosuit Equipment") @@ -368,7 +368,7 @@ id = "mech_proj_armor" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster - materials = list(MAT_METAL=20000,MAT_GOLD=5000) + materials = list(/datum/material/iron=20000,/datum/material/gold=5000) construction_time = 100 category = list("Exosuit Equipment") @@ -378,7 +378,7 @@ id = "mech_diamond_drill" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill - materials = list(MAT_METAL=10000,MAT_DIAMOND=6500) + materials = list(/datum/material/iron=10000,/datum/material/diamond=6500) construction_time = 100 category = list("Exosuit Equipment") @@ -388,7 +388,7 @@ id = "mech_generator_nuclear" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/generator/nuclear - materials = list(MAT_METAL=10000,MAT_GLASS=1000,MAT_SILVER=500) + materials = list(/datum/material/iron=10000,/datum/material/glass=1000,/datum/material/silver=500) construction_time = 100 category = list("Exosuit Equipment") @@ -398,7 +398,7 @@ id = "mech_plasma_cutter" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/plasma - materials = list(MAT_METAL = 8000, MAT_GLASS = 1000, MAT_PLASMA = 2000) + materials = list(/datum/material/iron = 8000, /datum/material/glass = 1000, /datum/material/plasma = 2000) construction_time = 100 category = list("Exosuit Equipment") @@ -408,7 +408,7 @@ id = "mech_taser" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/taser - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -418,7 +418,7 @@ id = "mech_lmg" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -428,7 +428,7 @@ id = "mech_lmg_ammo" build_type = PROTOLATHE | MECHFAB build_path = /obj/item/mecha_ammo/lmg - materials = list(MAT_METAL=4000) + materials = list(/datum/material/iron=4000) construction_time = 20 category = list("Exosuit Ammunition", "Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -439,7 +439,7 @@ id = "mech_sleeper" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/medical/sleeper - materials = list(MAT_METAL=5000,MAT_GLASS=10000) + materials = list(/datum/material/iron=5000,/datum/material/glass=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -449,7 +449,7 @@ id = "mech_syringe_gun" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun - materials = list(MAT_METAL=3000,MAT_GLASS=2000) + materials = list(/datum/material/iron=3000,/datum/material/glass=2000) construction_time = 200 category = list("Exosuit Equipment") @@ -458,7 +458,7 @@ desc = "Equipment for medical exosuits. A mounted medical nanite projector which will treat patients with a focused beam." id = "mech_medi_beam" build_type = MECHFAB - materials = list(MAT_METAL = 15000, MAT_GLASS = 8000, MAT_PLASMA = 3000, MAT_GOLD = 8000, MAT_DIAMOND = 2000) + materials = list(/datum/material/iron = 15000, /datum/material/glass = 8000, /datum/material/plasma = 3000, /datum/material/gold = 8000, /datum/material/diamond = 2000) construction_time = 250 build_path = /obj/item/mecha_parts/mecha_equipment/medical/mechmedbeam category = list("Exosuit Equipment") diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm index 5fab7705a8..a5ad3287fc 100644 --- a/code/modules/research/designs/mechfabricator_designs.dm +++ b/code/modules/research/designs/mechfabricator_designs.dm @@ -4,7 +4,7 @@ id = "borg_suit" build_type = MECHFAB build_path = /obj/item/robot_suit - materials = list(MAT_METAL=15000) + materials = list(/datum/material/iron=15000) construction_time = 500 category = list("Cyborg") @@ -13,7 +13,7 @@ id = "borg_chest" build_type = MECHFAB build_path = /obj/item/bodypart/chest/robot - materials = list(MAT_METAL=40000) + materials = list(/datum/material/iron=40000) construction_time = 350 category = list("Cyborg") @@ -22,7 +22,7 @@ id = "borg_head" build_type = MECHFAB build_path = /obj/item/bodypart/head/robot - materials = list(MAT_METAL=5000) + materials = list(/datum/material/iron=5000) construction_time = 350 category = list("Cyborg") @@ -31,7 +31,7 @@ id = "borg_l_arm" build_type = MECHFAB build_path = /obj/item/bodypart/l_arm/robot - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 200 category = list("Cyborg") @@ -40,7 +40,7 @@ id = "borg_r_arm" build_type = MECHFAB build_path = /obj/item/bodypart/r_arm/robot - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 200 category = list("Cyborg") @@ -49,7 +49,7 @@ id = "borg_l_leg" build_type = MECHFAB build_path = /obj/item/bodypart/l_leg/robot - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 200 category = list("Cyborg") @@ -58,7 +58,7 @@ id = "borg_r_leg" build_type = MECHFAB build_path = /obj/item/bodypart/r_leg/robot - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 200 category = list("Cyborg") @@ -68,7 +68,7 @@ id = "ripley_chassis" build_type = MECHFAB build_path = /obj/item/mecha_parts/chassis/ripley - materials = list(MAT_METAL=20000) + materials = list(/datum/material/iron=20000) construction_time = 100 category = list("Ripley") @@ -78,7 +78,7 @@ id = "firefighter_chassis" build_type = MECHFAB build_path = /obj/item/mecha_parts/chassis/firefighter - materials = list(MAT_METAL=20000) + materials = list(/datum/material/iron=20000) construction_time = 100 category = list("Firefighter") @@ -87,7 +87,7 @@ id = "ripley_torso" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/ripley_torso - materials = list(MAT_METAL=20000, MAT_GLASS=7500) + materials = list(/datum/material/iron=20000, /datum/material/glass=7500) construction_time = 200 category = list("Ripley","Firefighter") @@ -96,7 +96,7 @@ id = "ripley_left_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/ripley_left_arm - materials = list(MAT_METAL=15000) + materials = list(/datum/material/iron=15000) construction_time = 150 category = list("Ripley","Firefighter") @@ -105,7 +105,7 @@ id = "ripley_right_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/ripley_right_arm - materials = list(MAT_METAL=15000) + materials = list(/datum/material/iron=15000) construction_time = 150 category = list("Ripley","Firefighter") @@ -114,7 +114,7 @@ id = "ripley_left_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/ripley_left_leg - materials = list(MAT_METAL=15000) + materials = list(/datum/material/iron=15000) construction_time = 150 category = list("Ripley","Firefighter") @@ -123,7 +123,7 @@ id = "ripley_right_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/ripley_right_leg - materials = list(MAT_METAL=15000) + materials = list(/datum/material/iron=15000) construction_time = 150 category = list("Ripley","Firefighter") @@ -133,7 +133,7 @@ id = "odysseus_chassis" build_type = MECHFAB build_path = /obj/item/mecha_parts/chassis/odysseus - materials = list(MAT_METAL=20000) + materials = list(/datum/material/iron=20000) construction_time = 100 category = list("Odysseus") @@ -142,7 +142,7 @@ id = "odysseus_torso" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/odysseus_torso - materials = list(MAT_METAL=12000) + materials = list(/datum/material/iron=12000) construction_time = 180 category = list("Odysseus") @@ -151,7 +151,7 @@ id = "odysseus_head" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/odysseus_head - materials = list(MAT_METAL=6000,MAT_GLASS=10000) + materials = list(/datum/material/iron=6000,/datum/material/glass=10000) construction_time = 100 category = list("Odysseus") @@ -160,7 +160,7 @@ id = "odysseus_left_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/odysseus_left_arm - materials = list(MAT_METAL=6000) + materials = list(/datum/material/iron=6000) construction_time = 120 category = list("Odysseus") @@ -169,7 +169,7 @@ id = "odysseus_right_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/odysseus_right_arm - materials = list(MAT_METAL=6000) + materials = list(/datum/material/iron=6000) construction_time = 120 category = list("Odysseus") @@ -178,7 +178,7 @@ id = "odysseus_left_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/odysseus_left_leg - materials = list(MAT_METAL=7000) + materials = list(/datum/material/iron=7000) construction_time = 130 category = list("Odysseus") @@ -187,7 +187,7 @@ id = "odysseus_right_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/odysseus_right_leg - materials = list(MAT_METAL=7000) + materials = list(/datum/material/iron=7000) construction_time = 130 category = list("Odysseus") @@ -197,7 +197,7 @@ id = "gygax_chassis" build_type = MECHFAB build_path = /obj/item/mecha_parts/chassis/gygax - materials = list(MAT_METAL=20000) + materials = list(/datum/material/iron=20000) construction_time = 100 category = list("Gygax") @@ -206,7 +206,7 @@ id = "gygax_torso" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/gygax_torso - materials = list(MAT_METAL=20000,MAT_GLASS=10000,MAT_DIAMOND=2000) + materials = list(/datum/material/iron=20000,/datum/material/glass=10000,/datum/material/diamond=2000) construction_time = 300 category = list("Gygax") @@ -215,7 +215,7 @@ id = "gygax_head" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/gygax_head - materials = list(MAT_METAL=10000,MAT_GLASS=5000, MAT_DIAMOND=2000) + materials = list(/datum/material/iron=10000,/datum/material/glass=5000, /datum/material/diamond=2000) construction_time = 200 category = list("Gygax") @@ -224,7 +224,7 @@ id = "gygax_left_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/gygax_left_arm - materials = list(MAT_METAL=15000, MAT_DIAMOND=1000) + materials = list(/datum/material/iron=15000, /datum/material/diamond=1000) construction_time = 200 category = list("Gygax") @@ -233,7 +233,7 @@ id = "gygax_right_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/gygax_right_arm - materials = list(MAT_METAL=15000, MAT_DIAMOND=1000) + materials = list(/datum/material/iron=15000, /datum/material/diamond=1000) construction_time = 200 category = list("Gygax") @@ -242,7 +242,7 @@ id = "gygax_left_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/gygax_left_leg - materials = list(MAT_METAL=15000, MAT_DIAMOND=2000) + materials = list(/datum/material/iron=15000, /datum/material/diamond=2000) construction_time = 200 category = list("Gygax") @@ -251,7 +251,7 @@ id = "gygax_right_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/gygax_right_leg - materials = list(MAT_METAL=15000, MAT_DIAMOND=2000) + materials = list(/datum/material/iron=15000, /datum/material/diamond=2000) construction_time = 200 category = list("Gygax") @@ -260,7 +260,7 @@ id = "gygax_armor" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/gygax_armor - materials = list(MAT_METAL=15000,MAT_DIAMOND=10000,MAT_TITANIUM=10000) + materials = list(/datum/material/iron=15000,/datum/material/diamond=10000,/datum/material/titanium=10000) construction_time = 600 category = list("Gygax") @@ -270,7 +270,7 @@ id = "durand_chassis" build_type = MECHFAB build_path = /obj/item/mecha_parts/chassis/durand - materials = list(MAT_METAL=25000) + materials = list(/datum/material/iron=25000) construction_time = 100 category = list("Durand") @@ -279,7 +279,7 @@ id = "durand_torso" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/durand_torso - materials = list(MAT_METAL=25000,MAT_GLASS=10000,MAT_SILVER=10000) + materials = list(/datum/material/iron=25000,/datum/material/glass=10000,/datum/material/silver=10000) construction_time = 300 category = list("Durand") @@ -288,7 +288,7 @@ id = "durand_head" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/durand_head - materials = list(MAT_METAL=10000,MAT_GLASS=15000,MAT_SILVER=2000) + materials = list(/datum/material/iron=10000,/datum/material/glass=15000,/datum/material/silver=2000) construction_time = 200 category = list("Durand") @@ -297,7 +297,7 @@ id = "durand_left_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/durand_left_arm - materials = list(MAT_METAL=10000,MAT_SILVER=4000) + materials = list(/datum/material/iron=10000,/datum/material/silver=4000) construction_time = 200 category = list("Durand") @@ -306,7 +306,7 @@ id = "durand_right_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/durand_right_arm - materials = list(MAT_METAL=10000,MAT_SILVER=4000) + materials = list(/datum/material/iron=10000,/datum/material/silver=4000) construction_time = 200 category = list("Durand") @@ -315,7 +315,7 @@ id = "durand_left_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/durand_left_leg - materials = list(MAT_METAL=15000,MAT_SILVER=4000) + materials = list(/datum/material/iron=15000,/datum/material/silver=4000) construction_time = 200 category = list("Durand") @@ -324,7 +324,7 @@ id = "durand_right_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/durand_right_leg - materials = list(MAT_METAL=15000,MAT_SILVER=4000) + materials = list(/datum/material/iron=15000,/datum/material/silver=4000) construction_time = 200 category = list("Durand") @@ -333,7 +333,7 @@ id = "durand_armor" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/durand_armor - materials = list(MAT_METAL=30000,MAT_URANIUM=25000,MAT_TITANIUM=20000) + materials = list(/datum/material/iron=30000,/datum/material/uranium=25000,/datum/material/titanium=20000) construction_time = 600 category = list("Durand") @@ -343,7 +343,7 @@ id = "honk_chassis" build_type = MECHFAB build_path = /obj/item/mecha_parts/chassis/honker - materials = list(MAT_METAL=20000) + materials = list(/datum/material/iron=20000) construction_time = 100 category = list("H.O.N.K") @@ -352,7 +352,7 @@ id = "honk_torso" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/honker_torso - materials = list(MAT_METAL=20000,MAT_GLASS=10000,MAT_BANANIUM=10000) + materials = list(/datum/material/iron=20000,/datum/material/glass=10000,/datum/material/bananium=10000) construction_time = 300 category = list("H.O.N.K") @@ -361,7 +361,7 @@ id = "honk_head" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/honker_head - materials = list(MAT_METAL=10000,MAT_GLASS=5000,MAT_BANANIUM=5000) + materials = list(/datum/material/iron=10000,/datum/material/glass=5000,/datum/material/bananium=5000) construction_time = 200 category = list("H.O.N.K") @@ -370,7 +370,7 @@ id = "honk_left_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/honker_left_arm - materials = list(MAT_METAL=15000,MAT_BANANIUM=5000) + materials = list(/datum/material/iron=15000,/datum/material/bananium=5000) construction_time = 200 category = list("H.O.N.K") @@ -379,7 +379,7 @@ id = "honk_right_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/honker_right_arm - materials = list(MAT_METAL=15000,MAT_BANANIUM=5000) + materials = list(/datum/material/iron=15000,/datum/material/bananium=5000) construction_time = 200 category = list("H.O.N.K") @@ -388,7 +388,7 @@ id = "honk_left_leg" build_type = MECHFAB build_path =/obj/item/mecha_parts/part/honker_left_leg - materials = list(MAT_METAL=20000,MAT_BANANIUM=5000) + materials = list(/datum/material/iron=20000,/datum/material/bananium=5000) construction_time = 200 category = list("H.O.N.K") @@ -397,7 +397,7 @@ id = "honk_right_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/honker_right_leg - materials = list(MAT_METAL=20000,MAT_BANANIUM=5000) + materials = list(/datum/material/iron=20000,/datum/material/bananium=5000) construction_time = 200 category = list("H.O.N.K") @@ -408,7 +408,7 @@ id = "phazon_chassis" build_type = MECHFAB build_path = /obj/item/mecha_parts/chassis/phazon - materials = list(MAT_METAL=20000) + materials = list(/datum/material/iron=20000) construction_time = 100 category = list("Phazon") @@ -417,7 +417,7 @@ id = "phazon_torso" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/phazon_torso - materials = list(MAT_METAL=35000,MAT_GLASS=10000,MAT_PLASMA=20000) + materials = list(/datum/material/iron=35000,/datum/material/glass=10000,/datum/material/plasma=20000) construction_time = 300 category = list("Phazon") @@ -426,7 +426,7 @@ id = "phazon_head" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/phazon_head - materials = list(MAT_METAL=15000,MAT_GLASS=5000,MAT_PLASMA=10000) + materials = list(/datum/material/iron=15000,/datum/material/glass=5000,/datum/material/plasma=10000) construction_time = 200 category = list("Phazon") @@ -435,7 +435,7 @@ id = "phazon_left_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/phazon_left_arm - materials = list(MAT_METAL=20000,MAT_PLASMA=10000) + materials = list(/datum/material/iron=20000,/datum/material/plasma=10000) construction_time = 200 category = list("Phazon") @@ -444,7 +444,7 @@ id = "phazon_right_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/phazon_right_arm - materials = list(MAT_METAL=20000,MAT_PLASMA=10000) + materials = list(/datum/material/iron=20000,/datum/material/plasma=10000) construction_time = 200 category = list("Phazon") @@ -453,7 +453,7 @@ id = "phazon_left_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/phazon_left_leg - materials = list(MAT_METAL=20000,MAT_PLASMA=10000) + materials = list(/datum/material/iron=20000,/datum/material/plasma=10000) construction_time = 200 category = list("Phazon") @@ -462,7 +462,7 @@ id = "phazon_right_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/phazon_right_leg - materials = list(MAT_METAL=20000,MAT_PLASMA=10000) + materials = list(/datum/material/iron=20000,/datum/material/plasma=10000) construction_time = 200 category = list("Phazon") @@ -471,7 +471,7 @@ id = "phazon_armor" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/phazon_armor - materials = list(MAT_METAL=25000,MAT_PLASMA=20000,MAT_TITANIUM=20000) + materials = list(/datum/material/iron=25000,/datum/material/plasma=20000,/datum/material/titanium=20000) construction_time = 300 category = list("Phazon") @@ -481,7 +481,7 @@ id = "mech_hydraulic_clamp" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -490,7 +490,7 @@ id = "mech_drill" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/drill - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -499,7 +499,7 @@ id = "mech_mscanner" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/mining_scanner - materials = list(MAT_METAL=5000,MAT_GLASS=2500) + materials = list(/datum/material/iron=5000,/datum/material/glass=2500) construction_time = 50 category = list("Exosuit Equipment") @@ -508,7 +508,7 @@ id = "mech_extinguisher" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/extinguisher - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -517,7 +517,7 @@ id = "mech_cable_layer" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/cable_layer - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -526,7 +526,7 @@ id = "mech_generator" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/generator - materials = list(MAT_METAL=10000,MAT_GLASS=1000,MAT_SILVER=2000,MAT_PLASMA=5000) + materials = list(/datum/material/iron=10000,/datum/material/glass=1000,/datum/material/silver=2000,/datum/material/plasma=5000) construction_time = 100 category = list("Exosuit Equipment") @@ -535,7 +535,7 @@ id = "mech_mousetrap_mortar" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/mousetrap_mortar - materials = list(MAT_METAL=20000,MAT_BANANIUM=5000) + materials = list(/datum/material/iron=20000,/datum/material/bananium=5000) construction_time = 300 category = list("Exosuit Equipment") @@ -544,7 +544,7 @@ id = "mech_banana_mortar" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/banana_mortar - materials = list(MAT_METAL=20000,MAT_BANANIUM=5000) + materials = list(/datum/material/iron=20000,/datum/material/bananium=5000) construction_time = 300 category = list("Exosuit Equipment") @@ -553,7 +553,7 @@ id = "mech_honker" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/honker - materials = list(MAT_METAL=20000,MAT_BANANIUM=10000) + materials = list(/datum/material/iron=20000,/datum/material/bananium=10000) construction_time = 500 category = list("Exosuit Equipment") @@ -562,7 +562,7 @@ id = "mech_punching_face" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove - materials = list(MAT_METAL=20000,MAT_BANANIUM=7500) + materials = list(/datum/material/iron=20000,/datum/material/bananium=7500) construction_time = 400 category = list("Exosuit Equipment") @@ -575,7 +575,7 @@ id = "borg_upgrade_rename" build_type = MECHFAB build_path = /obj/item/borg/upgrade/rename - materials = list(MAT_METAL=35000) + materials = list(/datum/material/iron=35000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -584,7 +584,7 @@ id = "borg_upgrade_restart" build_type = MECHFAB build_path = /obj/item/borg/upgrade/restart - materials = list(MAT_METAL=60000 , MAT_GLASS=5000) + materials = list(/datum/material/iron=60000 , /datum/material/glass=5000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -593,7 +593,7 @@ id = "borg_upgrade_vtec" build_type = MECHFAB build_path = /obj/item/borg/upgrade/vtec - materials = list(MAT_METAL=80000 , MAT_GLASS=6000 , MAT_URANIUM= 5000) + materials = list(/datum/material/iron=80000 , /datum/material/glass=6000 , /datum/material/uranium= 5000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -602,7 +602,7 @@ id = "borg_upgrade_thrusters" build_type = MECHFAB build_path = /obj/item/borg/upgrade/thrusters - materials = list(MAT_METAL=10000, MAT_PLASMA=5000, MAT_URANIUM = 6000) + materials = list(/datum/material/iron=10000, /datum/material/plasma=5000, /datum/material/uranium = 6000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -611,7 +611,7 @@ id = "borg_upgrade_disablercooler" build_type = MECHFAB build_path = /obj/item/borg/upgrade/disablercooler - materials = list(MAT_METAL=80000 , MAT_GLASS=6000 , MAT_GOLD= 2000, MAT_DIAMOND = 500) + materials = list(/datum/material/iron=80000 , /datum/material/glass=6000 , /datum/material/gold= 2000, /datum/material/diamond = 500) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -620,7 +620,7 @@ id = "borg_upgrade_diamonddrill" build_type = MECHFAB build_path = /obj/item/borg/upgrade/ddrill - materials = list(MAT_METAL=10000, MAT_DIAMOND=2000) + materials = list(/datum/material/iron=10000, /datum/material/diamond=2000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -629,7 +629,7 @@ id = "borg_upgrade_advcutter" build_type = MECHFAB build_path = /obj/item/borg/upgrade/advcutter - materials = list(MAT_METAL=8000, MAT_PLASMA=2000, MAT_GOLD= 2000) + materials = list(/datum/material/iron = 8000, /datum/material/plasma = 2000, /datum/material/gold = 2000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -638,7 +638,7 @@ id = "borg_upgrade_premiumka" build_type = MECHFAB build_path = /obj/item/borg/upgrade/premiumka - materials = list(MAT_METAL=8000, MAT_GLASS=4000, MAT_TITANIUM=2000) + materials = list(/datum/material/iron=8000, /datum/material/glass=4000, /datum/material/titanium=2000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -647,7 +647,7 @@ id = "borg_upgrade_lavaproof" build_type = MECHFAB build_path = /obj/item/borg/upgrade/lavaproof - materials = list(MAT_METAL = 10000, MAT_PLASMA = 4000, MAT_TITANIUM = 5000) + materials = list(/datum/material/iron = 10000, /datum/material/plasma = 4000, /datum/material/titanium = 5000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -656,7 +656,7 @@ id = "borg_syndicate_module" build_type = MECHFAB build_path = /obj/item/borg/upgrade/syndicate - materials = list(MAT_METAL=10000,MAT_GLASS=15000,MAT_DIAMOND = 10000) + materials = list(/datum/material/iron=10000,/datum/material/glass=15000,/datum/material/diamond = 10000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -665,7 +665,7 @@ id = "borg_transform_clown" build_type = MECHFAB build_path = /obj/item/borg/upgrade/transform/clown - materials = list(MAT_METAL=10000, MAT_GLASS=15000, MAT_BANANIUM = 1000) + materials = list(/datum/material/iron=10000, /datum/material/glass=15000, /datum/material/bananium = 1000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -674,7 +674,7 @@ id = "borg_upgrade_selfrepair" build_type = MECHFAB build_path = /obj/item/borg/upgrade/selfrepair - materials = list(MAT_METAL=15000, MAT_GLASS=15000) + materials = list(/datum/material/iron=15000, /datum/material/glass=15000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -683,7 +683,7 @@ id = "borg_upgrade_expandedsynthesiser" build_type = MECHFAB build_path = /obj/item/borg/upgrade/hypospray/expanded - materials = list(MAT_METAL=15000, MAT_GLASS=15000, MAT_PLASMA=5000) + materials = list(/datum/material/iron=15000, /datum/material/glass=15000, /datum/material/plasma=5000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -692,7 +692,7 @@ id = "borg_upgrade_highstrengthsynthesiser" build_type = MECHFAB build_path = /obj/item/borg/upgrade/hypospray/high_strength - materials = list(MAT_METAL=15000, MAT_GLASS=15000, MAT_PLASMA=10000, MAT_URANIUM=5000) + materials = list(/datum/material/iron=15000, /datum/material/glass=15000, /datum/material/plasma=10000, /datum/material/uranium=5000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -701,7 +701,7 @@ id = "borg_upgrade_piercinghypospray" build_type = MECHFAB build_path = /obj/item/borg/upgrade/piercing_hypospray - materials = list(MAT_METAL=15000, MAT_GLASS=15000, MAT_TITANIUM=10000, MAT_DIAMOND=5000) + materials = list(/datum/material/iron=15000, /datum/material/glass=15000, /datum/material/titanium=10000, /datum/material/diamond=5000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -710,7 +710,7 @@ id = "borg_upgrade_surgicalprocessor" build_type = MECHFAB build_path = /obj/item/borg/upgrade/processor - materials = list(MAT_METAL=15000, MAT_GLASS=15000, MAT_SILVER=10000) + materials = list(/datum/material/iron=15000, /datum/material/glass=15000, /datum/material/silver=10000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -719,7 +719,7 @@ id = "borg_upgrade_trashofholding" build_type = MECHFAB build_path = /obj/item/borg/upgrade/tboh - materials = list(MAT_METAL=10000, MAT_GOLD=1500, MAT_URANIUM=250, MAT_PLASMA=1500) + materials = list(/datum/material/iron=10000, /datum/material/gold=1500, /datum/material/uranium=250, /datum/material/plasma=1500) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -728,7 +728,7 @@ id = "borg_upgrade_advancedmop" build_type = MECHFAB build_path = /obj/item/borg/upgrade/amop - materials = list(MAT_METAL=10000, MAT_GLASS=200, MAT_TITANIUM=1000) + materials = list(/datum/material/iron=10000, /datum/material/glass=200, /datum/material/titanium=1000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -737,7 +737,7 @@ id = "borg_upgrade_expand" build_type = MECHFAB build_path = /obj/item/borg/upgrade/expand - materials = list(MAT_METAL=200000, MAT_TITANIUM=5000) + materials = list(/datum/material/iron=200000, /datum/material/titanium=5000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -746,7 +746,7 @@ id = "borg_ai_control" build_type = MECHFAB build_path = /obj/item/borg/upgrade/ai - materials = list(MAT_METAL = 1200, MAT_GLASS = 1500, MAT_GOLD = 200) + materials = list(/datum/material/iron = 1200, /datum/material/glass = 1500, /datum/material/gold = 200) construction_time = 50 category = list("Misc") @@ -755,7 +755,7 @@ id = "borg_upgrade_rped" build_type = MECHFAB build_path = /obj/item/borg/upgrade/rped - materials = list(MAT_METAL = 10000, MAT_GLASS = 5000) + materials = list(/datum/material/iron = 10000, /datum/material/glass = 5000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -764,7 +764,7 @@ id = "borg_upgrade_pinpointer" build_type = MECHFAB build_path = /obj/item/borg/upgrade/pinpointer - materials = list(MAT_METAL = 1000, MAT_GLASS = 500) + materials = list(/datum/material/iron = 1000, /datum/material/glass = 500) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -773,7 +773,7 @@ id = "borg_upgrade_advhealth" build_type = MECHFAB build_path = /obj/item/borg/upgrade/advhealth - materials = list(MAT_METAL=7500, MAT_GLASS=7500, MAT_SILVER=1000, MAT_GOLD=1000, MAT_TITANIUM=2000) + materials = list(/datum/material/iron=7500, /datum/material/glass=7500, /datum/material/silver=1000, /datum/material/gold=1000, /datum/material/titanium=2000) construction_time = 100 category = list("Cyborg Upgrade Modules") @@ -783,7 +783,7 @@ id = "mecha_tracking" build_type = MECHFAB build_path =/obj/item/mecha_parts/mecha_tracking - materials = list(MAT_METAL=500) + materials = list(/datum/material/iron=500) construction_time = 50 category = list("Misc") @@ -792,7 +792,7 @@ id = "mecha_tracking_ai_control" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_tracking/ai_control - materials = list(MAT_METAL = 1000, MAT_GLASS = 500, MAT_SILVER = 200) + materials = list(/datum/material/iron = 1000, /datum/material/glass = 500, /datum/material/silver = 200) construction_time = 50 category = list("Misc") @@ -801,7 +801,7 @@ desc = "When a problem arises, SCIENCE is the solution." id = "sflash" build_type = MECHFAB - materials = list(MAT_METAL = 750, MAT_GLASS = 750) + materials = list(/datum/material/iron = 750, /datum/material/glass = 750) construction_time = 100 build_path = /obj/item/assembly/flash/handheld category = list("Misc") diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index bef25456ca..af80aa6671 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -7,7 +7,7 @@ desc = "The Warrior's bland acronym, MMI, obscures the true horror of this monstrosity." id = "mmi" build_type = PROTOLATHE | MECHFAB - materials = list(MAT_METAL = 1000, MAT_GLASS = 500) + materials = list(/datum/material/iron = 1000, /datum/material/glass = 500) construction_time = 75 build_path = /obj/item/mmi category = list("Misc","Medical Designs") @@ -18,7 +18,7 @@ desc = "The latest in Artificial Intelligences." id = "mmi_posi" build_type = PROTOLATHE | MECHFAB - materials = list(MAT_METAL = 1700, MAT_GLASS = 1350, MAT_GOLD = 500) //Gold, because SWAG. + materials = list(/datum/material/iron = 1700, /datum/material/glass = 1350, /datum/material/gold = 500) //Gold, because SWAG. construction_time = 75 build_path = /obj/item/mmi/posibrain category = list("Misc", "Medical Designs") @@ -29,7 +29,7 @@ desc = "A bluespace beaker, powered by experimental bluespace technology and Element Cuban combined with the Compound Pete. Can hold up to 300 units." id = "bluespacebeaker" build_type = PROTOLATHE - materials = list(MAT_GLASS = 3000, MAT_PLASMA = 3000, MAT_DIAMOND = 250, MAT_BLUESPACE = 250) + materials = list(/datum/material/glass = 3000, /datum/material/plasma = 3000, /datum/material/diamond = 250, /datum/material/bluespace = 250) build_path = /obj/item/reagent_containers/glass/beaker/bluespace category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -39,7 +39,7 @@ desc = "A cryostasis beaker that allows for chemical storage without reactions. Can hold up to 50 units." id = "splitbeaker" build_type = PROTOLATHE - materials = list(MAT_METAL = 3000) + materials = list(/datum/material/iron = 3000) build_path = /obj/item/reagent_containers/glass/beaker/noreact category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -49,7 +49,7 @@ id = "xlarge_beaker" build_type = PROTOLATHE departmental_flags = DEPARTMENTAL_FLAG_MEDICAL - materials = list(MAT_GLASS = 2500, MAT_PLASTIC = 3000) + materials = list(/datum/material/glass = 2500, /datum/material/plastic = 3000) build_path = /obj/item/reagent_containers/glass/beaker/plastic category = list("Medical Designs") @@ -58,7 +58,7 @@ id = "meta_beaker" build_type = PROTOLATHE departmental_flags = DEPARTMENTAL_FLAG_MEDICAL - materials = list(MAT_GLASS = 2500, MAT_PLASTIC = 3000, MAT_GOLD = 1000, MAT_TITANIUM = 1000) + materials = list(/datum/material/glass = 2500, /datum/material/plastic = 3000, /datum/material/gold = 1000, /datum/material/titanium = 1000) build_path = /obj/item/reagent_containers/glass/beaker/meta category = list("Medical Designs") @@ -67,7 +67,7 @@ desc = "An advanced syringe that can hold 60 units of chemicals" id = "bluespacesyringe" build_type = PROTOLATHE - materials = list(MAT_GLASS = 2000, MAT_PLASMA = 1000, MAT_DIAMOND = 1000, MAT_BLUESPACE = 500) + materials = list(/datum/material/glass = 2000, /datum/material/plasma = 1000, /datum/material/diamond = 1000, /datum/material/bluespace = 500) build_path = /obj/item/reagent_containers/syringe/bluespace category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -77,7 +77,7 @@ desc = "An advanced syringe that stops reagents inside from reacting. It can hold up to 20 units." id = "noreactsyringe" build_type = PROTOLATHE - materials = list(MAT_GLASS = 2000, MAT_GOLD = 1000) + materials = list(/datum/material/glass = 2000, /datum/material/gold = 1000) build_path = /obj/item/reagent_containers/syringe/noreact category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -87,7 +87,7 @@ desc = "A diamond-tipped syringe that pierces armor when launched at high velocity. It can hold up to 10 units." id = "piercesyringe" build_type = PROTOLATHE - materials = list(MAT_GLASS = 2000, MAT_DIAMOND = 1000) + materials = list(/datum/material/glass = 2000, /datum/material/diamond = 1000) build_path = /obj/item/reagent_containers/syringe/piercing category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -97,7 +97,7 @@ desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient using it's smart nanofilter technology only medicines contained within the dart are administered to the patient. Additonally, due to capillary action, injection of chemicals past the overdose limit is prevented." id = "medicinalsmartdart" build_type = PROTOLATHE - materials = list(MAT_GLASS = 100, MAT_PLASTIC = 100, MAT_METAL = 100) + materials = list(/datum/material/glass = 100, /datum/material/plastic = 100, /datum/material/iron = 100) build_path = /obj/item/reagent_containers/syringe/dart category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -107,7 +107,7 @@ desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient using it's smart nanofilter technology only medicines contained within the dart are administered to the patient. Additonally, due to capillary action, injection of chemicals past the overdose limit is prevented. Has an extended volume capacity thanks to bluespace foam." id = "bluespacesmartdart" build_type = PROTOLATHE - materials = list(MAT_GLASS = 250, MAT_PLASTIC = 250, MAT_METAL = 250, MAT_BLUESPACE = 250) + materials = list(/datum/material/glass = 250, /datum/material/plastic = 250, /datum/material/iron = 250, /datum/material/bluespace = 250) build_path = /obj/item/reagent_containers/syringe/dart/bluespace category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -117,7 +117,7 @@ desc = "A compressed air gun, designed to fit medicinal darts for application of medicine for those patients just out of reach." id = "smartdartgun" build_type = PROTOLATHE - materials = list(MAT_GLASS = 500, MAT_PLASTIC = 1000, MAT_METAL = 500) + materials = list(/datum/material/glass = 500, /datum/material/plastic = 1000, /datum/material/iron = 500) build_path = /obj/item/gun/syringe/dart category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -127,7 +127,7 @@ desc = "A bluespace body bag, powered by experimental bluespace technology. It can hold loads of bodies and the largest of creatures." id = "bluespacebodybag" build_type = PROTOLATHE - materials = list(MAT_METAL = 3000, MAT_PLASMA = 2000, MAT_DIAMOND = 500, MAT_BLUESPACE = 500) + materials = list(/datum/material/iron = 3000, /datum/material/plasma = 2000, /datum/material/diamond = 500, /datum/material/bluespace = 500) build_path = /obj/item/bodybag/bluespace category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -137,7 +137,7 @@ desc = "A refill pack for the auto-extinguisher on Plasma-man suits." id = "plasmarefiller" //Why did this have no plasmatech build_type = PROTOLATHE - materials = list(MAT_METAL = 4000, MAT_PLASMA = 1000) + materials = list(/datum/material/iron = 4000, /datum/material/plasma = 1000) build_path = /obj/item/extinguisher_refill category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_ALL @@ -147,7 +147,7 @@ desc = "Allows tracking of someone's location if their suit sensors are turned to tracking beacon." id = "crewpinpointer" build_type = PROTOLATHE - materials = list(MAT_METAL = 3000, MAT_GLASS = 1500, MAT_GOLD = 200) + materials = list(/datum/material/iron = 3000, /datum/material/glass = 1500, /datum/material/gold = 200) build_path = /obj/item/pinpointer/crew category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -157,7 +157,7 @@ desc = "An IV drip with an advanced infusion pump that can both drain blood into and inject liquids from attached containers. Blood packs are processed at an accelerated rate. This one is telescopic, and can be picked up and put down." id = "telescopiciv" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 3500, MAT_SILVER = 1000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 3500, /datum/material/silver = 1000) build_path = /obj/item/tele_iv category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -168,7 +168,7 @@ id = "healthanalyzer_advanced" build_path = /obj/item/healthanalyzer/advanced build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 2500, MAT_SILVER = 2000, MAT_GOLD = 1500) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 2500, /datum/material/silver = 2000, /datum/material/gold = 1500) category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -178,7 +178,7 @@ id = "medspray" build_path = /obj/item/reagent_containers/medspray build_type = PROTOLATHE - materials = list(MAT_METAL = 2500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 2500, /datum/material/glass = 500) category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -187,7 +187,7 @@ desc = "A plastic medical kit for storging medical items." id = "medicalkit" build_type = PROTOLATHE - materials = list(MAT_PLASTIC = 5000) + materials = list(/datum/material/plastic = 5000) build_path = /obj/item/storage/firstaid //So we dont spawn medical items in it category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -198,7 +198,7 @@ id = "blood_bag" build_path = /obj/item/reagent_containers/blood build_type = PROTOLATHE - materials = list(MAT_GLASS = 1500, MAT_PLASTIC = 3500) + materials = list(/datum/material/glass = 1500, /datum/material/plastic = 3500) category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -208,7 +208,7 @@ id = "bsblood_bag" build_path = /obj/item/reagent_containers/blood/bluespace build_type = PROTOLATHE - materials = list(MAT_GLASS = 2500, MAT_PLASTIC = 4500, MAT_BLUESPACE = 250) + materials = list(/datum/material/glass = 2500, /datum/material/plastic = 4500, /datum/material/bluespace = 250) category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -217,7 +217,7 @@ desc = "Produce additional disks for storing genetic data." id = "cloning_disk" build_type = PROTOLATHE - materials = list(MAT_METAL = 300, MAT_GLASS = 100, MAT_SILVER = 50) + materials = list(/datum/material/iron = 300, /datum/material/glass = 100, /datum/material/silver=50) build_path = /obj/item/disk/data category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -227,7 +227,7 @@ desc = "A large cool box that can hold large amouts of medical tools or organs." id = "organbox" build_type = PROTOLATHE - materials = list(MAT_METAL = 3000, MAT_GLASS = 1000, MAT_SILVER= 3500, MAT_GOLD = 3500, MAT_PLASTIC = 5000) + materials = list(/datum/material/iron = 3000, /datum/material/glass = 1000, /datum/material/silver= 3500, /datum/material/gold = 3500, /datum/material/plastic = 5000) build_path = /obj/item/storage/belt/organbox category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -242,7 +242,7 @@ id = "defibrillator" build_type = PROTOLATHE build_path = /obj/item/defibrillator - materials = list(MAT_METAL = 8000, MAT_GLASS = 4000, MAT_SILVER = 3000, MAT_GOLD = 1500) + materials = list(/datum/material/iron = 8000, /datum/material/glass = 4000, /datum/material/silver = 3000, /datum/material/gold = 1500) category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -251,7 +251,7 @@ desc = "An all-in-one mounted frame for holding defibrillators, complete with ID-locked clamps and recharging cables." id = "defibmount" build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 2000, /datum/material/glass = 1000) build_path = /obj/item/wallframe/defib_mount category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -261,7 +261,7 @@ desc = "An upgrade which increases the healing power of the defibrillator." id = "defib_heal" build_type = PROTOLATHE - materials = list(MAT_METAL = 16000, MAT_GLASS = 18000, MAT_GOLD = 6000, MAT_SILVER = 6000) + materials = list(/datum/material/iron = 16000, /datum/material/glass = 18000, /datum/material/gold = 6000, /datum/material/silver = 6000) build_path = /obj/item/disk/medical/defib_heal construction_time = 10 category = list("Misc") @@ -272,7 +272,7 @@ desc = "A safety upgrade that guarantees only the patient will get shocked." id = "defib_shock" build_type = PROTOLATHE - materials = list(MAT_METAL = 16000, MAT_GLASS = 18000, MAT_GOLD = 6000, MAT_SILVER = 6000) + materials = list(/datum/material/iron = 16000, /datum/material/glass = 18000, /datum/material/gold = 6000, /datum/material/silver = 6000) build_path = /obj/item/disk/medical/defib_shock construction_time = 10 category = list("Misc") @@ -283,7 +283,7 @@ desc = "An upgrade allowing the defibrillator to work on more decayed bodies." id = "defib_decay" build_type = PROTOLATHE - materials = list(MAT_METAL = 16000, MAT_GLASS = 18000, MAT_GOLD = 16000, MAT_SILVER = 6000, MAT_TITANIUM = 2000) + materials = list(/datum/material/iron = 16000, /datum/material/glass = 18000, /datum/material/gold = 16000, /datum/material/silver = 6000, /datum/material/titanium = 2000) build_path = /obj/item/disk/medical/defib_decay construction_time = 10 category = list("Misc") @@ -295,7 +295,7 @@ id = "defib_speed" build_type = PROTOLATHE build_path = /obj/item/disk/medical/defib_speed - materials = list(MAT_METAL = 16000, MAT_GLASS = 8000, MAT_GOLD = 26000, MAT_SILVER = 26000) + materials = list(/datum/material/iron = 16000, /datum/material/glass = 8000, /datum/material/gold = 26000, /datum/material/silver = 26000) construction_time = 10 category = list("Misc") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -306,7 +306,7 @@ id = "defibrillator_compact" build_type = PROTOLATHE build_path = /obj/item/defibrillator/compact - materials = list(MAT_METAL = 16000, MAT_GLASS = 8000, MAT_SILVER = 6000, MAT_GOLD = 3000) + materials = list(/datum/material/iron = 16000, /datum/material/glass = 8000, /datum/material/silver = 6000, /datum/material/gold = 3000) category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -320,7 +320,7 @@ id = "ci-welding" build_type = PROTOLATHE | MECHFAB construction_time = 40 - materials = list(MAT_METAL = 600, MAT_GLASS = 400) + materials = list(/datum/material/iron = 600, /datum/material/glass = 400) build_path = /obj/item/organ/eyes/robotic/shield category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -331,7 +331,7 @@ id = "ci-gloweyes" build_type = PROTOLATHE | MECHFAB construction_time = 40 - materials = list(MAT_METAL = 600, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 600, /datum/material/glass = 1000) build_path = /obj/item/organ/eyes/robotic/glow category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -342,7 +342,7 @@ id = "ci-breather" build_type = PROTOLATHE | MECHFAB construction_time = 35 - materials = list(MAT_METAL = 600, MAT_GLASS = 250) + materials = list(/datum/material/iron = 600, /datum/material/glass = 250) build_path = /obj/item/organ/cyberimp/mouth/breathing_tube category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -352,7 +352,7 @@ desc = "A set of surgical tools hidden behind a concealed panel on the user's arm." id = "ci-surgery" build_type = PROTOLATHE | MECHFAB - materials = list (MAT_METAL = 2500, MAT_GLASS = 1500, MAT_SILVER = 1500) + materials = list (/datum/material/iron = 2500, /datum/material/glass = 1500, /datum/material/silver = 1500) construction_time = 200 build_path = /obj/item/organ/cyberimp/arm/surgery category = list("Misc", "Medical Designs") @@ -363,7 +363,7 @@ desc = "A stripped-down version of engineering cyborg toolset, designed to be installed on subject's arm." id = "ci-toolset" build_type = PROTOLATHE | MECHFAB - materials = list (MAT_METAL = 2500, MAT_GLASS = 1500, MAT_SILVER = 1500) + materials = list (/datum/material/iron = 2500, /datum/material/glass = 1500, /datum/material/silver = 1500) construction_time = 200 build_path = /obj/item/organ/cyberimp/arm/toolset category = list("Misc", "Medical Designs") @@ -375,7 +375,7 @@ id = "ci-medhud" build_type = PROTOLATHE | MECHFAB construction_time = 50 - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 500, MAT_GOLD = 500) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/silver = 500, /datum/material/gold = 500) build_path = /obj/item/organ/cyberimp/eyes/hud/medical category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -386,7 +386,7 @@ id = "ci-sechud" build_type = PROTOLATHE | MECHFAB construction_time = 50 - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 750, MAT_GOLD = 750) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/silver = 750, /datum/material/gold = 750) build_path = /obj/item/organ/cyberimp/eyes/hud/security category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -397,7 +397,7 @@ id = "ci-xray" build_type = PROTOLATHE | MECHFAB construction_time = 60 - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 600, MAT_GOLD = 600, MAT_PLASMA = 1000, MAT_URANIUM = 1000, MAT_DIAMOND = 1000, MAT_BLUESPACE = 1000) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/silver = 600, /datum/material/gold = 600, /datum/material/plasma = 1000, /datum/material/uranium = 1000, /datum/material/diamond = 1000, /datum/material/bluespace = 1000) build_path = /obj/item/organ/eyes/robotic/xray category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -408,7 +408,7 @@ id = "ci-thermals" build_type = PROTOLATHE | MECHFAB construction_time = 60 - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 600, MAT_GOLD = 600, MAT_PLASMA = 1000, MAT_DIAMOND = 2000) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/silver = 600, /datum/material/gold = 600, /datum/material/plasma = 1000, /datum/material/diamond = 2000) build_path = /obj/item/organ/eyes/robotic/thermals category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -419,7 +419,7 @@ id = "ci-antidrop" build_type = PROTOLATHE | MECHFAB construction_time = 60 - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 400, MAT_GOLD = 400) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/silver = 400, /datum/material/gold = 400) build_path = /obj/item/organ/cyberimp/brain/anti_drop category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -430,7 +430,7 @@ id = "ci-antistun" build_type = PROTOLATHE | MECHFAB construction_time = 60 - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 500, MAT_GOLD = 1000) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/silver = 500, /datum/material/gold = 1000) build_path = /obj/item/organ/cyberimp/brain/anti_stun category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -441,7 +441,7 @@ id = "ci-nutriment" build_type = PROTOLATHE | MECHFAB construction_time = 40 - materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_GOLD = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500, /datum/material/gold = 500) build_path = /obj/item/organ/cyberimp/chest/nutriment category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -452,7 +452,7 @@ id = "ci-nutrimentplus" build_type = PROTOLATHE | MECHFAB construction_time = 50 - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_GOLD = 500, MAT_URANIUM = 750) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/gold = 500, /datum/material/uranium = 750) build_path = /obj/item/organ/cyberimp/chest/nutriment/plus category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -463,7 +463,7 @@ id = "ci-reviver" build_type = PROTOLATHE | MECHFAB construction_time = 60 - materials = list(MAT_METAL = 800, MAT_GLASS = 800, MAT_GOLD = 300, MAT_URANIUM = 500) + materials = list(/datum/material/iron = 800, /datum/material/glass = 800, /datum/material/gold = 300, /datum/material/uranium = 500) build_path = /obj/item/organ/cyberimp/chest/reviver category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -474,7 +474,7 @@ id = "ci-thrusters" build_type = PROTOLATHE | MECHFAB construction_time = 80 - materials = list(MAT_METAL = 4000, MAT_GLASS = 2000, MAT_SILVER = 1000, MAT_DIAMOND = 1000) + materials = list(/datum/material/iron = 4000, /datum/material/glass = 2000, /datum/material/silver = 1000, /datum/material/diamond = 1000) build_path = /obj/item/organ/cyberimp/chest/thrusters category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -488,7 +488,7 @@ desc = "A sterile automatic implant injector." id = "implanter" build_type = PROTOLATHE - materials = list(MAT_METAL = 600, MAT_GLASS = 200) + materials = list(/datum/material/iron = 600, /datum/material/glass = 200) build_path = /obj/item/implanter category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL @@ -498,7 +498,7 @@ desc = "A glass case for containing an implant." id = "implantcase" build_type = PROTOLATHE - materials = list(MAT_GLASS = 500) + materials = list(/datum/material/glass = 500) build_path = /obj/item/implantcase category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL @@ -508,7 +508,7 @@ desc = "Makes death amusing." id = "implant_trombone" build_type = PROTOLATHE - materials = list(MAT_GLASS = 500, MAT_BANANIUM = 500) + materials = list(/datum/material/glass = 500, /datum/material/bananium = 500) build_path = /obj/item/implantcase/sad_trombone category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_ALL //if you get bananium you get the sad trombones. @@ -518,7 +518,7 @@ desc = "A glass case containing an implant." id = "implant_chem" build_type = PROTOLATHE - materials = list(MAT_GLASS = 700) + materials = list(/datum/material/glass = 700) build_path = /obj/item/implantcase/chem category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL @@ -528,7 +528,7 @@ desc = "A glass case containing an implant." id = "implant_tracking" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/implantcase/track category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL @@ -540,7 +540,7 @@ desc = "A cybernetic liver" id = "cybernetic_liver" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/organ/liver/cybernetic category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -550,7 +550,7 @@ desc = "A cybernetic heart" id = "cybernetic_heart" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/organ/heart/cybernetic category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -561,7 +561,7 @@ id = "cybernetic_heart_u" build_type = PROTOLATHE | MECHFAB construction_time = 50 - materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500, /datum/material/silver = 500) build_path = /obj/item/organ/heart/cybernetic/upgraded category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -571,7 +571,7 @@ desc = "An upgraded cybernetic liver" id = "cybernetic_liver_u" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/organ/liver/cybernetic/upgraded category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -581,7 +581,7 @@ desc = "A pair of cybernetic lungs." id = "cybernetic_lungs" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/organ/lungs/cybernetic category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -591,7 +591,7 @@ desc = "A pair of upgraded cybernetic lungs." id = "cybernetic_lungs_u" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500, /datum/material/silver = 500) build_path = /obj/item/organ/lungs/cybernetic/upgraded category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -601,7 +601,7 @@ desc = "A fancy cybernetic tongue." id = "cybernetic_tongue" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/organ/tongue/cybernetic category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -612,7 +612,7 @@ id = "cybernetic_ears" build_type = PROTOLATHE | MECHFAB construction_time = 30 - materials = list(MAT_METAL = 250, MAT_GLASS = 400) + materials = list(/datum/material/iron = 250, /datum/material/glass = 400) build_path = /obj/item/organ/ears/cybernetic category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -623,7 +623,7 @@ id = "cybernetic_ears_u" build_type = PROTOLATHE | MECHFAB construction_time = 40 - materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500, /datum/material/silver = 500) build_path = /obj/item/organ/ears/cybernetic/upgraded category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -802,7 +802,7 @@ desc = "Basic outdated and fragile prosthetic left arm." id = "basic_l_arm" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 2500) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 2500) construction_time = 20 build_path = /obj/item/bodypart/l_arm/robot/surplus category = list("Medical Designs") @@ -813,7 +813,7 @@ desc = "Basic outdated and fragile prosthetic left arm." id = "basic_r_arm" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 2500) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 2500) construction_time = 20 build_path = /obj/item/bodypart/r_arm/robot/surplus category = list("Medical Designs") @@ -824,7 +824,7 @@ desc = "Basic outdated and fragile prosthetic left leg." id = "basic_l_leg" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 2500) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 2500) construction_time = 20 build_path = /obj/item/bodypart/l_leg/robot/surplus category = list("Medical Designs") @@ -835,7 +835,7 @@ desc = "Basic outdated and fragile prosthetic right leg." id = "basic_r_leg" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 2500) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 2500) construction_time = 20 build_path = /obj/item/bodypart/r_leg/robot/surplus category = list("Medical Designs") @@ -846,7 +846,7 @@ desc = "A renforced prosthetic right leg." id = "adv_r_leg" build_type = PROTOLATHE - materials = list(MAT_METAL = 6000, MAT_GLASS = 3500, MAT_GOLD = 500, MAT_TITANIUM = 800) + materials = list(/datum/material/iron = 6000, /datum/material/glass = 3500, /datum/material/gold = 500, /datum/material/titanium = 800) construction_time = 40 build_path = /obj/item/bodypart/r_leg/robot/surplus_upgraded category = list("Medical Designs") @@ -857,7 +857,7 @@ desc = "A renforced prosthetic left leg." id = "adv_l_leg" build_type = PROTOLATHE - materials = list(MAT_METAL = 6000, MAT_GLASS = 3500, MAT_GOLD = 500, MAT_TITANIUM = 800) + materials = list(/datum/material/iron = 6000, /datum/material/glass = 3500, /datum/material/gold = 500, /datum/material/titanium = 800) construction_time = 40 build_path = /obj/item/bodypart/l_leg/robot/surplus_upgraded category = list("Medical Designs") @@ -868,7 +868,7 @@ desc = "A renforced prosthetic left arm." id = "adv_l_arm" build_type = PROTOLATHE - materials = list(MAT_METAL = 6000, MAT_GLASS = 3500, MAT_GOLD = 500, MAT_TITANIUM = 800) + materials = list(/datum/material/iron = 6000, /datum/material/glass = 3500, /datum/material/gold = 500, /datum/material/titanium = 800) construction_time = 40 build_path = /obj/item/bodypart/l_arm/robot/surplus_upgraded category = list("Medical Designs") @@ -879,7 +879,7 @@ desc = "A renforced prosthetic right arm." id = "adv_r_arm" build_type = PROTOLATHE - materials = list(MAT_METAL = 6000, MAT_GLASS = 3500, MAT_GOLD = 500, MAT_TITANIUM = 800) + materials = list(/datum/material/iron = 6000, /datum/material/glass = 3500, /datum/material/gold = 500, /datum/material/titanium = 800) construction_time = 40 build_path = /obj/item/bodypart/r_arm/robot/surplus_upgraded category = list("Medical Designs") diff --git a/code/modules/research/designs/mining_designs.dm b/code/modules/research/designs/mining_designs.dm index 69e695afac..53fa5b21ea 100644 --- a/code/modules/research/designs/mining_designs.dm +++ b/code/modules/research/designs/mining_designs.dm @@ -7,7 +7,7 @@ desc = "Allows for the construction of circuit boards used to build an Express Supply Console."//who? id = "cargoexpress"//the coder reading this build_type = IMPRINTER - materials = list(MAT_GLASS = 1000) + materials = list(/datum/material/glass = 1000) build_path = /obj/item/circuitboard/computer/cargo/express category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -17,7 +17,7 @@ desc = "Allows the Cargo Express Console to call down the Bluespace Drop Pod, greatly increasing user safety."//who? id = "bluespace_pod"//the coder reading this build_type = PROTOLATHE - materials = list(MAT_GLASS = 1000) + materials = list(/datum/material/glass = 1000) build_path = /obj/item/disk/cargo/bluespace_pod category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -27,7 +27,7 @@ desc = "Yours is the drill that will pierce through the rock walls." id = "drill" build_type = PROTOLATHE - materials = list(MAT_METAL = 6000, MAT_GLASS = 1000) //expensive, but no need for miners. + materials = list(/datum/material/iron = 6000, /datum/material/glass = 1000) //expensive, but no need for miners. build_path = /obj/item/pickaxe/drill category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -37,7 +37,7 @@ desc = "Yours is the drill that will pierce the heavens!" id = "drill_diamond" build_type = PROTOLATHE - materials = list(MAT_METAL = 6000, MAT_GLASS = 1000, MAT_DIAMOND = 2000) //Yes, a whole diamond is needed. + materials = list(/datum/material/iron = 6000, /datum/material/glass = 1000, /datum/material/diamond = 2000) //Yes, a whole diamond is needed. build_path = /obj/item/pickaxe/drill/diamonddrill category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -47,7 +47,7 @@ desc = "You could use it to cut limbs off of xenos! Or, you know, mine stuff." id = "plasmacutter" build_type = PROTOLATHE - materials = list(MAT_METAL = 1500, MAT_GLASS = 500, MAT_PLASMA = 400) + materials = list(/datum/material/iron = 1500, /datum/material/glass = 500, /datum/material/plasma = 400) build_path = /obj/item/gun/energy/plasmacutter category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -57,7 +57,7 @@ desc = "It's an advanced plasma cutter, oh my god." id = "plasmacutter_adv" build_type = PROTOLATHE - materials = list(MAT_METAL = 3000, MAT_GLASS = 1000, MAT_PLASMA = 2000, MAT_GOLD = 500) + materials = list(/datum/material/iron = 3000, /datum/material/glass = 1000, /datum/material/plasma = 2000, /datum/material/gold = 500) build_path = /obj/item/gun/energy/plasmacutter/adv category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -67,7 +67,7 @@ desc = "A pickaxe with a plasteel pick head. Less robust at cracking rock walls and digging up dirt than the titanium pickaxe, but better at cracking open skulls." id = "plasteel_pick" build_type = PROTOLATHE - materials = list(MAT_METAL=2000, MAT_PLASMA=2000) + materials = list(/datum/material/iron=2000, /datum/material/plasma=2000) build_path = /obj/item/pickaxe/plasteel category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -77,7 +77,7 @@ desc = "A pickaxe with a titanium pick head. Extremely robust at cracking rock walls and digging up dirt, but less than the plasteel pickaxe at cracking open skulls." id = "titanium_pick" build_type = PROTOLATHE - materials = list(MAT_TITANIUM = 4000) + materials = list(/datum/material/titanium = 4000) build_path = /obj/item/pickaxe/titanium category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -87,7 +87,7 @@ desc = "Essentially a handheld planet-cracker. Can drill through walls with ease as well." id = "jackhammer" build_type = PROTOLATHE - materials = list(MAT_METAL = 6000, MAT_GLASS = 2000, MAT_SILVER = 2000, MAT_DIAMOND = 6000) + materials = list(/datum/material/iron = 6000, /datum/material/glass = 2000, /datum/material/silver = 2000, /datum/material/diamond = 6000) build_path = /obj/item/pickaxe/drill/jackhammer category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -97,7 +97,7 @@ desc = "An upgraded version of the resonator that allows more fields to be active at once." id = "superresonator" build_type = PROTOLATHE - materials = list(MAT_METAL = 4000, MAT_GLASS = 1500, MAT_SILVER = 1000, MAT_URANIUM = 1000) + materials = list(/datum/material/iron = 4000, /datum/material/glass = 1500, /datum/material/silver = 1000, /datum/material/uranium = 1000) build_path = /obj/item/resonator/upgraded category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -107,7 +107,7 @@ desc = "A device which allows kinetic accelerators to be wielded by any organism." id = "triggermod" build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_GLASS = 1500, MAT_GOLD = 1500, MAT_URANIUM = 1000) + materials = list(/datum/material/iron = 2000, /datum/material/glass = 1500, /datum/material/gold = 1500, /datum/material/uranium = 1000) build_path = /obj/item/borg/upgrade/modkit/trigger_guard category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -117,7 +117,7 @@ desc = "A device which allows kinetic accelerators to deal more damage." id = "damagemod" build_type = PROTOLATHE | MECHFAB - materials = list(MAT_METAL = 2000, MAT_GLASS = 1500, MAT_GOLD = 1500, MAT_URANIUM = 1000) + materials = list(/datum/material/iron = 2000, /datum/material/glass = 1500, /datum/material/gold = 1500, /datum/material/uranium = 1000) build_path = /obj/item/borg/upgrade/modkit/damage category = list("Mining Designs", "Cyborg Upgrade Modules") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -127,7 +127,7 @@ desc = "A device which decreases the cooldown of a Kinetic Accelerator." id = "cooldownmod" build_type = PROTOLATHE | MECHFAB - materials = list(MAT_METAL = 2000, MAT_GLASS = 1500, MAT_GOLD = 1500, MAT_URANIUM = 1000) + materials = list(/datum/material/iron = 2000, /datum/material/glass = 1500, /datum/material/gold = 1500, /datum/material/uranium = 1000) build_path = /obj/item/borg/upgrade/modkit/cooldown category = list("Mining Designs", "Cyborg Upgrade Modules") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -137,7 +137,7 @@ desc = "A device which allows kinetic accelerators to fire at a further range." id = "rangemod" build_type = PROTOLATHE | MECHFAB - materials = list(MAT_METAL = 2000, MAT_GLASS = 1500, MAT_GOLD = 1500, MAT_URANIUM = 1000) + materials = list(/datum/material/iron = 2000, /datum/material/glass = 1500, /datum/material/gold = 1500, /datum/material/uranium = 1000) build_path = /obj/item/borg/upgrade/modkit/range category = list("Mining Designs", "Cyborg Upgrade Modules") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -147,7 +147,7 @@ desc = "A modification kit for Kinetic Accelerators which causes it to fire AoE blasts that destroy rock." id = "hypermod" build_type = PROTOLATHE | MECHFAB - materials = list(MAT_METAL = 8000, MAT_GLASS = 1500, MAT_SILVER = 2000, MAT_GOLD = 2000, MAT_DIAMOND = 2000) + materials = list(/datum/material/iron = 8000, /datum/material/glass = 1500, /datum/material/silver = 2000, /datum/material/gold = 2000, /datum/material/diamond = 2000) build_path = /obj/item/borg/upgrade/modkit/aoe/turfs category = list("Mining Designs", "Cyborg Upgrade Modules") departmental_flags = DEPARTMENTAL_FLAG_CARGO diff --git a/code/modules/research/designs/misc_designs.dm b/code/modules/research/designs/misc_designs.dm index 72b2c91e4c..c18c33b04b 100644 --- a/code/modules/research/designs/misc_designs.dm +++ b/code/modules/research/designs/misc_designs.dm @@ -7,7 +7,7 @@ desc = "A heads-up display that scans the humans in view and provides accurate data about their health status." id = "health_hud" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/clothing/glasses/hud/health category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -17,7 +17,7 @@ desc = "A heads-up display that scans the humans in view and provides accurate data about their health status. This one has a prescription lens." id = "health_hud_prescription" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 350) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500, /datum/material/silver = 350) build_path = /obj/item/clothing/glasses/hud/health/prescription category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -27,7 +27,7 @@ desc = "An advanced medical head-up display that allows doctors to find patients in complete darkness." id = "health_hud_night" build_type = PROTOLATHE - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_URANIUM = 1000, MAT_SILVER = 350) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/uranium = 1000, /datum/material/silver = 350) build_path = /obj/item/clothing/glasses/hud/health/night category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -37,7 +37,7 @@ desc = "A heads-up display that scans the humans in view and provides accurate data about their ID status." id = "security_hud" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/clothing/glasses/hud/security category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -47,7 +47,7 @@ desc = "A heads-up display that scans the humans in view and provides accurate data about their ID status. This one has a prescription lens." id = "security_hud_prescription" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 350) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500, /datum/material/silver = 350) build_path = /obj/item/clothing/glasses/hud/security/prescription category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -57,7 +57,7 @@ desc = "A heads-up display which provides id data and vision in complete darkness." id = "security_hud_night" build_type = PROTOLATHE - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_URANIUM = 1000, MAT_GOLD = 350) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/uranium = 1000, /datum/material/gold = 350) build_path = /obj/item/clothing/glasses/hud/security/night category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -67,7 +67,7 @@ desc = "A HUD used to analyze and determine faults within robotic machinery." id = "diagnostic_hud" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/clothing/glasses/hud/diagnostic category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -77,7 +77,7 @@ desc = "A HUD used to analyze and determine faults within robotic machinery. This one has a prescription lens." id = "diagnostic_hud_prescription" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_GOLD = 350) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500, /datum/material/gold = 350) build_path = /obj/item/clothing/glasses/hud/diagnostic/prescription category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -87,7 +87,7 @@ desc = "Upgraded version of the diagnostic HUD designed to function during a power failure." id = "diagnostic_hud_night" build_type = PROTOLATHE - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_URANIUM = 1000, MAT_PLASMA = 300) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/uranium = 1000, /datum/material/plasma = 300) build_path = /obj/item/clothing/glasses/hud/diagnostic/night category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -97,7 +97,7 @@ desc = "Goggles fitted with a portable analyzer capable of determining the research worth of an item or components of a machine." id = "scigoggles" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/clothing/glasses/science category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -107,7 +107,7 @@ desc = "Used by engineering and mining staff to see basic structural and terrain layouts through walls, regardless of lighting condition." id = "mesons" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/clothing/glasses/meson category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_ENGINEERING @@ -117,7 +117,7 @@ desc = "Used by engineering and mining staff to see basic structural and terrain layouts through walls, regardless of lighting condition. Prescription lens has been added into this design." id = "mesons_prescription" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 350) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500, /datum/material/silver = 350) build_path = /obj/item/clothing/glasses/meson/prescription category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_ENGINEERING @@ -127,7 +127,7 @@ desc = "Goggles used by engineers. The Meson Scanner mode lets you see basic structural and terrain layouts through walls, regardless of lighting condition. The T-ray Scanner mode lets you see underfloor objects such as cables and pipes." id = "engine_goggles" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_PLASMA = 100) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500, /datum/material/plasma = 100) build_path = /obj/item/clothing/glasses/meson/engine category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -137,7 +137,7 @@ desc = "Goggles used by engineers. The Meson Scanner mode lets you see basic structural and terrain layouts through walls, regardless of lighting condition. The T-ray Scanner mode lets you see underfloor objects such as cables and pipes. Prescription lens has been added into this design." id = "engine_goggles_prescription" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_PLASMA = 100, MAT_SILVER = 350) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500, /datum/material/plasma = 100, /datum/material/silver = 350) build_path = /obj/item/clothing/glasses/meson/engine/prescription category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -147,7 +147,7 @@ desc = "Used by engineering staff to see underfloor objects such as cables and pipes." id = "tray_goggles" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/clothing/glasses/meson/engine/tray category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -157,7 +157,7 @@ desc = "Used by engineering staff to see underfloor objects such as cables and pipes. Prescription lens has been added into this design." id = "tray_goggles_prescription" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 150) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500, /datum/material/silver = 150) build_path = /obj/item/clothing/glasses/meson/engine/tray/prescription category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -167,7 +167,7 @@ desc = "Prototype meson scanners fitted with an extra sensor which amplifies the visible light spectrum and overlays it to the UHD display." id = "nvgmesons" build_type = PROTOLATHE - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_PLASMA = 350, MAT_URANIUM = 1000) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/plasma = 350, /datum/material/uranium = 1000) build_path = /obj/item/clothing/glasses/meson/night category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_CARGO @@ -177,7 +177,7 @@ desc = "Goggles that let you see through darkness unhindered." id = "night_visision_goggles" build_type = PROTOLATHE - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_PLASMA = 350, MAT_URANIUM = 1000) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/plasma = 350, /datum/material/uranium = 1000) build_path = /obj/item/clothing/glasses/night category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_SECURITY @@ -187,7 +187,7 @@ desc = "Goggles that let you see through darkness unhindered. Corrects vision." id = "night_visision_goggles_glasses" build_type = PROTOLATHE - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_PLASMA = 350, MAT_URANIUM = 1000) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/plasma = 350, /datum/material/uranium = 1000) build_path = /obj/item/clothing/glasses/night/prescription category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_ENGINEERING @@ -201,7 +201,7 @@ desc = "A gas mask with built in welding goggles and face shield. Looks like a skull, clearly designed by a nerd." id = "weldingmask" build_type = PROTOLATHE - materials = list(MAT_METAL = 3000, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 3000, /datum/material/glass = 1000) build_path = /obj/item/clothing/mask/gas/welding category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -211,7 +211,7 @@ desc = "For the enterprising botanist on the go. Less efficient than the stationary model, it creates one seed per plant." id = "portaseeder" build_type = PROTOLATHE - materials = list(MAT_METAL = 1000, MAT_GLASS = 400) + materials = list(/datum/material/iron = 1000, /datum/material/glass = 400) build_path = /obj/item/storage/bag/plants/portaseeder category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -221,7 +221,7 @@ desc = "Damn son, where'd you find this?" id = "air_horn" build_type = PROTOLATHE - materials = list(MAT_METAL = 4000, MAT_BANANIUM = 1000) + materials = list(/datum/material/iron = 4000, /datum/material/bananium = 1000) build_path = /obj/item/bikehorn/airhorn category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ALL //HONK! @@ -231,7 +231,7 @@ desc = "Magnetic boots, often used during extravehicular activity to ensure the user remains safely attached to the vehicle." id = "magboots" build_type = PROTOLATHE - materials = list(MAT_METAL = 4500, MAT_SILVER = 1500, MAT_GOLD = 2500) + materials = list(/datum/material/iron = 4500, /datum/material/silver = 1500, /datum/material/gold = 2500) build_path = /obj/item/clothing/shoes/magboots category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -241,7 +241,7 @@ desc = "Goggles fitted with a portable analyzer capable of determining the research worth of an item or components of a machine." id = "scigoggles" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/clothing/glasses/science category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -251,7 +251,7 @@ desc = "A disk for storing plant genetic data." id = "diskplantgene" build_type = PROTOLATHE | AUTOLATHE - materials = list(MAT_METAL=200, MAT_GLASS=100) + materials = list(/datum/material/iron=200, /datum/material/glass=100) build_path = /obj/item/disk/plantgene category = list("Electronics","Imported") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -261,7 +261,7 @@ desc = "A roasting stick for cooking sausages in exotic ovens." id = "roastingstick" build_type = PROTOLATHE - materials = list(MAT_METAL=1000, MAT_GLASS=500, MAT_BLUESPACE = 250) + materials = list(/datum/material/iron=1000, /datum/material/glass=500, /datum/material/bluespace = 250) build_path = /obj/item/melee/roastingstick category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -271,7 +271,7 @@ desc = "Used to track portable teleportation beacons and targets with embedded tracking implants." id = "locator" build_type = PROTOLATHE - materials = list(MAT_METAL=1000, MAT_GLASS=500, MAT_SILVER = 500) + materials = list(/datum/material/iron=1000, /datum/material/glass=500, /datum/material/silver = 500) build_path = /obj/item/locator category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -281,7 +281,7 @@ desc = "A refill canister for Donksoft Toy Vendors." id = "donksoft_refill" build_type = PROTOLATHE - materials = list(MAT_METAL = 25000, MAT_GLASS = 15000, MAT_PLASMA = 20000, MAT_GOLD = 10000, MAT_SILVER = 10000) + materials = list(/datum/material/iron = 25000, /datum/material/glass = 15000, /datum/material/plasma = 20000, /datum/material/gold = 10000, /datum/material/silver = 10000) build_path = /obj/item/vending_refill/donksoft category = list("Equipment") @@ -289,12 +289,22 @@ ////////////Janitor Designs////////////// ///////////////////////////////////////// +/datum/design/broom + name = "Broom" + desc = "Just your everyday standard broom." + id = "broom" + build_type = PROTOLATHE + materials = list(/datum/material/iron = 1000, /datum/material/glass = 600) + build_path = /obj/item/twohanded/broom + category = list("Equipment") + departmental_flags = DEPARTMENTAL_FLAG_SERVICE + /datum/design/mop name = "Mop" desc = "Just your everyday standard mop." id = "mop" build_type = PROTOLATHE - materials = list(MAT_METAL = 1200, MAT_GLASS = 100) + materials = list(/datum/material/iron = 1200, /datum/material/glass = 100) build_path = /obj/item/mop category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -304,7 +314,7 @@ desc = "An upgraded mop with a large internal capacity for holding water or other cleaning chemicals." id = "advmop" build_type = PROTOLATHE - materials = list(MAT_METAL = 2500, MAT_GLASS = 200) + materials = list(/datum/material/iron = 2500, /datum/material/glass = 200) build_path = /obj/item/mop/advanced category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -314,7 +324,7 @@ desc = "A device to automatically replace lights. Refill with working light bulbs." id = "light_replacer" build_type = PROTOLATHE - materials = list(MAT_METAL = 1500, MAT_SILVER = 150, MAT_GLASS = 3000) + materials = list(/datum/material/iron = 1500, /datum/material/silver = 150, /datum/material/glass = 3000) build_path = /obj/item/lightreplacer category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -324,7 +334,7 @@ desc = "An advanced trash bag with bluespace properties; capable of holding a plethora of garbage." id = "blutrash" build_type = PROTOLATHE - materials = list(MAT_GOLD = 1500, MAT_URANIUM = 250, MAT_PLASMA = 1500) + materials = list(/datum/material/gold = 1500, /datum/material/uranium = 250, /datum/material/plasma = 1500) build_path = /obj/item/storage/bag/trash/bluespace category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -334,7 +344,7 @@ desc = "A floor buffer that can be attached to vehicular janicarts." id = "buffer" build_type = PROTOLATHE - materials = list(MAT_METAL = 3000, MAT_GLASS = 200) + materials = list(/datum/material/iron = 3000, /datum/material/glass = 200) build_path = /obj/item/janiupgrade category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -344,7 +354,7 @@ desc = "A spray bottle, with an unscrewable top." id = "spraybottle" build_type = PROTOLATHE - materials = list(MAT_METAL = 3000, MAT_GLASS = 200) + materials = list(/datum/material/iron = 3000, /datum/material/glass = 200) build_path = /obj/item/reagent_containers/spray category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -354,7 +364,7 @@ desc = "A trap used to catch space bears and other legged creatures." id = "beartrap" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_TITANIUM = 1000) + materials = list(/datum/material/iron = 5000, /datum/material/titanium = 1000) build_path = /obj/item/restraints/legcuffs/beartrap category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -368,7 +378,7 @@ desc = "A holograpic projector used to project various warning signs." id = "holosign" build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 2000, /datum/material/glass = 1000) build_path = /obj/item/holosign_creator category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -378,7 +388,7 @@ desc = "A holographic projector that creates holographic security barriers." id = "holosignsec" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 1000, MAT_GOLD = 1000, MAT_SILVER = 1000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 1000, /datum/material/gold = 1000, /datum/material/silver = 1000) build_path = /obj/item/holosign_creator/security category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -388,7 +398,7 @@ desc = "A holographic projector that creates holographic engineering barriers." id = "holosignengi" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 1000, MAT_GOLD = 1000, MAT_SILVER = 1000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 1000, /datum/material/gold = 1000, /datum/material/silver = 1000) build_path = /obj/item/holosign_creator/engineering category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -398,7 +408,7 @@ desc = "A holographic projector that creates holographic barriers that prevent changes in atmospheric conditions." id = "holosignatmos" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 1000, MAT_GOLD = 1000, MAT_SILVER = 1000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 1000, /datum/material/gold = 1000, /datum/material/silver = 1000) build_path = /obj/item/holosign_creator/atmos category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -408,7 +418,7 @@ desc = "A holographic projector that creates holographic barriers that prevent changes in temperature conditions." id = "holosignfirelock" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 1000, MAT_GOLD = 1000, MAT_SILVER = 1000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 1000, /datum/material/gold = 1000, /datum/material/silver = 1000) build_path = /obj/item/holosign_creator/firelock category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -418,7 +428,7 @@ desc = "A holographic projector that creates holographic barriers that prevent changes in atmospheric and temperature conditions." id = "holosigncombifan" build_type = PROTOLATHE - materials = list(MAT_METAL = 7500, MAT_GLASS = 2500, MAT_SILVER = 2500, MAT_GOLD = 2500, MAT_TITANIUM = 1750) + materials = list(/datum/material/iron = 7500, /datum/material/glass = 2500, /datum/material/silver = 2500, /datum/material/gold = 2500, /datum/material/titanium = 1750) build_path = /obj/item/holosign_creator/combifan category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -428,7 +438,7 @@ desc = "A device which can project temporary forcefields to seal off an area." id = "forcefield_projector" build_type = PROTOLATHE - materials = list(MAT_METAL = 2500, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 2500, /datum/material/glass = 1000) build_path = /obj/item/forcefield_projector category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -438,7 +448,7 @@ desc = "PENLITE holobarriers, a device that halts individuals with malicious diseases." build_type = PROTOLATHE build_path = /obj/item/holosign_creator/medical - materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 100) //a hint of silver since it can troll 2 antags (bad viros and sentient disease) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500, /datum/material/silver = 100) //a hint of silver since it can troll 2 antags (bad viros and sentient disease) id = "holobarrier_med" category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -452,7 +462,7 @@ desc = "Allows for the construction of a quantum keycard." id = "quantum_keycard" build_type = PROTOLATHE - materials = list(MAT_GLASS = 500, MAT_METAL = 500, MAT_SILVER = 500, MAT_BLUESPACE = 1000) + materials = list(/datum/material/glass = 500, /datum/material/iron = 500, /datum/material/silver = 500, /datum/material/bluespace = 1000) build_path = /obj/item/quantum_keycard category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -462,7 +472,7 @@ desc = "An advanced tool capable of instantly neutralizing anomalies, designed to capture the fleeting aberrations created by the engine." id = "anomaly_neutralizer" build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_GOLD = 2000, MAT_PLASMA = 5000, MAT_URANIUM = 2000) + materials = list(/datum/material/iron = 2000, /datum/material/gold = 2000, /datum/material/plasma = 5000, /datum/material/uranium = 2000) build_path = /obj/item/anomaly_neutralizer category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -472,7 +482,7 @@ desc = "A a electrode attached to a small circuit box that will tell you the pH of a solution." id = "pHmeter" build_type = PROTOLATHE - materials = list(MAT_METAL = 1000, MAT_SILVER = 100, MAT_PLASTIC = 100) + materials = list(/datum/material/iron = 1000, /datum/material/silver = 100, /datum/material/plastic = 100) build_path = /obj/item/fermichem/pHmeter category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -486,11 +496,29 @@ desc = "An experimental suit of armour capable of utilizing an implanted anomaly core to protect the user." id = "reactive_armour" build_type = PROTOLATHE - materials = list(MAT_METAL = 10000, MAT_DIAMOND = 5000, MAT_URANIUM = 8000, MAT_SILVER = 4500, MAT_GOLD = 5000) + materials = list(/datum/material/iron = 10000, /datum/material/diamond = 5000, /datum/material/uranium = 8000, /datum/material/silver = 4500, /datum/material/gold = 5000) build_path = /obj/item/reactive_armour_shell category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING +/datum/design/knight_armour + name = "Knight Armour" + desc = "A royal knight's favorite garments. Can be trimmed by any friendly person." + id = "knight_armour" + build_type = AUTOLATHE + materials = list(MAT_CATEGORY_RIGID = 10000) + build_path = /obj/item/clothing/suit/armor/riot/knight/greyscale + category = list("Imported") + +/datum/design/knight_helmet + name = "Knight Helmet" + desc = "A royal knight's favorite hat. If you hold it upside down it's actually a bucket." + id = "knight_helmet" + build_type = AUTOLATHE + materials = list(MAT_CATEGORY_RIGID = 5000) + build_path = /obj/item/clothing/head/helmet/knight/greyscale + category = list("Imported") + ///////////////////////////////////////// /////////////Security//////////////////// ///////////////////////////////////////// @@ -500,57 +528,57 @@ desc = "A robust flashlight used by security." id = "seclite" build_type = PROTOLATHE - materials = list(MAT_METAL = 2500) + materials = list(/datum/material/iron = 2500) build_path = /obj/item/flashlight/seclite category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - + /datum/design/detective_scanner name = "Forensic Scanner" desc = "Used to remotely scan objects and biomass for DNA and fingerprints. Can print a report of the findings." id = "detective_scanner" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 1000, MAT_GOLD = 2500, MAT_SILVER = 2000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 1000, /datum/material/gold = 2500, /datum/material/silver = 2000) build_path = /obj/item/detective_scanner category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - + /datum/design/pepperspray name = "Pepper Spray" desc = "Manufactured by UhangInc, used to blind and down an opponent quickly. Printed pepper sprays do not contain reagents." id = "pepperspray" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 1000) build_path = /obj/item/reagent_containers/spray/pepper/empty category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - + /datum/design/bola_energy name = "Energy Bola" desc = "A specialized hard-light bola designed to ensnare fleeing criminals and aid in arrests." id = "bola_energy" build_type = PROTOLATHE - materials = list(MAT_SILVER = 500, MAT_PLASMA = 500, MAT_TITANIUM = 500) + materials = list(/datum/material/silver = 500, /datum/material/plasma = 500, /datum/material/titanium = 500) build_path = /obj/item/restraints/legcuffs/bola/energy category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - + /datum/design/zipties name = "Zipties" desc = "Plastic, disposable zipties that can be used to restrain temporarily but are destroyed after use." id = "zipties" build_type = PROTOLATHE - materials = list(MAT_PLASTIC = 250) + materials = list(/datum/material/plastic = 250) build_path = /obj/item/restraints/handcuffs/cable/zipties category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - + /datum/design/evidencebag name = "Evidence Bag" desc = "An empty evidence bag." id = "evidencebag" build_type = PROTOLATHE - materials = list(MAT_PLASTIC = 100) + materials = list(/datum/material/plastic = 100) build_path = /obj/item/evidencebag category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -564,7 +592,7 @@ desc = "A blue print of a early model of the Meteor defence turret." id = "meteor_defence" build_type = PROTOLATHE - materials = list(MAT_METAL = 50000, MAT_GLASS = 50000, MAT_SILVER = 8500, MAT_GOLD = 8500, MAT_TITANIUM = 7500, MAT_URANIUM = 7500) + materials = list(/datum/material/iron = 50000, /datum/material/glass = 50000, /datum/material/silver = 8500, /datum/material/gold = 8500, /datum/material/titanium = 7500, /datum/material/uranium = 7500) build_path = /obj/machinery/satellite/meteor_shield/sci category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -574,7 +602,7 @@ desc = "A disk containing debugging programming to solve and monitor meteors more effectively." id = "meteor_disk" build_type = PROTOLATHE - materials = list(MAT_METAL = 1500, MAT_GLASS = 1500, MAT_SILVER = 2500, MAT_GOLD = 1000) + materials = list(/datum/material/iron = 1500, /datum/material/glass = 1500, /datum/material/silver = 2500, /datum/material/gold = 1000) build_path = /obj/item/disk/meteor category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING diff --git a/code/modules/research/designs/nanite_designs.dm b/code/modules/research/designs/nanite_designs.dm index 13668ba570..c72ee4fb8c 100644 --- a/code/modules/research/designs/nanite_designs.dm +++ b/code/modules/research/designs/nanite_designs.dm @@ -50,7 +50,7 @@ name = "Host Scan" desc = "The nanites display a detailed readout of a body scan to the host." id = "selfscan_nanites" - program_type = /datum/nanite_program/triggered/self_scan + program_type = /datum/nanite_program/self_scan category = list("Utility Nanites") /datum/design/nanites/dermal_button @@ -67,7 +67,6 @@ program_type = /datum/nanite_program/stealth category = list("Utility Nanites") - /datum/design/nanites/reduced_diagnostics name = "Reduced Diagnostics" desc = "Disables some high-cost diagnostics in the nanites, making them unable to communicate their program list to portable scanners. \ @@ -80,7 +79,7 @@ name = "Subdermal ID" desc = "The nanites store the host's ID access rights in a subdermal magnetic strip. Updates when triggered, copying the host's current access." id = "access_nanites" - program_type = /datum/nanite_program/triggered/access + program_type = /datum/nanite_program/access category = list("Utility Nanites") /datum/design/nanites/relay @@ -106,9 +105,9 @@ /datum/design/nanites/emp name = "Electromagnetic Resonance" - desc = "The nanites cause an elctromagnetic pulse around the host when triggered. Will corrupt other nanite programs!" + desc = "The nanites cause an electromagnetic pulse around the host when triggered. Will corrupt other nanite programs!" id = "emp_nanites" - program_type = /datum/nanite_program/triggered/emp + program_type = /datum/nanite_program/emp category = list("Utility Nanites") /datum/design/nanites/spreading @@ -119,6 +118,13 @@ program_type = /datum/nanite_program/spreading category = list("Utility Nanites") +/datum/design/nanites/nanite_sting + name = "Nanite Sting" + desc = "When triggered, projects a nearly invisible spike of nanites that attempts to infect a nearby non-host with a copy of the host's nanites cluster." + id = "nanite_sting_nanites" + program_type = /datum/nanite_program/nanite_sting + category = list("Utility Nanites") + /datum/design/nanites/mitosis name = "Mitosis" desc = "The nanites gain the ability to self-replicate, using bluespace to power the process, instead of drawing from a template. This rapidly speeds up the replication rate,\ @@ -197,7 +203,7 @@ name = "Defibrillation" desc = "The nanites, when triggered, send a defibrillating shock to the host's heart." id = "defib_nanites" - program_type = /datum/nanite_program/triggered/defib + program_type = /datum/nanite_program/defib category = list("Medical Nanites") @@ -242,7 +248,7 @@ name = "Adrenaline Burst" desc = "The nanites cause a burst of adrenaline when triggered, waking the host from stuns and temporarily increasing their speed." id = "adrenaline_nanites" - program_type = /datum/nanite_program/triggered/adrenaline + program_type = /datum/nanite_program/adrenaline category = list("Augmentation Nanites") /datum/design/nanites/mindshield @@ -366,21 +372,21 @@ name = "Heart-Stopper" desc = "Stops the host's heart when triggered; restarts it if triggered again." id = "heartstop_nanites" - program_type = /datum/nanite_program/triggered/heart_stop + program_type = /datum/nanite_program/heart_stop category = list("Weaponized Nanites") /datum/design/nanites/explosive name = "Chain Detonation" desc = "Blows up all the nanites inside the host in a chain reaction when triggered." id = "explosive_nanites" - program_type = /datum/nanite_program/triggered/explosive + program_type = /datum/nanite_program/explosive category = list("Weaponized Nanites") /datum/design/nanites/mind_control name = "Mind Control" desc = "The nanites imprint an absolute directive onto the host's brain while they're active." id = "mindcontrol_nanites" - program_type = /datum/nanite_program/triggered/comm/mind_control + program_type = /datum/nanite_program/comm/mind_control category = list("Weaponized Nanites") ////////////////////SUPPRESSION NANITES////////////////////////////////////// @@ -389,21 +395,21 @@ name = "Electric Shock" desc = "The nanites shock the host when triggered. Destroys a large amount of nanites!" id = "shock_nanites" - program_type = /datum/nanite_program/triggered/shocking + program_type = /datum/nanite_program/shocking category = list("Suppression Nanites") /datum/design/nanites/stun name = "Neural Shock" desc = "The nanites pulse the host's nerves when triggered, inapacitating them for a short period." id = "stun_nanites" - program_type = /datum/nanite_program/triggered/stun + program_type = /datum/nanite_program/stun category = list("Suppression Nanites") /datum/design/nanites/sleepy name = "Sleep Induction" desc = "The nanites cause rapid narcolepsy when triggered." id = "sleep_nanites" - program_type = /datum/nanite_program/triggered/sleepy + program_type = /datum/nanite_program/sleepy category = list("Suppression Nanites") /datum/design/nanites/paralyzing @@ -445,21 +451,21 @@ name = "Skull Echo" desc = "The nanites echo a synthesized message inside the host's skull." id = "voice_nanites" - program_type = /datum/nanite_program/triggered/comm/voice + program_type = /datum/nanite_program/comm/voice category = list("Suppression Nanites") /datum/design/nanites/speech name = "Forced Speech" desc = "The nanites force the host to say a pre-programmed sentence when triggered." id = "speech_nanites" - program_type = /datum/nanite_program/triggered/comm/speech + program_type = /datum/nanite_program/comm/speech category = list("Suppression Nanites") /datum/design/nanites/hallucination name = "Hallucination" desc = "The nanites make the host see and hear things that aren't real." id = "hallucination_nanites" - program_type = /datum/nanite_program/triggered/comm/hallucination + program_type = /datum/nanite_program/comm/hallucination category = list("Suppression Nanites") /datum/design/nanites/good_mood @@ -513,9 +519,42 @@ program_type = /datum/nanite_program/sensor/voice category = list("Sensor Nanites") -/datum/design/nanites/sensor__nanite_volume +/datum/design/nanites/sensor_nanite_volume name = "Nanite Volume Sensor" desc = "The nanites receive a signal when the nanite supply is above/below a certain percentage." id = "sensor_nanite_volume" program_type = /datum/nanite_program/sensor/nanite_volume - category = list("Sensor Nanites") \ No newline at end of file + category = list("Sensor Nanites") + +////////////////////NANITE PROTOCOLS////////////////////////////////////// +//Note about the category name: The UI cuts the last 8 characters from the category name to remove the " Nanites" in the other categories +//Because of this, Protocols was getting cut down to "P", so i had to add some padding +/* +/datum/design/nanites/kickstart + name = "Kickstart Protocol" + desc = "Replication Protocol: the nanites focus on early growth, heavily boosting replication rate for a few minutes after the initial implantation." + id = "kickstart_nanites" + program_type = /datum/nanite_program/protocol/kickstart + category = list("Protocols_Nanites") + +/datum/design/nanites/factory + name = "Factory Protocol" + desc = "Replication Protocol: the nanites build a factory matrix within the host, gradually increasing replication speed over time. The factory decays if the protocol is not active." + id = "factory_nanites" + program_type = /datum/nanite_program/protocol/factory + category = list("Protocols_Nanites") + +/datum/design/nanites/tinker + name = "Tinker Protocol" + desc = "Replication Protocol: the nanites learn to use metallic material in the host's bloodstream to speed up the replication process." + id = "tinker_nanites" + program_type = /datum/nanite_program/protocol/tinker + category = list("Protocols_Nanites") + +/datum/design/nanites/offline + name = "Offline Production Protocol" + desc = "Replication Protocol: while the host is asleep or otherwise unconcious, the nanites exploit the reduced interference to replicate more quickly." + id = "offline_nanites" + program_type = /datum/nanite_program/protocol/offline + category = list("Protocols_Nanites") +*/ diff --git a/code/modules/research/designs/power_designs.dm b/code/modules/research/designs/power_designs.dm index 1dbd111785..3403d96049 100644 --- a/code/modules/research/designs/power_designs.dm +++ b/code/modules/research/designs/power_designs.dm @@ -7,7 +7,7 @@ desc = "A basic power cell that holds 1 MJ of energy." id = "basic_cell" build_type = PROTOLATHE | AUTOLATHE |MECHFAB - materials = list(MAT_METAL = 700, MAT_GLASS = 50) + materials = list(/datum/material/iron = 700, /datum/material/glass = 50) construction_time=100 build_path = /obj/item/stock_parts/cell/empty category = list("Misc","Power Designs","Machinery","initial") @@ -18,7 +18,7 @@ desc = "A power cell that holds 10 MJ of energy." id = "high_cell" build_type = PROTOLATHE | AUTOLATHE | MECHFAB - materials = list(MAT_METAL = 700, MAT_GLASS = 60) + materials = list(/datum/material/iron = 700, /datum/material/glass = 60) construction_time=100 build_path = /obj/item/stock_parts/cell/high/empty category = list("Misc","Power Designs") @@ -29,7 +29,7 @@ desc = "A power cell that holds 20 MJ of energy." id = "super_cell" build_type = PROTOLATHE | MECHFAB - materials = list(MAT_METAL = 700, MAT_GLASS = 70) + materials = list(/datum/material/iron = 700, /datum/material/glass = 70) construction_time=100 build_path = /obj/item/stock_parts/cell/super/empty category = list("Misc","Power Designs") @@ -40,7 +40,7 @@ desc = "A power cell that holds 30 MJ of energy." id = "hyper_cell" build_type = PROTOLATHE | MECHFAB - materials = list(MAT_METAL = 700, MAT_GOLD = 150, MAT_SILVER = 150, MAT_GLASS = 80) + materials = list(/datum/material/iron = 700, /datum/material/gold = 150, /datum/material/silver = 150, /datum/material/glass = 80) construction_time=100 build_path = /obj/item/stock_parts/cell/hyper/empty category = list("Misc","Power Designs") @@ -51,7 +51,7 @@ desc = "A power cell that holds 40 MJ of energy." id = "bluespace_cell" build_type = PROTOLATHE | MECHFAB - materials = list(MAT_METAL = 800, MAT_GOLD = 120, MAT_GLASS = 160, MAT_DIAMOND = 160, MAT_TITANIUM = 300, MAT_BLUESPACE = 100) + materials = list(/datum/material/iron = 800, /datum/material/gold = 120, /datum/material/glass = 160, /datum/material/diamond = 160, /datum/material/titanium = 300, /datum/material/bluespace = 100) construction_time=100 build_path = /obj/item/stock_parts/cell/bluespace/empty category = list("Misc","Power Designs") @@ -62,7 +62,7 @@ desc = "The NT-75 Electromagnetic Power Inducer can wirelessly induce electric charge in an object, allowing you to recharge power cells without having to remove them." id = "inducer" build_type = PROTOLATHE - materials = list(MAT_METAL = 3000, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 3000, /datum/material/glass = 1000) build_path = /obj/item/inducer/sci category = list("Power Designs") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -72,7 +72,7 @@ desc = "The improved NT-8475 Electromagnetic Power Inducer can this one has been SCIENCED to allow for combat. It still comes printed with SCIENCED colors!" id = "combatinducer" build_type = PROTOLATHE - materials = list(MAT_METAL = 13000, MAT_GLASS = 10000, MAT_SILVER = 1500, MAT_GOLD = 1250, MAT_DIAMOND = 500, MAT_TITANIUM = 1200) + materials = list(/datum/material/iron = 13000, /datum/material/glass = 10000, /datum/material/silver = 1500, /datum/material/gold = 1250, /datum/material/diamond = 500, /datum/material/titanium = 1200) build_path = /obj/item/inducer/sci/combat/dry category = list("Power Designs") departmental_flags = DEPARTMENTAL_FLAG_SECURITY diff --git a/code/modules/research/designs/smelting_designs.dm b/code/modules/research/designs/smelting_designs.dm index 64dcb5f754..3c83698fd1 100644 --- a/code/modules/research/designs/smelting_designs.dm +++ b/code/modules/research/designs/smelting_designs.dm @@ -4,7 +4,7 @@ name = "Plasma + Iron alloy" id = "plasteel" build_type = SMELTER | PROTOLATHE - materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT, MAT_PLASMA = MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/iron = MINERAL_MATERIAL_AMOUNT, /datum/material/plasma = MINERAL_MATERIAL_AMOUNT) build_path = /obj/item/stack/sheet/plasteel category = list("initial", "Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SECURITY @@ -14,7 +14,7 @@ name = "Plasma + Titanium alloy" id = "plastitanium" build_type = SMELTER | PROTOLATHE - materials = list(MAT_TITANIUM = MINERAL_MATERIAL_AMOUNT, MAT_PLASMA = MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/titanium = MINERAL_MATERIAL_AMOUNT, /datum/material/plasma = MINERAL_MATERIAL_AMOUNT) build_path = /obj/item/stack/sheet/mineral/plastitanium category = list("initial", "Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -24,7 +24,7 @@ name = "Plasma + Glass alloy" id = "plasmaglass" build_type = SMELTER | PROTOLATHE - materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/plasma = MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass = MINERAL_MATERIAL_AMOUNT) build_path = /obj/item/stack/sheet/plasmaglass category = list("initial", "Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -34,7 +34,7 @@ name = "Plasma + Metal + Glass alloy" id = "plasmareinforcedglass" build_type = SMELTER | PROTOLATHE - materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_METAL = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/plasma = MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/iron = MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass = MINERAL_MATERIAL_AMOUNT) build_path = /obj/item/stack/sheet/plasmarglass category = list("initial", "Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -44,7 +44,7 @@ name = "Titanium + Glass alloy" id = "titaniumglass" build_type = SMELTER | PROTOLATHE - materials = list(MAT_TITANIUM = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/titanium = MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass = MINERAL_MATERIAL_AMOUNT) build_path = /obj/item/stack/sheet/titaniumglass category = list("initial", "Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -54,7 +54,7 @@ name = "Plasma + Titanium + Glass alloy" id = "plastitaniumglass" build_type = SMELTER | PROTOLATHE - materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_TITANIUM = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/plasma = MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/titanium = MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass = MINERAL_MATERIAL_AMOUNT) build_path = /obj/item/stack/sheet/plastitaniumglass category = list("initial", "Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -65,7 +65,7 @@ desc = "A sheet of reverse-engineered alien alloy." id = "alienalloy" build_type = PROTOLATHE | SMELTER - materials = list(MAT_METAL = 4000, MAT_PLASMA = 4000) + materials = list(/datum/material/iron = 4000, /datum/material/plasma = 4000) build_path = /obj/item/stack/sheet/mineral/abductor category = list("Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING diff --git a/code/modules/research/designs/stock_parts_designs.dm b/code/modules/research/designs/stock_parts_designs.dm index 6526599179..7392f83975 100644 --- a/code/modules/research/designs/stock_parts_designs.dm +++ b/code/modules/research/designs/stock_parts_designs.dm @@ -7,7 +7,7 @@ desc = "Special mechanical module made to store, sort, and apply standard machine parts." id = "rped" build_type = PROTOLATHE - materials = list(MAT_METAL = 10000, MAT_GLASS = 5000) //hardcore + materials = list(/datum/material/iron = 10000, /datum/material/glass = 5000) //hardcore build_path = /obj/item/storage/part_replacer category = list("Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -17,7 +17,7 @@ desc = "Powered by bluespace technology, this RPED variant can upgrade buildings from a distance, without needing to remove the panel first." id = "bs_rped" build_type = PROTOLATHE - materials = list(MAT_METAL = 15000, MAT_GLASS = 5000, MAT_SILVER = 2500) //hardcore + materials = list(/datum/material/iron = 15000, /datum/material/glass = 5000, /datum/material/silver = 2500) //hardcore build_path = /obj/item/storage/part_replacer/bluespace category = list("Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -28,7 +28,7 @@ desc = "A stock part used in the construction of various devices." id = "basic_capacitor" build_type = PROTOLATHE | AUTOLATHE - materials = list(MAT_METAL = 100, MAT_GLASS = 100) + materials = list(/datum/material/iron = 100, /datum/material/glass = 100) build_path = /obj/item/stock_parts/capacitor category = list("Stock Parts","Machinery","initial") lathe_time_factor = 0.2 @@ -39,7 +39,7 @@ desc = "A stock part used in the construction of various devices." id = "adv_capacitor" build_type = PROTOLATHE - materials = list(MAT_METAL = 150, MAT_GLASS = 150) + materials = list(/datum/material/iron = 150, /datum/material/glass = 150) build_path = /obj/item/stock_parts/capacitor/adv category = list("Stock Parts") lathe_time_factor = 0.2 @@ -50,7 +50,7 @@ desc = "A stock part used in the construction of various devices." id = "super_capacitor" build_type = PROTOLATHE - materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_GOLD = 100) + materials = list(/datum/material/iron = 200, /datum/material/glass = 200, /datum/material/gold = 100) build_path = /obj/item/stock_parts/capacitor/super category = list("Stock Parts") lathe_time_factor = 0.2 @@ -61,7 +61,7 @@ desc = "A stock part used in the construction of various devices." id = "quadratic_capacitor" build_type = PROTOLATHE - materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_GOLD = 100, MAT_DIAMOND = 100) + materials = list(/datum/material/iron = 200, /datum/material/glass = 200, /datum/material/gold = 100, /datum/material/diamond = 100) build_path = /obj/item/stock_parts/capacitor/quadratic category = list("Stock Parts") lathe_time_factor = 0.2 @@ -73,7 +73,7 @@ desc = "A stock part used in the construction of various devices." id = "basic_scanning" build_type = PROTOLATHE | AUTOLATHE - materials = list(MAT_METAL = 100, MAT_GLASS = 50) + materials = list(/datum/material/iron = 100, /datum/material/glass = 50) build_path = /obj/item/stock_parts/scanning_module category = list("Stock Parts","Machinery","initial") lathe_time_factor = 0.2 @@ -84,7 +84,7 @@ desc = "A stock part used in the construction of various devices." id = "adv_scanning" build_type = PROTOLATHE - materials = list(MAT_METAL = 150, MAT_GLASS = 100) + materials = list(/datum/material/iron = 150, /datum/material/glass = 100) build_path = /obj/item/stock_parts/scanning_module/adv category = list("Stock Parts") lathe_time_factor = 0.2 @@ -95,7 +95,7 @@ desc = "A stock part used in the construction of various devices." id = "phasic_scanning" build_type = PROTOLATHE - materials = list(MAT_METAL = 200, MAT_GLASS = 150, MAT_SILVER = 60) + materials = list(/datum/material/iron = 200, /datum/material/glass = 150, /datum/material/silver = 60) build_path = /obj/item/stock_parts/scanning_module/phasic category = list("Stock Parts") lathe_time_factor = 0.2 @@ -106,7 +106,7 @@ desc = "A stock part used in the construction of various devices." id = "triphasic_scanning" build_type = PROTOLATHE - materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_DIAMOND = 30, MAT_BLUESPACE = 30) + materials = list(/datum/material/iron = 200, /datum/material/glass = 200, /datum/material/diamond = 30, /datum/material/bluespace = 30) build_path = /obj/item/stock_parts/scanning_module/triphasic category = list("Stock Parts") lathe_time_factor = 0.2 @@ -118,7 +118,7 @@ desc = "A stock part used in the construction of various devices." id = "micro_mani" build_type = PROTOLATHE | AUTOLATHE - materials = list(MAT_METAL = 100) + materials = list(/datum/material/iron = 100) build_path = /obj/item/stock_parts/manipulator category = list("Stock Parts","Machinery","initial") lathe_time_factor = 0.2 @@ -129,7 +129,7 @@ desc = "A stock part used in the construction of various devices." id = "nano_mani" build_type = PROTOLATHE - materials = list(MAT_METAL = 150) + materials = list(/datum/material/iron = 150) build_path = /obj/item/stock_parts/manipulator/nano category = list("Stock Parts") lathe_time_factor = 0.2 @@ -140,7 +140,7 @@ desc = "A stock part used in the construction of various devices." id = "pico_mani" build_type = PROTOLATHE - materials = list(MAT_METAL = 200) + materials = list(/datum/material/iron = 200) build_path = /obj/item/stock_parts/manipulator/pico category = list("Stock Parts") lathe_time_factor = 0.2 @@ -151,7 +151,7 @@ desc = "A stock part used in the construction of various devices." id = "femto_mani" build_type = PROTOLATHE - materials = list(MAT_METAL = 200, MAT_DIAMOND = 30, MAT_TITANIUM = 30) + materials = list(/datum/material/iron = 200, /datum/material/diamond = 30, /datum/material/titanium = 30) build_path = /obj/item/stock_parts/manipulator/femto category = list("Stock Parts") lathe_time_factor = 0.2 @@ -163,7 +163,7 @@ desc = "A stock part used in the construction of various devices." id = "basic_micro_laser" build_type = PROTOLATHE | AUTOLATHE - materials = list(MAT_METAL = 100, MAT_GLASS = 50) + materials = list(/datum/material/iron = 100, /datum/material/glass = 50) build_path = /obj/item/stock_parts/micro_laser category = list("Stock Parts","Machinery","initial") lathe_time_factor = 0.2 @@ -174,7 +174,7 @@ desc = "A stock part used in the construction of various devices." id = "high_micro_laser" build_type = PROTOLATHE - materials = list(MAT_METAL = 150, MAT_GLASS = 100) + materials = list(/datum/material/iron = 150, /datum/material/glass = 100) build_path = /obj/item/stock_parts/micro_laser/high category = list("Stock Parts") lathe_time_factor = 0.2 @@ -185,7 +185,7 @@ desc = "A stock part used in the construction of various devices." id = "ultra_micro_laser" build_type = PROTOLATHE - materials = list(MAT_METAL = 200, MAT_GLASS = 150, MAT_URANIUM = 60) + materials = list(/datum/material/iron = 200, /datum/material/glass = 150, /datum/material/uranium = 60) build_path = /obj/item/stock_parts/micro_laser/ultra category = list("Stock Parts") lathe_time_factor = 0.2 @@ -196,7 +196,7 @@ desc = "A stock part used in the construction of various devices." id = "quadultra_micro_laser" build_type = PROTOLATHE - materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_URANIUM = 100, MAT_DIAMOND = 60) + materials = list(/datum/material/iron = 200, /datum/material/glass = 200, /datum/material/uranium = 100, /datum/material/diamond = 60) build_path = /obj/item/stock_parts/micro_laser/quadultra category = list("Stock Parts") lathe_time_factor = 0.2 @@ -207,7 +207,7 @@ desc = "A stock part used in the construction of various devices." id = "basic_matter_bin" build_type = PROTOLATHE | AUTOLATHE - materials = list(MAT_METAL = 100) + materials = list(/datum/material/iron = 100) build_path = /obj/item/stock_parts/matter_bin category = list("Stock Parts","Machinery","initial") lathe_time_factor = 0.2 @@ -218,7 +218,7 @@ desc = "A stock part used in the construction of various devices." id = "adv_matter_bin" build_type = PROTOLATHE - materials = list(MAT_METAL = 150) + materials = list(/datum/material/iron = 150) build_path = /obj/item/stock_parts/matter_bin/adv category = list("Stock Parts") lathe_time_factor = 0.2 @@ -229,7 +229,7 @@ desc = "A stock part used in the construction of various devices." id = "super_matter_bin" build_type = PROTOLATHE - materials = list(MAT_METAL = 200) + materials = list(/datum/material/iron = 200) build_path = /obj/item/stock_parts/matter_bin/super category = list("Stock Parts") lathe_time_factor = 0.2 @@ -240,7 +240,7 @@ desc = "A stock part used in the construction of various devices." id = "bluespace_matter_bin" build_type = PROTOLATHE - materials = list(MAT_METAL = 250, MAT_DIAMOND = 100, MAT_BLUESPACE = 100) + materials = list(/datum/material/iron = 250, /datum/material/diamond = 100, /datum/material/bluespace = 100) build_path = /obj/item/stock_parts/matter_bin/bluespace category = list("Stock Parts") lathe_time_factor = 0.2 @@ -252,7 +252,7 @@ desc = "A compact module capable of sensing extradimensional activity." id = "s-ansible" build_type = PROTOLATHE - materials = list(MAT_METAL = 100, MAT_SILVER = 100) + materials = list(/datum/material/iron = 100, /datum/material/silver = 100) build_path = /obj/item/stock_parts/subspace/ansible category = list("Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -262,7 +262,7 @@ desc = "A tiny device capable of filtering and converting super-intense radiowaves." id = "s-filter" build_type = PROTOLATHE - materials = list(MAT_METAL = 100, MAT_SILVER = 100) + materials = list(/datum/material/iron = 100, /datum/material/silver = 100) build_path = /obj/item/stock_parts/subspace/filter category = list("Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -272,7 +272,7 @@ desc = "A compact micro-machine capable of amplifying weak subspace transmissions." id = "s-amplifier" build_type = PROTOLATHE - materials = list(MAT_METAL = 100, MAT_GOLD = 100, MAT_URANIUM = 100) + materials = list(/datum/material/iron = 100, /datum/material/gold = 100, /datum/material/uranium = 100) build_path = /obj/item/stock_parts/subspace/amplifier category = list("Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -282,7 +282,7 @@ desc = "A compact micro-machine capable of stretching out hyper-compressed radio waves." id = "s-treatment" build_type = PROTOLATHE - materials = list(MAT_METAL = 100, MAT_SILVER = 200) + materials = list(/datum/material/iron = 100, /datum/material/silver = 200) build_path = /obj/item/stock_parts/subspace/treatment category = list("Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -292,7 +292,7 @@ desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths." id = "s-analyzer" build_type = PROTOLATHE - materials = list(MAT_METAL = 100, MAT_GOLD = 100) + materials = list(/datum/material/iron = 100, /datum/material/gold = 100) build_path = /obj/item/stock_parts/subspace/analyzer category = list("Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -302,7 +302,7 @@ desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths." id = "s-crystal" build_type = PROTOLATHE - materials = list(MAT_GLASS = 800, MAT_SILVER = 100, MAT_GOLD = 100) + materials = list(/datum/material/glass = 800, /datum/material/silver = 100, /datum/material/gold = 100) build_path = /obj/item/stock_parts/subspace/crystal category = list("Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -312,7 +312,7 @@ desc = "A large piece of equipment used to open a window into the subspace dimension." id = "s-transmitter" build_type = PROTOLATHE - materials = list(MAT_GLASS = 100, MAT_SILVER = 100, MAT_URANIUM = 100) + materials = list(/datum/material/glass = 100, /datum/material/silver = 100, /datum/material/uranium = 100) build_path = /obj/item/stock_parts/subspace/transmitter category = list("Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE diff --git a/code/modules/research/designs/tool_designs.dm b/code/modules/research/designs/tool_designs.dm index cf1c0563d5..2d938bc38c 100644 --- a/code/modules/research/designs/tool_designs.dm +++ b/code/modules/research/designs/tool_designs.dm @@ -7,7 +7,7 @@ desc = "Adds the computer frame and machine frame to the RCD." id = "rcd_upgrade_frames" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 2500, MAT_SILVER = 1500, MAT_TITANIUM = 2000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 2500, /datum/material/silver = 1500, /datum/material/titanium = 2000) build_path = /obj/item/rcd_upgrade/frames category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -17,7 +17,7 @@ desc = "Adds the simple circuits to the RCD." id = "rcd_upgrade_simple_circuits" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 2500, MAT_SILVER = 1500, MAT_TITANIUM = 2000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 2500, /datum/material/silver = 1500, /datum/material/titanium = 2000) build_path = /obj/item/rcd_upgrade/simple_circuits category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -27,7 +27,7 @@ desc = "A tool that can construct and deconstruct walls, airlocks and floors on the fly." id = "rcd_loaded" build_type = PROTOLATHE - materials = list(MAT_METAL = 36000) // costs more than what it did in the autolathe, this one comes loaded. + materials = list(/datum/material/iron = 36000) // costs more than what it did in the autolathe, this one comes loaded. build_path = /obj/item/construction/rcd/loaded category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -37,7 +37,7 @@ desc = "A tool that can construct and deconstruct pipes on the fly." id = "rpd" build_type = PROTOLATHE - materials = list(MAT_METAL = 75000, MAT_GLASS = 37500) + materials = list(/datum/material/iron = 75000, /datum/material/glass = 37500) build_path = /obj/item/pipe_dispenser category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -47,7 +47,7 @@ desc = "A small electric hand drill with an interchangeable screwdriver and bolt bit" id = "handdrill" build_type = PROTOLATHE - materials = list(MAT_METAL = 3500, MAT_SILVER = 1500, MAT_TITANIUM = 2500) + materials = list(/datum/material/iron = 3500, /datum/material/silver = 1500, /datum/material/titanium = 2500) build_path = /obj/item/screwdriver/power category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -58,7 +58,7 @@ id = "jawsoflife" // added one more requirment since the Jaws of Life are a bit OP build_path = /obj/item/crowbar/power build_type = PROTOLATHE - materials = list(MAT_METAL = 4500, MAT_SILVER = 2500, MAT_TITANIUM = 3500) + materials = list(/datum/material/iron = 4500, /datum/material/silver = 2500, /datum/material/titanium = 3500) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -67,7 +67,7 @@ desc = "An experimental welder capable of self-fuel generation." id = "exwelder" build_type = PROTOLATHE - materials = list(MAT_METAL = 1000, MAT_GLASS = 500, MAT_PLASMA = 1500, MAT_URANIUM = 200) + materials = list(/datum/material/iron = 1000, /datum/material/glass = 500, /datum/material/plasma = 1500, /datum/material/uranium = 200) build_path = /obj/item/weldingtool/experimental category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -82,7 +82,7 @@ id = "alien_wrench" build_path = /obj/item/wrench/abductor build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000) + materials = list(/datum/material/iron = 5000, /datum/material/silver = 2500, /datum/material/plasma = 1000, /datum/material/titanium = 2000, /datum/material/diamond = 2000) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -92,7 +92,7 @@ id = "alien_wirecutters" build_path = /obj/item/wirecutters/abductor build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000) + materials = list(/datum/material/iron = 5000, /datum/material/silver = 2500, /datum/material/plasma = 1000, /datum/material/titanium = 2000, /datum/material/diamond = 2000) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -102,7 +102,7 @@ id = "alien_screwdriver" build_path = /obj/item/screwdriver/abductor build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000) + materials = list(/datum/material/iron = 5000, /datum/material/silver = 2500, /datum/material/plasma = 1000, /datum/material/titanium = 2000, /datum/material/diamond = 2000) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -112,7 +112,7 @@ id = "alien_crowbar" build_path = /obj/item/crowbar/abductor build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000) + materials = list(/datum/material/iron = 5000, /datum/material/silver = 2500, /datum/material/plasma = 1000, /datum/material/titanium = 2000, /datum/material/diamond = 2000) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -122,7 +122,7 @@ id = "alien_welder" build_path = /obj/item/weldingtool/abductor build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 5000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000) + materials = list(/datum/material/iron = 5000, /datum/material/silver = 2500, /datum/material/plasma = 5000, /datum/material/titanium = 2000, /datum/material/diamond = 2000) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -132,7 +132,7 @@ id = "alien_multitool" build_path = /obj/item/multitool/abductor build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 5000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000) + materials = list(/datum/material/iron = 5000, /datum/material/silver = 2500, /datum/material/plasma = 5000, /datum/material/titanium = 2000, /datum/material/diamond = 2000) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -146,7 +146,7 @@ id = "alien_scalpel" build_path = /obj/item/scalpel/alien build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500) + materials = list(/datum/material/iron = 2000, /datum/material/silver = 1500, /datum/material/plasma = 500, /datum/material/titanium = 1500) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -156,7 +156,7 @@ id = "alien_hemostat" build_path = /obj/item/hemostat/alien build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500) + materials = list(/datum/material/iron = 2000, /datum/material/silver = 1500, /datum/material/plasma = 500, /datum/material/titanium = 1500) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -166,7 +166,7 @@ id = "alien_retractor" build_path = /obj/item/retractor/alien build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500) + materials = list(/datum/material/iron = 2000, /datum/material/silver = 1500, /datum/material/plasma = 500, /datum/material/titanium = 1500) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -176,7 +176,7 @@ id = "alien_saw" build_path = /obj/item/circular_saw/alien build_type = PROTOLATHE - materials = list(MAT_METAL = 10000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 1500) + materials = list(/datum/material/iron = 10000, /datum/material/silver = 2500, /datum/material/plasma = 1000, /datum/material/titanium = 1500) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -186,7 +186,7 @@ id = "alien_drill" build_path = /obj/item/surgicaldrill/alien build_type = PROTOLATHE - materials = list(MAT_METAL = 10000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 1500) + materials = list(/datum/material/iron = 10000, /datum/material/silver = 2500, /datum/material/plasma = 1000, /datum/material/titanium = 1500) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -196,7 +196,7 @@ id = "alien_cautery" build_path = /obj/item/cautery/alien build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500) + materials = list(/datum/material/iron = 2000, /datum/material/silver = 1500, /datum/material/plasma = 500, /datum/material/titanium = 1500) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -210,7 +210,7 @@ desc = "A large surgery drape made of plastic." id = "drapes" build_type = PROTOLATHE - materials = list(MAT_PLASTIC = 2500) + materials = list(/datum/material/plastic = 2500) build_path = /obj/item/surgical_drapes category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -220,7 +220,7 @@ desc = "An almagation of rods and gears, able to function as both a surgical clamp and retractor. " id = "retractor_adv" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 1500, MAT_GOLD = 1000) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500, /datum/material/silver = 1500, /datum/material/gold = 1000) build_path = /obj/item/retractor/advanced category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -230,7 +230,7 @@ desc = "It projects a high power laser used for medical applications." id = "surgicaldrill_adv" build_type = PROTOLATHE - materials = list(MAT_METAL = 2500, MAT_GLASS = 2500, MAT_SILVER = 6000, MAT_GOLD = 5500, MAT_DIAMOND = 3500) + materials = list(/datum/material/iron = 2500, /datum/material/glass = 2500, /datum/material/silver = 6000, /datum/material/gold = 5500, /datum/material/diamond = 3500) build_path = /obj/item/surgicaldrill/advanced category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -240,7 +240,7 @@ desc = "An advanced scalpel which uses laser technology to cut." id = "scalpel_adv" build_type = PROTOLATHE - materials = list(MAT_METAL = 1500, MAT_GLASS = 1500, MAT_SILVER = 4000, MAT_GOLD = 2500) + materials = list(/datum/material/iron = 1500, /datum/material/glass = 1500, /datum/material/silver = 4000, /datum/material/gold = 2500) build_path = /obj/item/scalpel/advanced category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index 467679fea6..658e108288 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -22,7 +22,7 @@ desc = "Designed to quickly reload revolvers. TRAC bullets embed a tracking implant within the target's body." id = "c38_trac" build_type = PROTOLATHE - materials = list(MAT_METAL = 20000, MAT_SILVER = 5000, MAT_GOLD = 1000) + materials = list(/datum/material/iron = 20000, /datum/material/silver = 5000, /datum/material/gold = 1000) build_path = /obj/item/ammo_box/c38/trac category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -32,7 +32,7 @@ desc = "Designed to quickly reload revolvers. Hot Shot bullets contain an incendiary payload." id = "c38_hotshot" build_type = PROTOLATHE - materials = list(MAT_METAL = 20000, MAT_PLASMA = 5000) + materials = list(/datum/material/iron = 20000, /datum/material/plasma = 5000) build_path = /obj/item/ammo_box/c38/hotshot category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -42,7 +42,7 @@ desc = "Designed to quickly reload revolvers. Iceblox bullets contain a cryogenic payload." id = "c38_iceblox" build_type = PROTOLATHE - materials = list(MAT_METAL = 20000, MAT_PLASMA = 5000) + materials = list(/datum/material/iron = 20000, /datum/material/plasma = 5000) build_path = /obj/item/ammo_box/c38/iceblox category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -56,7 +56,7 @@ desc = "A 24-round magazine for the Magrifle." id = "mag_magrifle" build_type = PROTOLATHE - materials = list(MAT_METAL = 8000, MAT_SILVER = 1000) + materials = list(/datum/material/iron = 8000, /datum/material/silver = 1000) build_path = /obj/item/ammo_box/magazine/mmag/lethal category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -65,7 +65,7 @@ name = "Magrifle Magazine (Non-Lethal)" desc = "A 24- round non-lethal magazine for the Magrifle." id = "mag_magrifle_nl" - materials = list(MAT_METAL = 6000, MAT_SILVER = 500, MAT_TITANIUM = 500) + materials = list(/datum/material/iron = 6000, /datum/material/silver = 500, /datum/material/titanium = 500) build_path = /obj/item/ammo_box/magazine/mmag /datum/design/mag_magpistol @@ -73,7 +73,7 @@ desc = "A 14 round magazine for the Magpistol." id = "mag_magpistol" build_type = PROTOLATHE - materials = list(MAT_METAL = 4000, MAT_SILVER = 500) + materials = list(/datum/material/iron = 4000, /datum/material/silver = 500) build_path = /obj/item/ammo_box/magazine/mmag/small/lethal category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -82,7 +82,7 @@ name = "Magpistol Magazine (Non-Lethal)" desc = "A 14 round non-lethal magazine for the Magpistol." id = "mag_magpistol_nl" - materials = list(MAT_METAL = 3000, MAT_SILVER = 250, MAT_TITANIUM = 250) + materials = list(/datum/material/iron = 3000, /datum/material/silver = 250, /datum/material/titanium = 250) build_path = /obj/item/ammo_box/magazine/mmag/small ////////////// @@ -94,7 +94,7 @@ desc = "A 20 round magazine for the out of date security WT-550 Semi-Auto SMG." id = "mag_oldsmg" build_type = PROTOLATHE - materials = list(MAT_METAL = 4000) + materials = list(/datum/material/iron = 4000) build_path = /obj/item/ammo_box/magazine/wt550m9 category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -103,7 +103,7 @@ name = "WT-550 Semi-Auto SMG Armour Piercing Magazine (4.6x30mm AP)" desc = "A 20 round armour piercing magazine for the out of date security WT-550 Semi-Auto SMG." id = "mag_oldsmg_ap" - materials = list(MAT_METAL = 6000, MAT_SILVER = 600) + materials = list(/datum/material/iron = 6000, /datum/material/silver = 600) build_path = /obj/item/ammo_box/magazine/wt550m9/wtap departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -111,7 +111,7 @@ name = "WT-550 Semi-Auto SMG Incendiary Magazine (4.6x30mm IC)" desc = "A 20 round armour piercing magazine for the out of date security WT-550 Semi-Auto SMG." id = "mag_oldsmg_ic" - materials = list(MAT_METAL = 6000, MAT_SILVER = 600, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 6000, /datum/material/silver = 600, /datum/material/glass = 1000) build_path = /obj/item/ammo_box/magazine/wt550m9/wtic departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -119,7 +119,7 @@ name = "WT-550 Semi-Auto SMG Uranium Magazine (4.6x30mm TX)" desc = "A 20 round uranium tipped magazine for the out of date security WT-550 Semi-Auto SMG." id = "mag_oldsmg_tx" - materials = list(MAT_METAL = 6000, MAT_SILVER = 600, MAT_URANIUM = 2000) + materials = list(/datum/material/iron = 6000, /datum/material/silver = 600, /datum/material/uranium = 2000) build_path = /obj/item/ammo_box/magazine/wt550m9/wttx departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -127,7 +127,7 @@ name = "WT-550 Semi-Auto SMG rubberbullets Magazine (4.6x30mm rubber)" desc = "A 20 round rubber shots magazine for the out of date security WT-550 Semi-Auto SMG" id = "mag_oldsmg_rubber" - materials = list(MAT_METAL = 6000) + materials = list(/datum/material/iron = 6000) build_path = /obj/item/ammo_box/magazine/wt550m9/wtrubber departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -176,7 +176,7 @@ desc = "A stunning shell for a shotgun." id = "stunshell" build_type = PROTOLATHE - materials = list(MAT_METAL = 200) + materials = list(/datum/material/iron = 200) build_path = /obj/item/ammo_casing/shotgun/stunslug category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_SCIENCE @@ -186,7 +186,7 @@ desc = "A high-tech shotgun shell which can be loaded with materials to produce unique effects." id = "techshotshell" build_type = PROTOLATHE - materials = list(MAT_METAL = 1000, MAT_GLASS = 200) + materials = list(/datum/material/iron = 1000, /datum/material/glass = 200) build_path = /obj/item/ammo_casing/shotgun/techshell category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_SCIENCE @@ -196,7 +196,7 @@ desc = "A shotgun dart designed with similar internals to that of a cryostatis beaker, allowing reagents to not react when inside." id = "shotgundartcryostatis" build_type = PROTOLATHE - materials = list(MAT_METAL = 3500) + materials = list(/datum/material/iron = 3500) build_path = /obj/item/ammo_casing/shotgun/dart/noreact category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -210,7 +210,7 @@ desc = "This safety firing pin allows firearms to be operated within proximity to a firing range." id = "pin_testing" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 300) + materials = list(/datum/material/iron = 500, /datum/material/glass = 300) build_path = /obj/item/firing_pin/test_range category = list("Firing Pins") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_SCIENCE @@ -220,7 +220,7 @@ desc = "This is a security firing pin which only authorizes users who are mindshield-implanted." id = "pin_loyalty" build_type = PROTOLATHE - materials = list(MAT_SILVER = 600, MAT_DIAMOND = 600, MAT_URANIUM = 200) + materials = list(/datum/material/silver = 600, /datum/material/diamond = 600, /datum/material/uranium = 200) build_path = /obj/item/firing_pin/implant/mindshield category = list("Firing Pins") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -230,7 +230,7 @@ desc = "This is a security firing pin which only authorizes users who are off station." id = "pin_away" build_type = PROTOLATHE - materials = list(MAT_METAL = 1500, MAT_GLASS = 2000) + materials = list(/datum/material/iron = 1500, /datum/material/glass = 2000) build_path = /obj/item/firing_pin/away category = list("Firing Pins") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -244,7 +244,7 @@ desc = "Beefed up version of a standard laser gun." id = "lasercarbine" build_type = PROTOLATHE - materials = list(MAT_METAL = 15000, MAT_GLASS = 10000, MAT_GOLD = 2500, MAT_SILVER = 2500) + materials = list(/datum/material/iron = 15000, /datum/material/glass = 10000, /datum/material/gold = 2500, /datum/material/silver = 2500) build_path = /obj/item/gun/energy/laser/carbine/nopin category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -254,7 +254,7 @@ desc = "A high-tech revolver that fires internal, reusable shock cartridges in a revolving cylinder. The cartridges can be recharged using conventional rechargers." id = "stunrevolver" build_type = PROTOLATHE - materials = list(MAT_METAL = 10000, MAT_GLASS = 10000, MAT_SILVER = 10000) + materials = list(/datum/material/iron = 10000, /datum/material/glass = 10000, /datum/material/silver = 10000) build_path = /obj/item/gun/energy/tesla_revolver category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -264,7 +264,7 @@ desc = "An energy gun with an experimental miniaturized reactor." id = "nuclear_gun" build_type = PROTOLATHE - materials = list(MAT_METAL = 10000, MAT_GLASS = 2000, MAT_URANIUM = 3000, MAT_TITANIUM = 1000) + materials = list(/datum/material/iron = 10000, /datum/material/glass = 2000, /datum/material/uranium = 3000, /datum/material/titanium = 1000) build_path = /obj/item/gun/energy/e_gun/nuclear category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -274,7 +274,7 @@ desc = "A powerful long ranged anti-material rifle that fires charged particle beams to obliterate targets." id = "beamrifle" build_type = PROTOLATHE - materials = list(MAT_METAL = 10000, MAT_GLASS = 5000, MAT_DIAMOND = 5000, MAT_URANIUM = 8000, MAT_SILVER = 4500, MAT_GOLD = 5000) + materials = list(/datum/material/iron = 10000, /datum/material/glass = 5000, /datum/material/diamond = 5000, /datum/material/uranium = 8000, /datum/material/silver = 4500, /datum/material/gold = 5000) build_path = /obj/item/gun/energy/beam_rifle category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -284,7 +284,7 @@ desc = "Your opponent will bubble into a messy pile of goop." id = "decloner" build_type = PROTOLATHE - materials = list(MAT_GOLD = 5000,MAT_URANIUM = 10000) + materials = list(/datum/material/gold = 5000,/datum/material/uranium = 10000) reagents_list = list(/datum/reagent/toxin/mutagen = 40) build_path = /obj/item/gun/energy/decloner category = list("Weapons") @@ -295,7 +295,7 @@ desc = "A gun that fires many syringes." id = "rapidsyringe" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 1000) build_path = /obj/item/gun/syringe/rapidsyringe category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -305,7 +305,7 @@ desc = "A gun that shoots temperature beam like projectiles to change temperature." id = "temp_gun" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 500, MAT_SILVER = 3000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 500, /datum/material/silver = 3000) build_path = /obj/item/gun/energy/temperature category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -315,7 +315,7 @@ desc = "A tool that discharges controlled radiation which induces mutation in plant cells. Harmless to other organic life." id = "flora_gun" build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_GLASS = 500) + materials = list(/datum/material/iron = 2000, /datum/material/glass = 500) reagents_list = list(/datum/reagent/radium = 20) build_path = /obj/item/gun/energy/floragun category = list("Weapons") @@ -326,7 +326,7 @@ desc = "Not quite as menacing as it sounds" id = "xray_laser" build_type = PROTOLATHE - materials = list(MAT_GOLD = 5000, MAT_URANIUM = 4000, MAT_METAL = 5000, MAT_TITANIUM = 2000, MAT_BLUESPACE = 2000) + materials = list(/datum/material/gold = 5000, /datum/material/uranium = 4000, /datum/material/iron = 5000, /datum/material/titanium = 2000, /datum/material/bluespace = 2000) build_path = /obj/item/gun/energy/xray category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -336,7 +336,7 @@ desc = "How to dismantle a cyborg : The gun." id = "ioncarbine" build_type = PROTOLATHE - materials = list(MAT_SILVER = 6000, MAT_METAL = 8000, MAT_URANIUM = 2000) + materials = list(/datum/material/silver = 6000, /datum/material/iron = 8000, /datum/material/uranium = 2000) build_path = /obj/item/gun/energy/ionrifle/carbine category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -346,7 +346,7 @@ desc = "A projector that emits high density quantum-coupled bluespace beams." id = "wormholeprojector" build_type = PROTOLATHE - materials = list(MAT_SILVER = 2000, MAT_METAL = 5000, MAT_DIAMOND = 2000, MAT_BLUESPACE = 3000) + materials = list(/datum/material/silver = 2000, /datum/material/iron = 5000, /datum/material/diamond = 2000, /datum/material/bluespace = 3000) build_path = /obj/item/gun/energy/wormhole_projector category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -356,7 +356,7 @@ desc = "A multi-mode device that blasts one-point bluespace-gravitational bolts that locally distort gravity." id = "gravitygun" build_type = PROTOLATHE - materials = list(MAT_SILVER = 8000, MAT_URANIUM = 8000, MAT_GLASS = 12000, MAT_METAL = 12000, MAT_DIAMOND = 3000, MAT_BLUESPACE = 3000) + materials = list(/datum/material/silver = 8000, /datum/material/uranium = 8000, /datum/material/glass = 12000, /datum/material/iron = 12000, /datum/material/diamond = 3000, /datum/material/bluespace = 3000) build_path = /obj/item/gun/energy/gravity_gun category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -366,7 +366,7 @@ desc = "A reverse-engineered energy crossbow favored by syndicate infiltration teams and carp hunters." id = "largecrossbow" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 1500, MAT_URANIUM = 1500, MAT_SILVER = 1500) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 1500, /datum/material/uranium = 1500, /datum/material/silver = 1500) build_path = /obj/item/gun/energy/kinetic_accelerator/crossbow/large category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -376,7 +376,7 @@ desc = "A weapon which fires ferromagnetic slugs." id = "magpistol" build_type = PROTOLATHE - materials = list(MAT_METAL = 7500, MAT_GLASS = 1000, MAT_URANIUM = 1000, MAT_TITANIUM = 5000, MAT_SILVER = 2000) + materials = list(/datum/material/iron = 7500, /datum/material/glass = 1000, /datum/material/uranium = 1000, /datum/material/titanium = 5000, /datum/material/silver = 2000) build_path = /obj/item/gun/ballistic/automatic/magrifle/pistol/nopin category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -386,7 +386,7 @@ desc = "An upscaled Magpistol in rifle form." id = "magrifle" build_type = PROTOLATHE - materials = list(MAT_METAL = 10000, MAT_GLASS = 2000, MAT_URANIUM = 2000, MAT_TITANIUM = 10000, MAT_SILVER = 4000, MAT_GOLD = 2000) + materials = list(/datum/material/iron = 10000, /datum/material/glass = 2000, /datum/material/uranium = 2000, /datum/material/titanium = 10000, /datum/material/silver = 4000, /datum/material/gold = 2000) build_path = /obj/item/gun/ballistic/automatic/magrifle/nopin category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -400,7 +400,7 @@ desc = "A grenade that affects a larger area and use larger containers." id = "large_Grenade" build_type = PROTOLATHE - materials = list(MAT_METAL = 3000) + materials = list(/datum/material/iron = 3000) build_path = /obj/item/grenade/chem_grenade/large category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -410,7 +410,7 @@ desc = "An advanced grenade that is able to self ignite its mixture." id = "pyro_Grenade" build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_PLASMA = 500) + materials = list(/datum/material/iron = 2000, /datum/material/plasma = 500) build_path = /obj/item/grenade/chem_grenade/pyro category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -420,7 +420,7 @@ desc = "An advanced grenade that rapidly cools its contents upon detonation." id = "cryo_Grenade" build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_SILVER = 500) + materials = list(/datum/material/iron = 2000, /datum/material/silver = 500) build_path = /obj/item/grenade/chem_grenade/cryo category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -430,7 +430,7 @@ desc = "An advanced grenade that can be detonated several times, best used with a repeating igniter." id = "adv_Grenade" build_type = PROTOLATHE - materials = list(MAT_METAL = 3000, MAT_GLASS = 500) + materials = list(/datum/material/iron = 3000, /datum/material/glass = 500) build_path = /obj/item/grenade/chem_grenade/adv_release category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -444,7 +444,7 @@ desc = "An advanced riot shield made of lightweight materials that collapses for easy storage." id = "tele_shield" build_type = PROTOLATHE - materials = list(MAT_METAL = 4000, MAT_GLASS = 4000, MAT_SILVER = 300, MAT_TITANIUM = 200) + materials = list(/datum/material/iron = 4000, /datum/material/glass = 4000, /datum/material/silver = 300, /datum/material/titanium = 200) build_path = /obj/item/shield/riot/tele category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -454,7 +454,16 @@ desc = "A reverse-engineered suppressor that fits on most small arms with threaded barrels." id = "suppressor" build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_SILVER = 500) + materials = list(/datum/material/iron = 2000, /datum/material/silver = 500) build_path = /obj/item/suppressor category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY + +/datum/design/cleric_mace + name = "Cleric Mace" + desc = "A mace fit for a cleric. Useful for bypassing plate armor, but too bulky for much else." + id = "cleric_mace" + build_type = AUTOLATHE + materials = list(MAT_CATEGORY_RIGID = 12000) + build_path = /obj/item/melee/cleric_mace + category = list("Imported") diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm index 7dd7b76007..10566b7de2 100644 --- a/code/modules/research/destructive_analyzer.dm +++ b/code/modules/research/destructive_analyzer.dm @@ -61,12 +61,12 @@ Note: Must be placed within 3 tiles of the R&D Console . = 0 var/datum/component/material_container/storage = linked_console?.linked_lathe?.materials.mat_container if(storage) //Also sends salvaged materials to a linked protolathe, if any. - for(var/material in thing.materials) - var/can_insert = min((storage.max_amount - storage.total_amount), (max(thing.materials[material]*(decon_mod/10), thing.materials[material]))) - storage.insert_amount(can_insert, material) + for(var/material in thing.custom_materials) + var/can_insert = min((storage.max_amount - storage.total_amount), (min(thing.custom_materials[material]*(decon_mod/10), thing.custom_materials[material]))) + storage.insert_amount_mat(can_insert, material) . += can_insert if (.) - linked_console.linked_lathe.materials.silo_log(src, "reclaimed", 1, "[thing.name]", thing.materials) + linked_console.linked_lathe.materials.silo_log(src, "reclaimed", 1, "[thing.name]", thing.custom_materials) /obj/machinery/rnd/destructive_analyzer/proc/destroy_item(obj/item/thing, innermode = FALSE) if(QDELETED(thing) || QDELETED(src) || QDELETED(linked_console)) @@ -132,7 +132,7 @@ Note: Must be placed within 3 tiles of the R&D Console var/user_mode_string = "" if(length(point_value)) user_mode_string = " for [json_encode(point_value)] points" - else if(loaded_item.materials.len) + else if(loaded_item.custom_materials?.len) user_mode_string = " for material reclamation" var/choice = input("Are you sure you want to destroy [loaded_item][user_mode_string]?") in list("Proceed", "Cancel") if(choice == "Cancel") diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index fd68a393f9..b43abf97b2 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -430,8 +430,8 @@ visible_message("[exp_on] activates the crushing mechanism, [exp_on] is destroyed!") if(linked_console.linked_lathe) var/datum/component/material_container/linked_materials = linked_console.linked_lathe.GetComponent(/datum/component/material_container) - for(var/material in exp_on.materials) - linked_materials.insert_amount( min((linked_materials.max_amount - linked_materials.total_amount), (exp_on.materials[material])), material) + for(var/material in exp_on.custom_materials) + linked_materials.insert_amount_mat( min((linked_materials.max_amount - linked_materials.total_amount), (exp_on.custom_materials[material])), material) if(prob(EFFECT_PROB_LOW) && criticalReaction) visible_message("[src]'s crushing mechanism slowly and smoothly descends, flattening the [exp_on]!") new /obj/item/stack/sheet/plasteel(get_turf(pick(oview(1,src)))) diff --git a/code/modules/research/machinery/_production.dm b/code/modules/research/machinery/_production.dm index 25e8b82cc4..41ed6a556e 100644 --- a/code/modules/research/machinery/_production.dm +++ b/code/modules/research/machinery/_production.dm @@ -29,6 +29,14 @@ materials = AddComponent(/datum/component/remote_materials, "lathe", mapload) RefreshParts() +/obj/machinery/rnd/production/Destroy() + materials = null + cached_designs = null + matching_designs = null + QDEL_NULL(stored_research) + host_research = null + return ..() + /obj/machinery/rnd/production/proc/update_research() host_research.copy_research_to(stored_research, TRUE) update_designs() @@ -51,10 +59,6 @@ popup.set_content(generate_ui()) popup.open() -/obj/machinery/rnd/production/Destroy() - QDEL_NULL(stored_research) - return ..() - /obj/machinery/rnd/production/proc/calculate_efficiency() efficiency_coeff = 1 if(reagents) //If reagents/materials aren't initialized, don't bother, we'll be doing this again after reagents init anyways. @@ -92,23 +96,24 @@ var/obj/O = new path(get_turf(src)) if(efficient_with(O.type) && isitem(O)) var/obj/item/I = O - I.materials = matlist.Copy() + I.material_flags |= MATERIAL_NO_EFFECTS //Find a better way to do this. + I.set_custom_materials(matlist.Copy()) SSblackbox.record_feedback("nested tally", "item_printed", amount, list("[type]", "[path]")) investigate_log("[key_name(user)] built [amount] of [path] at [src]([type]).", INVESTIGATE_RESEARCH) -/obj/machinery/rnd/production/proc/check_mat(datum/design/being_built, M) // now returns how many times the item can be built with the material +/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 var/list/all_materials = being_built.reagents_list + being_built.materials - var/A = materials.mat_container.amount(M) + var/A = materials.mat_container.get_material_amount(mat) if(!A) - A = reagents.get_reagent_amount(M) + A = reagents.get_reagent_amount(mat) // these types don't have their .materials set in do_print, so don't allow // them to be constructed efficiently var/ef = efficient_with(being_built.build_path) ? efficiency_coeff : 1 - return round(A / max(1, all_materials[M] / ef)) + return round(A / max(1, all_materials[mat] / ef)) /obj/machinery/rnd/production/proc/efficient_with(path) return !ispath(path, /obj/item/stack/sheet) && !ispath(path, /obj/item/stack/ore/bluespace_crystal) @@ -152,7 +157,7 @@ if(!reagents.has_reagent(R, D.reagents_list[R]*amount/coeff)) say("Not enough reagents to complete prototype[amount > 1? "s" : ""].") return FALSE - materials.mat_container.use_amount(efficient_mats, amount) + materials.mat_container.use_materials(efficient_mats, amount) materials.silo_log(src, "built", -amount, "[D.name]", efficient_mats) for(var/R in D.reagents_list) reagents.remove_reagent(R, D.reagents_list[R]*amount/coeff) @@ -213,11 +218,13 @@ var/list/l = list() l += "

Material Storage:

" for(var/mat_id in materials.mat_container.materials) - var/datum/material/M = materials.mat_container.materials[mat_id] - l += "* [M.amount] of [M.name]: " - if(M.amount >= MINERAL_MATERIAL_AMOUNT) l += "Eject [RDSCREEN_NOBREAK]" - if(M.amount >= MINERAL_MATERIAL_AMOUNT*5) l += "5x [RDSCREEN_NOBREAK]" - if(M.amount >= MINERAL_MATERIAL_AMOUNT) l += "All[RDSCREEN_NOBREAK]" + var/datum/material/M = mat_id + var/amount = materials.mat_container.materials[mat_id] + var/ref = REF(M) + l += "* [amount] of [M.name]: " + if(amount >= MINERAL_MATERIAL_AMOUNT) l += "Eject [RDSCREEN_NOBREAK]" + if(amount >= MINERAL_MATERIAL_AMOUNT*5) l += "5x [RDSCREEN_NOBREAK]" + if(amount >= MINERAL_MATERIAL_AMOUNT) l += "All[RDSCREEN_NOBREAK]" l += "" l += "
[RDSCREEN_NOBREAK]" return l @@ -305,7 +312,8 @@ if(ls["disposeall"]) //Causes the protolathe to dispose of all it's reagents. reagents.clear_reagents() if(ls["ejectsheet"]) //Causes the protolathe to eject a sheet of material - eject_sheets(ls["ejectsheet"], ls["eject_amt"]) + var/datum/material/M = locate(ls["ejectsheet"]) + eject_sheets(M, ls["eject_amt"]) updateUsrDialog() /obj/machinery/rnd/production/proc/eject_sheets(eject_sheet, eject_amt) diff --git a/code/modules/research/nanites/extra_settings/_extra_setting.dm b/code/modules/research/nanites/extra_settings/_extra_setting.dm new file mode 100644 index 0000000000..b3bef77eb4 --- /dev/null +++ b/code/modules/research/nanites/extra_settings/_extra_setting.dm @@ -0,0 +1,20 @@ +/datum/nanite_extra_setting + var/setting_type + var/value + +/datum/nanite_extra_setting/proc/get_value() + return value + +/datum/nanite_extra_setting/proc/set_value(value) + src.value = value + +/datum/nanite_extra_setting/proc/get_copy() + return + +//I made the choice to send the name as part of the parameter instead of storing it directly on +//this datum as a way of avoiding duplication of data between the containing assoc list +//and this datum. +//Also make sure to double wrap the list when implementing this as +//+= is interpreted as a combine on lists, so the outer list gets unwrapped +/datum/nanite_extra_setting/proc/get_frontend_list(name) + return diff --git a/code/modules/research/nanites/extra_settings/boolean.dm b/code/modules/research/nanites/extra_settings/boolean.dm new file mode 100644 index 0000000000..7d66eb988e --- /dev/null +++ b/code/modules/research/nanites/extra_settings/boolean.dm @@ -0,0 +1,27 @@ +/datum/nanite_extra_setting/boolean + setting_type = NESTYPE_BOOLEAN + var/true_text + var/false_text + +/datum/nanite_extra_setting/boolean/New(initial, true_text, false_text) + value = initial + src.true_text = true_text + src.false_text = false_text + +/datum/nanite_extra_setting/boolean/set_value(value) + if(isnull(value)) + src.value = !src.value + return + . = ..() + +/datum/nanite_extra_setting/boolean/get_copy() + return new /datum/nanite_extra_setting/boolean(value, true_text, false_text) + +/datum/nanite_extra_setting/boolean/get_frontend_list(name) + return list(list( + "name" = name, + "type" = setting_type, + "value" = value, + "true_text" = true_text, + "false_text" = false_text + )) diff --git a/code/modules/research/nanites/extra_settings/number.dm b/code/modules/research/nanites/extra_settings/number.dm new file mode 100644 index 0000000000..6e63ae067e --- /dev/null +++ b/code/modules/research/nanites/extra_settings/number.dm @@ -0,0 +1,32 @@ +/datum/nanite_extra_setting/number + setting_type = NESTYPE_NUMBER + var/min + var/max + var/unit = "" + +/datum/nanite_extra_setting/number/New(initial, min, max, unit) + value = initial + src.min = min + src.max = max + if(unit) + src.unit = unit + +/datum/nanite_extra_setting/number/set_value(value) + if(istext(value)) + value = text2num(value) + if(!value || !isnum(value)) + return + src.value = CLAMP(value, min, max) + +/datum/nanite_extra_setting/number/get_copy() + return new /datum/nanite_extra_setting/number(value, min, max, unit) + +/datum/nanite_extra_setting/number/get_frontend_list(name) + return list(list( + "name" = name, + "type" = setting_type, + "value" = value, + "min" = min, + "max" = max, + "unit" = unit + )) diff --git a/code/modules/research/nanites/extra_settings/text.dm b/code/modules/research/nanites/extra_settings/text.dm new file mode 100644 index 0000000000..56aa3dd07f --- /dev/null +++ b/code/modules/research/nanites/extra_settings/text.dm @@ -0,0 +1,18 @@ +/datum/nanite_extra_setting/text + setting_type = NESTYPE_TEXT + +/datum/nanite_extra_setting/text/New(initial) + value = initial + +/datum/nanite_extra_setting/text/set_value(value) + src.value = trim(value) + +/datum/nanite_extra_setting/text/get_copy() + return new /datum/nanite_extra_setting/text(value) + +/datum/nanite_extra_setting/text/get_frontend_list(name) + return list(list( + "name" = name, + "type" = setting_type, + "value" = value + )) diff --git a/code/modules/research/nanites/extra_settings/type.dm b/code/modules/research/nanites/extra_settings/type.dm new file mode 100644 index 0000000000..2085ba510c --- /dev/null +++ b/code/modules/research/nanites/extra_settings/type.dm @@ -0,0 +1,18 @@ +/datum/nanite_extra_setting/type + setting_type = NESTYPE_TYPE + var/list/types + +/datum/nanite_extra_setting/type/New(initial, types) + value = initial + src.types = types + +/datum/nanite_extra_setting/type/get_copy() + return new /datum/nanite_extra_setting/type(value, types) + +/datum/nanite_extra_setting/type/get_frontend_list(name) + return list(list( + "name" = name, + "type" = setting_type, + "value" = value, + "types" = types + )) diff --git a/code/modules/research/nanites/nanite_chamber.dm b/code/modules/research/nanites/nanite_chamber.dm index 515231c24c..4a980a0436 100644 --- a/code/modules/research/nanites/nanite_chamber.dm +++ b/code/modules/research/nanites/nanite_chamber.dm @@ -77,7 +77,7 @@ return occupant.AddComponent(/datum/component/nanites, 100) -/obj/machinery/nanite_chamber/proc/install_program(datum/nanite_program/NP) +/obj/machinery/nanite_chamber/proc/remove_nanites(datum/nanite_program/NP) if(stat & (NOPOWER|BROKEN)) return if((stat & MAINT) || panel_open) @@ -88,74 +88,46 @@ var/locked_state = locked locked = TRUE - //TODO COMPUTERY MACHINE SOUNDS - set_busy(TRUE, "Initializing installation protocol...", "[initial(icon_state)]_raising") - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Connecting to nanite framework...", "[initial(icon_state)]_active"),20) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Installing program...", "[initial(icon_state)]_falling"),35) - addtimer(CALLBACK(src, .proc/complete_installation, locked_state, NP),55) + //TODO OMINOUS MACHINE SOUNDS + set_busy(TRUE, "Initializing cleanup protocol...", "[initial(icon_state)]_raising") + addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Analyzing host bio-structure...", "[initial(icon_state)]_active"),20) + addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Pinging nanites...", "[initial(icon_state)]_active"),40) + addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Initiating graceful self-destruct sequence...", "[initial(icon_state)]_active"),70) + addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Removing debris...", "[initial(icon_state)]_falling"),110) + addtimer(CALLBACK(src, .proc/complete_removal, locked_state),130) -/obj/machinery/nanite_chamber/proc/complete_installation(locked_state, datum/nanite_program/NP) +/obj/machinery/nanite_chamber/proc/complete_removal(locked_state) //TODO MACHINE DING locked = locked_state set_busy(FALSE) if(!occupant) return + SEND_SIGNAL(occupant, COMSIG_NANITE_DELETE) - SEND_SIGNAL(occupant, COMSIG_NANITE_ADD_PROGRAM, NP.copy()) - -/obj/machinery/nanite_chamber/proc/uninstall_program(datum/nanite_program/NP) - if(stat & (NOPOWER|BROKEN)) - return - if((stat & MAINT) || panel_open) - return - if(!occupant || busy) - return - - var/locked_state = locked - locked = TRUE - - //TODO COMPUTERY MACHINE SOUNDS - set_busy(TRUE, "Initializing uninstallation protocol...", "[initial(icon_state)]_raising") - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Connecting to nanite framework...", "[initial(icon_state)]_active"),20) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Uninstalling program...", "[initial(icon_state)]_falling"),35) - addtimer(CALLBACK(src, .proc/complete_uninstallation, locked_state, NP),55) - -/obj/machinery/nanite_chamber/proc/complete_uninstallation(locked_state, datum/nanite_program/NP) - //TODO MACHINE DING - locked = locked_state - set_busy(FALSE) - if(!occupant) - return - qdel(NP) - -/obj/machinery/nanite_chamber/update_icon() - cut_overlays() - - if((stat & MAINT) || panel_open) - add_overlay("maint") - - else if(!(stat & (NOPOWER|BROKEN))) - if(busy || locked) - add_overlay("red") - if(locked) - add_overlay("bolted") - else - add_overlay("green") - +/obj/machinery/nanite_chamber/update_icon_state() //running and someone in there if(occupant) if(busy) icon_state = busy_icon_state else - icon_state = initial(icon_state)+ "_occupied" - return + icon_state = initial(icon_state) + "_occupied" + else + //running + icon_state = initial(icon_state) + (state_open ? "_open" : "") - //running - icon_state = initial(icon_state)+ (state_open ? "_open" : "") +/obj/machinery/nanite_chamber/update_overlays() + . = ..() -/obj/machinery/nanite_chamber/power_change() - ..() - update_icon() + if((stat & MAINT) || panel_open) + . += "maint" + + else if(!(stat & (NOPOWER|BROKEN))) + if(busy || locked) + . += "red" + if(locked) + . += "bolted" + else + . += "green" /obj/machinery/nanite_chamber/proc/toggle_open(mob/user) if(panel_open) @@ -182,7 +154,7 @@ user.last_special = world.time + CLICK_CD_BREAKOUT user.visible_message("You see [user] kicking against the door of [src]!", \ "You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)", \ - "You hear a metallic creaking from [src].") + "You hear a metallic creaking from [src].") if(do_after(user,(breakout_time), target = src)) if(!user || user.stat != CONSCIOUS || user.loc != src || state_open || !locked || busy) return @@ -231,6 +203,8 @@ toggle_open(user) /obj/machinery/nanite_chamber/MouseDrop_T(mob/target, mob/user) - if(user.stat || user.lying || !Adjacent(user) || !user.Adjacent(target) || !iscarbon(target) || !user.IsAdvancedToolUser()) + if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK) || !Adjacent(target) || !user.Adjacent(target) || !iscarbon(target)) return - close_machine(target) + if(close_machine(target)) + log_combat(user, target, "inserted", null, "into [src].") + add_fingerprint(user) diff --git a/code/modules/research/nanites/nanite_chamber_computer.dm b/code/modules/research/nanites/nanite_chamber_computer.dm index dec263368b..0750d3d268 100644 --- a/code/modules/research/nanites/nanite_chamber_computer.dm +++ b/code/modules/research/nanites/nanite_chamber_computer.dm @@ -5,30 +5,13 @@ var/obj/item/disk/nanite_program/disk circuit = /obj/item/circuitboard/computer/nanite_chamber_control icon_screen = "nanite_chamber_control" + ui_x = 380 + ui_y = 570 /obj/machinery/computer/nanite_chamber_control/Initialize() . = ..() find_chamber() -/obj/machinery/computer/nanite_chamber_control/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/disk/nanite_program)) - var/obj/item/disk/nanite_program/N = I - if(disk) - eject(user) - if(user.transferItemToLoc(N, src)) - to_chat(user, "You insert [N] into [src]") - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0) - disk = N - else - ..() - -/obj/machinery/computer/nanite_chamber_control/proc/eject(mob/living/user) - if(!disk) - return - if(!istype(user) || !Adjacent(user) || !user.put_in_active_hand(disk)) - disk.forceMove(drop_location()) - disk = null - /obj/machinery/computer/nanite_chamber_control/proc/find_chamber() for(var/direction in GLOB.cardinals) var/C = locate(/obj/machinery/nanite_chamber, get_step(src, direction)) @@ -43,41 +26,13 @@ ..() /obj/machinery/computer/nanite_chamber_control/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) - SStgui.try_update_ui(user, src, ui_key, ui, force_open) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) - ui = new(user, src, ui_key, "nanite_chamber_control", name, 550, 800, master_ui, state) + ui = new(user, src, ui_key, "nanite_chamber_control", name, ui_x, ui_y, master_ui, state) ui.open() /obj/machinery/computer/nanite_chamber_control/ui_data() var/list/data = list() - if(disk) - data["has_disk"] = TRUE - var/list/disk_data = list() - var/datum/nanite_program/P = disk.program - if(P) - data["has_program"] = TRUE - disk_data["name"] = P.name - disk_data["desc"] = P.desc - - disk_data["activated"] = P.activated - disk_data["activation_delay"] = P.activation_delay - disk_data["timer"] = P.timer - disk_data["activation_code"] = P.activation_code - disk_data["deactivation_code"] = P.deactivation_code - disk_data["kill_code"] = P.kill_code - disk_data["trigger_code"] = P.trigger_code - disk_data["timer_type"] = P.get_timer_type_text() - - var/list/extra_settings = list() - for(var/X in P.extra_settings) - var/list/setting = list() - setting["name"] = X - setting["value"] = P.get_extra_setting(X) - extra_settings += list(setting) - disk_data["extra_settings"] = extra_settings - if(LAZYLEN(extra_settings)) - disk_data["has_extra_settings"] = TRUE - data["disk"] = disk_data if(!chamber) data["status_msg"] = "No chamber detected." @@ -97,6 +52,7 @@ data["status_msg"] = chamber.busy_message return data + data["status_msg"] = null data["scan_level"] = chamber.scan_level data["locked"] = chamber.locked data["occupant_name"] = chamber.occupant.name @@ -113,46 +69,32 @@ chamber.locked = !chamber.locked chamber.update_icon() . = TRUE - if("eject") - eject(usr) - . = TRUE if("set_safety") - var/threshold = input("Set safety threshold (0-500):", name, null) as null|num + var/threshold = text2num(params["value"]) if(!isnull(threshold)) chamber.set_safety(CLAMP(round(threshold, 1),0,500)) - playsound(src, "terminal_type", 25, 0) - investigate_log("[key_name(chamber.occupant)]'s nanites' safety threshold was set to [threshold] by [key_name(usr)].", INVESTIGATE_NANITES) + playsound(src, "terminal_type", 25, FALSE) + chamber.occupant.investigate_log("'s nanites' safety threshold was set to [threshold] by [key_name(usr)] via [src] at [AREACOORD(src)].", INVESTIGATE_NANITES) . = TRUE if("set_cloud") - var/cloud_id = input("Set cloud ID (1-100, 0 to disable):", name, null) as null|num + var/cloud_id = text2num(params["value"]) if(!isnull(cloud_id)) chamber.set_cloud(CLAMP(round(cloud_id, 1),0,100)) - playsound(src, "terminal_type", 25, 0) - investigate_log("[key_name(chamber.occupant)]'s nanites' cloud id was set to [cloud_id] by [key_name(usr)].", INVESTIGATE_NANITES) + playsound(src, "terminal_type", 25, FALSE) + chamber.occupant.investigate_log("'s nanites' cloud id was set to [cloud_id] by [key_name(usr)] via [src] at [AREACOORD(src)].", INVESTIGATE_NANITES) . = TRUE if("connect_chamber") find_chamber() . = TRUE + if("remove_nanites") + playsound(src, 'sound/machines/terminal_prompt.ogg', 25, FALSE) + chamber.remove_nanites() + log_combat(usr, chamber.occupant, "cleared nanites from", null, "via [src]") + chamber.occupant.investigate_log("'s nanites were cleared by [key_name(usr)] via [src] at [AREACOORD(src)].", INVESTIGATE_NANITES) + . = TRUE if("nanite_injection") - playsound(src, 'sound/machines/terminal_prompt.ogg', 25, 0) + playsound(src, 'sound/machines/terminal_prompt.ogg', 25, FALSE) chamber.inject_nanites() - investigate_log("[key_name(chamber.occupant)] was injected with nanites by [key_name(usr)] using a nanite chamber.", INVESTIGATE_NANITES) + log_combat(usr, chamber.occupant, "injected", null, "with nanites via [src]") + chamber.occupant.investigate_log("was injected with nanites by [key_name(usr)] via [src] at [AREACOORD(src)].", INVESTIGATE_NANITES) . = TRUE - if("add_program") - if(!disk || !chamber || !chamber.occupant) - return - playsound(src, 'sound/machines/terminal_prompt.ogg', 25, 0) - chamber.install_program(disk.program) - investigate_log("Program of type [disk.program.type] was installed into [key_name(chamber.occupant)]'s nanites with a nanite chamber by [key_name(usr)].", INVESTIGATE_NANITES) - . = TRUE - if("remove_program") - if(!chamber || !chamber.occupant) - return - playsound(src, 'sound/machines/terminal_prompt.ogg', 25, 0) - var/list/nanite_programs = list() - SEND_SIGNAL(chamber.occupant, COMSIG_NANITE_GET_PROGRAMS, nanite_programs) - if(LAZYLEN(nanite_programs)) - var/datum/nanite_program/P = nanite_programs[text2num(params["program_id"])] - chamber.uninstall_program(P) - investigate_log("Program of type [P.type] was uninstalled from [key_name(chamber.occupant)]'s nanites with a nanite chamber by [key_name(usr)].", INVESTIGATE_NANITES) - . = TRUE \ No newline at end of file diff --git a/code/modules/research/nanites/nanite_cloud_controller.dm b/code/modules/research/nanites/nanite_cloud_controller.dm index 081b1a7a4c..0731d3067c 100644 --- a/code/modules/research/nanites/nanite_cloud_controller.dm +++ b/code/modules/research/nanites/nanite_cloud_controller.dm @@ -4,9 +4,13 @@ circuit = /obj/item/circuitboard/computer/nanite_cloud_controller icon = 'icons/obj/machines/research.dmi' icon_state = "nanite_cloud_controller" + ui_x = 375 + ui_y = 700 + var/obj/item/disk/nanite_program/disk var/list/datum/nanite_cloud_backup/cloud_backups = list() var/current_view = 0 //0 is the main menu, any other number is the page of the backup with that ID + var/new_backup_id = 1 /obj/machinery/computer/nanite_cloud_controller/Destroy() QDEL_LIST(cloud_backups) //rip backups @@ -19,8 +23,8 @@ if(disk) eject(user) if(user.transferItemToLoc(N, src)) - to_chat(user, "You insert [N] into [src]") - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0) + to_chat(user, "You insert [N] into [src].") + playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) disk = N else ..() @@ -50,13 +54,14 @@ investigate_log("[key_name(user)] created a new nanite cloud backup with id #[cloud_id]", INVESTIGATE_NANITES) /obj/machinery/computer/nanite_cloud_controller/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) - SStgui.try_update_ui(user, src, ui_key, ui, force_open) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) - ui = new(user, src, ui_key, "nanite_cloud_control", name, 600, 800, master_ui, state) + ui = new(user, src, ui_key, "nanite_cloud_control", name, ui_x, ui_y, master_ui, state) ui.open() /obj/machinery/computer/nanite_cloud_controller/ui_data() var/list/data = list() + if(disk) data["has_disk"] = TRUE var/list/disk_data = list() @@ -71,24 +76,28 @@ disk_data["trigger_cooldown"] = P.trigger_cooldown / 10 disk_data["activated"] = P.activated - disk_data["activation_delay"] = P.activation_delay - disk_data["timer"] = P.timer disk_data["activation_code"] = P.activation_code disk_data["deactivation_code"] = P.deactivation_code disk_data["kill_code"] = P.kill_code disk_data["trigger_code"] = P.trigger_code - disk_data["timer_type"] = P.get_timer_type_text() + disk_data["timer_restart"] = P.timer_restart / 10 + disk_data["timer_shutdown"] = P.timer_shutdown / 10 + disk_data["timer_trigger"] = P.timer_trigger / 10 + disk_data["timer_trigger_delay"] = P.timer_trigger_delay / 10 - var/list/extra_settings = list() - for(var/X in P.extra_settings) - var/list/setting = list() - setting["name"] = X - setting["value"] = P.get_extra_setting(X) - extra_settings += list(setting) + var/list/extra_settings = P.get_extra_settings_frontend() disk_data["extra_settings"] = extra_settings if(LAZYLEN(extra_settings)) disk_data["has_extra_settings"] = TRUE + if(istype(P, /datum/nanite_program/sensor)) + var/datum/nanite_program/sensor/sensor = P + if(sensor.can_rule) + disk_data["can_rule"] = TRUE data["disk"] = disk_data + else + data["has_disk"] = FALSE + + data["new_backup_id"] = new_backup_id data["current_view"] = current_view if(current_view) @@ -108,19 +117,30 @@ cloud_program["trigger_cost"] = P.trigger_cost cloud_program["trigger_cooldown"] = P.trigger_cooldown / 10 cloud_program["activated"] = P.activated - cloud_program["activation_delay"] = P.activation_delay - cloud_program["timer"] = P.timer - cloud_program["timer_type"] = P.get_timer_type_text() + cloud_program["timer_restart"] = P.timer_restart / 10 + cloud_program["timer_shutdown"] = P.timer_shutdown / 10 + cloud_program["timer_trigger"] = P.timer_trigger / 10 + cloud_program["timer_trigger_delay"] = P.timer_trigger_delay / 10 + cloud_program["activation_code"] = P.activation_code cloud_program["deactivation_code"] = P.deactivation_code cloud_program["kill_code"] = P.kill_code cloud_program["trigger_code"] = P.trigger_code - var/list/extra_settings = list() - for(var/X in P.extra_settings) - var/list/setting = list() - setting["name"] = X - setting["value"] = P.get_extra_setting(X) - extra_settings += list(setting) + var/list/rules = list() + var/rule_id = 1 + for(var/X in P.rules) + var/datum/nanite_rule/nanite_rule = X + var/list/rule = list() + rule["display"] = nanite_rule.display() + rule["program_id"] = id + rule["id"] = rule_id + rules += list(rule) + rule_id++ + cloud_program["rules"] = rules + if(LAZYLEN(rules)) + cloud_program["has_rules"] = TRUE + + var/list/extra_settings = P.get_extra_settings_frontend() cloud_program["extra_settings"] = extra_settings if(LAZYLEN(extra_settings)) cloud_program["has_extra_settings"] = TRUE @@ -147,17 +167,20 @@ if("set_view") current_view = text2num(params["view"]) . = TRUE + if("update_new_backup_value") + var/backup_value = text2num(params["value"]) + new_backup_id = backup_value if("create_backup") - var/cloud_id = input("Choose a cloud ID (1-100):", name, null) as null|num + var/cloud_id = new_backup_id if(!isnull(cloud_id)) - playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) + playsound(src, 'sound/machines/terminal_prompt.ogg', 50, FALSE) cloud_id = CLAMP(round(cloud_id, 1),1,100) generate_backup(cloud_id, usr) . = TRUE if("delete_backup") var/datum/nanite_cloud_backup/backup = get_backup(current_view) if(backup) - playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) + playsound(src, 'sound/machines/terminal_prompt.ogg', 50, FALSE) qdel(backup) investigate_log("[key_name(usr)] deleted the nanite cloud backup #[current_view]", INVESTIGATE_NANITES) . = TRUE @@ -165,7 +188,7 @@ if(disk && disk.program) var/datum/nanite_cloud_backup/backup = get_backup(current_view) if(backup) - playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) + playsound(src, 'sound/machines/terminal_prompt.ogg', 50, FALSE) var/datum/component/nanites/nanites = backup.nanites nanites.add_program(null, disk.program.copy()) investigate_log("[key_name(usr)] uploaded program [disk.program.name] to cloud #[current_view]", INVESTIGATE_NANITES) @@ -173,12 +196,37 @@ if("remove_program") var/datum/nanite_cloud_backup/backup = get_backup(current_view) if(backup) - playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) + playsound(src, 'sound/machines/terminal_prompt.ogg', 50, FALSE) var/datum/component/nanites/nanites = backup.nanites var/datum/nanite_program/P = nanites.programs[text2num(params["program_id"])] investigate_log("[key_name(usr)] deleted program [P.name] from cloud #[current_view]", INVESTIGATE_NANITES) qdel(P) . = TRUE + if("add_rule") + if(disk && disk.program && istype(disk.program, /datum/nanite_program/sensor)) + var/datum/nanite_program/sensor/rule_template = disk.program + if(!rule_template.can_rule) + return + var/datum/nanite_cloud_backup/backup = get_backup(current_view) + if(backup) + playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) + var/datum/component/nanites/nanites = backup.nanites + var/datum/nanite_program/P = nanites.programs[text2num(params["program_id"])] + var/datum/nanite_rule/rule = rule_template.make_rule(P) + + investigate_log("[key_name(usr)] added rule [rule.display()] to program [P.name] in cloud #[current_view]", INVESTIGATE_NANITES) + . = TRUE + if("remove_rule") + var/datum/nanite_cloud_backup/backup = get_backup(current_view) + if(backup) + playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) + var/datum/component/nanites/nanites = backup.nanites + var/datum/nanite_program/P = nanites.programs[text2num(params["program_id"])] + var/datum/nanite_rule/rule = P.rules[text2num(params["rule_id"])] + rule.remove() + + investigate_log("[key_name(usr)] removed rule [rule.display()] from program [P.name] in cloud #[current_view]", INVESTIGATE_NANITES) + . = TRUE /datum/nanite_cloud_backup var/cloud_id = 0 @@ -193,4 +241,4 @@ /datum/nanite_cloud_backup/Destroy() storage.cloud_backups -= src SSnanites.cloud_backups -= src - return ..() \ No newline at end of file + return ..() diff --git a/code/modules/research/nanites/nanite_hijacker.dm b/code/modules/research/nanites/nanite_hijacker.dm deleted file mode 100644 index 920c42b411..0000000000 --- a/code/modules/research/nanites/nanite_hijacker.dm +++ /dev/null @@ -1,157 +0,0 @@ -/obj/item/nanite_hijacker - name = "nanite remote control" //fake name - desc = "A device that can load nanite programming disks, edit them at will, and imprint them to nanites remotely." - w_class = WEIGHT_CLASS_SMALL - icon = 'icons/obj/device.dmi' - icon_state = "nanite_remote" - item_flags = NOBLUDGEON - var/obj/item/disk/nanite_program/disk - var/datum/nanite_program/program - -/obj/item/nanite_hijacker/AltClick(mob/user) - . = ..() - if(!user.canUseTopic(src, BE_CLOSE)) - return - if(disk) - eject() - return TRUE - -/obj/item/nanite_hijacker/examine(mob/user) - . = ..() - if(disk) - . += "Alt-click [src] to eject the disk." - -/obj/item/nanite_hijacker/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/disk/nanite_program)) - var/obj/item/disk/nanite_program/N = I - if(disk) - eject() - if(user.transferItemToLoc(N, src)) - to_chat(user, "You insert [N] into [src]") - disk = N - program = N.program - else - ..() - -/obj/item/nanite_hijacker/proc/eject(mob/living/user) - if(!disk) - return - if(!istype(user) || !Adjacent(user) || !user.put_in_hand(disk)) - disk.forceMove(drop_location()) - disk = null - program = null - -/obj/item/nanite_hijacker/afterattack(atom/target, mob/user, etc) - if(!disk || !disk.program) - return - if(isliving(target)) - var/success = SEND_SIGNAL(target, COMSIG_NANITE_ADD_PROGRAM, program.copy()) - switch(success) - if(NONE) - to_chat(user, "You don't detect any nanites in [target].") - if(COMPONENT_PROGRAM_INSTALLED) - to_chat(user, "You insert the currently loaded program into [target]'s nanites.") - if(COMPONENT_PROGRAM_NOT_INSTALLED) - to_chat(user, "You try to insert the currently loaded program into [target]'s nanites, but the installation fails.") - -//Same UI as the nanite programmer, as it pretty much does the same -/obj/item/nanite_hijacker/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.hands_state) - SStgui.try_update_ui(user, src, ui_key, ui, force_open) - if(!ui) - ui = new(user, src, ui_key, "nanite_programmer", "Internal Nanite Programmer", 420, 800, master_ui, state) - ui.open() - -/obj/item/nanite_hijacker/ui_data() - var/list/data = list() - data["has_disk"] = istype(disk) - data["has_program"] = istype(program) - if(program) - data["name"] = program.name - data["desc"] = program.desc - data["use_rate"] = program.use_rate - data["can_trigger"] = program.can_trigger - data["trigger_cost"] = program.trigger_cost - data["trigger_cooldown"] = program.trigger_cooldown / 10 - - data["activated"] = program.activated - data["activation_delay"] = program.activation_delay - data["timer"] = program.timer - data["activation_code"] = program.activation_code - data["deactivation_code"] = program.deactivation_code - data["kill_code"] = program.kill_code - data["trigger_code"] = program.trigger_code - data["timer_type"] = program.get_timer_type_text() - - var/list/extra_settings = list() - for(var/X in program.extra_settings) - var/list/setting = list() - setting["name"] = X - setting["value"] = program.get_extra_setting(X) - extra_settings += list(setting) - data["extra_settings"] = extra_settings - if(LAZYLEN(extra_settings)) - data["has_extra_settings"] = TRUE - - return data - -/obj/item/nanite_hijacker/ui_act(action, params) - if(..()) - return - switch(action) - if("eject") - eject(usr) - . = TRUE - if("toggle_active") - program.activated = !program.activated //we don't use the activation procs since we aren't in a mob - if(program.activated) - program.activation_delay = 0 - . = TRUE - if("set_code") - var/new_code = input("Set code (0000-9999):", name, null) as null|num - if(!isnull(new_code)) - new_code = CLAMP(round(new_code, 1),0,9999) - else - return - - var/target_code = params["target_code"] - switch(target_code) - if("activation") - program.activation_code = CLAMP(round(new_code, 1),0,9999) - if("deactivation") - program.deactivation_code = CLAMP(round(new_code, 1),0,9999) - if("kill") - program.kill_code = CLAMP(round(new_code, 1),0,9999) - if("trigger") - program.trigger_code = CLAMP(round(new_code, 1),0,9999) - . = TRUE - if("set_extra_setting") - program.set_extra_setting(usr, params["target_setting"]) - . = TRUE - if("set_activation_delay") - var/delay = input("Set activation delay in seconds (0-1800):", name, program.activation_delay) as null|num - if(!isnull(delay)) - delay = CLAMP(round(delay, 1),0,1800) - program.activation_delay = delay - if(delay) - program.activated = FALSE - . = TRUE - if("set_timer") - var/timer = input("Set timer in seconds (10-3600):", name, program.timer) as null|num - if(!isnull(timer)) - if(!timer == 0) - timer = CLAMP(round(timer, 1),10,3600) - program.timer = timer - . = TRUE - if("set_timer_type") - var/new_type = input("Choose the timer effect","Timer Effect") as null|anything in list("Deactivate","Self-Delete","Trigger","Reset Activation Timer") - if(new_type) - switch(new_type) - if("Deactivate") - program.timer_type = NANITE_TIMER_DEACTIVATE - if("Self-Delete") - program.timer_type = NANITE_TIMER_SELFDELETE - if("Trigger") - program.timer_type = NANITE_TIMER_TRIGGER - if("Reset Activation Timer") - program.timer_type = NANITE_TIMER_RESET - . = TRUE \ No newline at end of file diff --git a/code/modules/research/nanites/nanite_misc_items.dm b/code/modules/research/nanites/nanite_misc_items.dm index cbcdfb0f9f..6837543d11 100644 --- a/code/modules/research/nanites/nanite_misc_items.dm +++ b/code/modules/research/nanites/nanite_misc_items.dm @@ -6,4 +6,4 @@ icon_state = "nanite_remote" /obj/item/nanite_injector/attack_self(mob/user) - user.AddComponent(/datum/component/nanites, 150) \ No newline at end of file + user.AddComponent(/datum/component/nanites, 150) diff --git a/code/modules/research/nanites/nanite_program_hub.dm b/code/modules/research/nanites/nanite_program_hub.dm index d6e0bbdabb..ea4392f236 100644 --- a/code/modules/research/nanites/nanite_program_hub.dm +++ b/code/modules/research/nanites/nanite_program_hub.dm @@ -7,18 +7,21 @@ use_power = IDLE_POWER_USE anchored = TRUE density = TRUE + ui_x = 500 + ui_y = 700 var/obj/item/disk/nanite_program/disk var/datum/techweb/linked_techweb var/current_category = "Main" - var/detail_view = FALSE + var/detail_view = TRUE var/categories = list( list(name = "Utility Nanites"), list(name = "Medical Nanites"), list(name = "Sensor Nanites"), list(name = "Augmentation Nanites"), list(name = "Suppression Nanites"), - list(name = "Weaponized Nanites") + list(name = "Weaponized Nanites"), + //list(name = "Protocols") B.E.P.I.S Content, which we dont have ) /obj/machinery/nanite_program_hub/Initialize() @@ -31,8 +34,8 @@ if(disk) eject(user) if(user.transferItemToLoc(N, src)) - to_chat(user, "You insert [N] into [src]") - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0) + to_chat(user, "You insert [N] into [src].") + playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) disk = N else ..() @@ -45,10 +48,9 @@ disk = null /obj/machinery/nanite_program_hub/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) - SStgui.try_update_ui(user, src, ui_key, ui, force_open) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) - ui = new(user, src, ui_key, "nanite_program_hub", name, 500, 700, master_ui, state) - ui.set_autoupdate(FALSE) //to avoid making the whole program list every second + ui = new(user, src, ui_key, "nanite_program_hub", name, ui_x, ui_y, master_ui, state) ui.open() /obj/machinery/nanite_program_hub/ui_data() @@ -62,25 +64,31 @@ disk_data["name"] = P.name disk_data["desc"] = P.desc data["disk"] = disk_data + else + data["has_disk"] = FALSE data["detail_view"] = detail_view - data["category"] = current_category - if(current_category != "Main") - var/list/program_list = list() - for(var/i in linked_techweb.researched_designs) - var/datum/design/nanites/D = SSresearch.techweb_design_by_id(i) - if(!istype(D)) - continue - if(current_category in D.category) - var/list/program_design = list() - program_design["id"] = D.id - program_design["name"] = D.name - program_design["desc"] = D.desc - program_list += list(program_design) - data["program_list"] = program_list - else - data["categories"] = categories + return data + +/obj/machinery/nanite_program_hub/ui_static_data(mob/user) + var/list/data = list() + data["programs"] = list() + for(var/i in linked_techweb.researched_designs) + var/datum/design/nanites/D = SSresearch.techweb_design_by_id(i) + if(!istype(D)) + continue + var/cat_name = D.category[1] //just put them in the first category fuck it + if(isnull(data["programs"][cat_name])) + data["programs"][cat_name] = list() + var/list/program_design = list() + program_design["id"] = D.id + program_design["name"] = D.name + program_design["desc"] = D.desc + data["programs"][cat_name] += list(program_design) + + if(!length(data["programs"])) + data["programs"] = null return data @@ -101,11 +109,10 @@ qdel(disk.program) disk.program = new downloaded.program_type disk.name = "[initial(disk.name)] \[[disk.program.name]\]" - playsound(src, 'sound/machines/terminal_prompt.ogg', 25, 0) + playsound(src, 'sound/machines/terminal_prompt.ogg', 25, FALSE) . = TRUE - if("set_category") - var/new_category = params["category"] - current_category = new_category + if("refresh") + update_static_data(usr) . = TRUE if("toggle_details") detail_view = !detail_view diff --git a/code/modules/research/nanites/nanite_programmer.dm b/code/modules/research/nanites/nanite_programmer.dm index fd22fbf4b1..d81880c6d9 100644 --- a/code/modules/research/nanites/nanite_programmer.dm +++ b/code/modules/research/nanites/nanite_programmer.dm @@ -9,6 +9,9 @@ use_power = IDLE_POWER_USE anchored = TRUE density = TRUE + flags_1 = HEAR_1 + ui_x = 420 + ui_y = 550 /obj/machinery/nanite_programmer/attackby(obj/item/I, mob/user) if(istype(I, /obj/item/disk/nanite_program)) @@ -17,7 +20,7 @@ eject(user) if(user.transferItemToLoc(N, src)) to_chat(user, "You insert [N] into [src]") - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0) + playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) disk = N program = N.program else @@ -32,9 +35,9 @@ program = null /obj/machinery/nanite_programmer/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) - SStgui.try_update_ui(user, src, ui_key, ui, force_open) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) - ui = new(user, src, ui_key, "nanite_programmer", name, 600, 800, master_ui, state) + ui = new(user, src, ui_key, "nanite_programmer", name, ui_x, ui_y, master_ui, state) ui.open() /obj/machinery/nanite_programmer/ui_data() @@ -50,20 +53,16 @@ data["trigger_cooldown"] = program.trigger_cooldown / 10 data["activated"] = program.activated - data["activation_delay"] = program.activation_delay - data["timer"] = program.timer data["activation_code"] = program.activation_code data["deactivation_code"] = program.deactivation_code data["kill_code"] = program.kill_code data["trigger_code"] = program.trigger_code - data["timer_type"] = program.get_timer_type_text() + data["timer_restart"] = program.timer_restart / 10 + data["timer_shutdown"] = program.timer_shutdown / 10 + data["timer_trigger"] = program.timer_trigger / 10 + data["timer_trigger_delay"] = program.timer_trigger_delay / 10 - var/list/extra_settings = list() - for(var/X in program.extra_settings) - var/list/setting = list() - setting["name"] = X - setting["value"] = program.get_extra_setting(X) - extra_settings += list(setting) + var/list/extra_settings = program.get_extra_settings_frontend() data["extra_settings"] = extra_settings if(LAZYLEN(extra_settings)) data["has_extra_settings"] = TRUE @@ -78,20 +77,12 @@ eject(usr) . = TRUE if("toggle_active") - playsound(src, "terminal_type", 25, 0) + playsound(src, "terminal_type", 25, FALSE) program.activated = !program.activated //we don't use the activation procs since we aren't in a mob - if(program.activated) - program.activation_delay = 0 . = TRUE if("set_code") - var/new_code = input("Set code (0000-9999):", name, null) as null|num - if(!isnull(new_code)) - playsound(src, "terminal_type", 25, 0) - new_code = CLAMP(round(new_code, 1),0,9999) - else - return - - playsound(src, "terminal_type", 25, 0) + var/new_code = text2num(params["code"]) + playsound(src, "terminal_type", 25, FALSE) var/target_code = params["target_code"] switch(target_code) if("activation") @@ -104,37 +95,44 @@ program.trigger_code = CLAMP(round(new_code, 1),0,9999) . = TRUE if("set_extra_setting") - program.set_extra_setting(usr, params["target_setting"]) - playsound(src, "terminal_type", 25, 0) + program.set_extra_setting(params["target_setting"], params["value"]) + playsound(src, "terminal_type", 25, FALSE) . = TRUE - if("set_activation_delay") - var/delay = input("Set activation delay in seconds (0-1800):", name, program.activation_delay) as null|num - if(!isnull(delay)) - playsound(src, "terminal_type", 25, 0) - delay = CLAMP(round(delay, 1),0,1800) - program.activation_delay = delay - if(delay) - program.activated = FALSE - . = TRUE - if("set_timer") - var/timer = input("Set timer in seconds (10-3600):", name, program.timer) as null|num + if("set_restart_timer") + var/timer = text2num(params["delay"]) if(!isnull(timer)) - playsound(src, "terminal_type", 25, 0) - if(!timer == 0) - timer = CLAMP(round(timer, 1),10,3600) - program.timer = timer + playsound(src, "terminal_type", 25, FALSE) + timer = CLAMP(round(timer, 1), 0, 3600) + timer *= 10 //convert to deciseconds + program.timer_restart = timer . = TRUE - if("set_timer_type") - var/new_type = input("Choose the timer effect","Timer Effect") as null|anything in list("Deactivate","Self-Delete","Trigger","Reset Activation Timer") - if(new_type) - playsound(src, "terminal_type", 25, 0) - switch(new_type) - if("Deactivate") - program.timer_type = NANITE_TIMER_DEACTIVATE - if("Self-Delete") - program.timer_type = NANITE_TIMER_SELFDELETE - if("Trigger") - program.timer_type = NANITE_TIMER_TRIGGER - if("Reset Activation Timer") - program.timer_type = NANITE_TIMER_RESET - . = TRUE \ No newline at end of file + if("set_shutdown_timer") + var/timer = text2num(params["delay"]) + if(!isnull(timer)) + playsound(src, "terminal_type", 25, FALSE) + timer = CLAMP(round(timer, 1), 0, 3600) + timer *= 10 //convert to deciseconds + program.timer_shutdown = timer + . = TRUE + if("set_trigger_timer") + var/timer = text2num(params["delay"]) + if(!isnull(timer)) + playsound(src, "terminal_type", 25, FALSE) + timer = CLAMP(round(timer, 1), 0, 3600) + timer *= 10 //convert to deciseconds + program.timer_trigger = timer + . = TRUE + if("set_timer_trigger_delay") + var/timer = text2num(params["delay"]) + if(!isnull(timer)) + playsound(src, "terminal_type", 25, FALSE) + timer = CLAMP(round(timer, 1), 0, 3600) + timer *= 10 //convert to deciseconds + program.timer_trigger_delay = timer + . = TRUE + +/obj/machinery/nanite_programmer/Hear(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode, atom/movable/source) + . = ..() + var/static/regex/when = regex("(?:^\\W*when|when\\W*$)", "i") //starts or ends with when + if(findtext(raw_message, when) && !istype(speaker, /obj/machinery/nanite_programmer)) + say("When you code it!!") diff --git a/code/modules/research/nanites/nanite_programs.dm b/code/modules/research/nanites/nanite_programs.dm index 0d27d7ba0d..72f969a77e 100644 --- a/code/modules/research/nanites/nanite_programs.dm +++ b/code/modules/research/nanites/nanite_programs.dm @@ -11,7 +11,7 @@ var/trigger_cost = 0 //Amount of nanites required to trigger var/trigger_cooldown = 50 //Deciseconds required between each trigger activation var/next_trigger = 0 //World time required for the next trigger activation - var/timer_counter = 0 //Counts up while active. Used for the timer and the activation delay. + var/program_flags = NONE var/passive_enabled = FALSE //If the nanites have an on/off-style effect, it's tracked by this var @@ -28,9 +28,17 @@ //The following vars are customizable var/activated = TRUE //If FALSE, the program won't process, disables passive effects, can't trigger and doesn't consume nanites - var/activation_delay = 0 //Seconds before the program self-activates. - var/timer = 0 //Seconds before the timer effect activates. Starts counting AFTER the activation delay - var/timer_type = NANITE_TIMER_DEACTIVATE //What happens when the timer runs out + + var/timer_restart = 0 //When deactivated, the program will wait X deciseconds before self-reactivating. Also works if the program begins deactivated. + var/timer_shutdown = 0 //When activated, the program will wait X deciseconds before self-deactivating. Also works if the program begins activated. + var/timer_trigger = 0 //[Trigger only] While active, the program will attempt to trigger once every x deciseconds. + var/timer_trigger_delay = 0 //[Trigger only] While active, the program will delay trigger signals by X deciseconds. + + //Indicates the next world.time tick where these timers will act + var/timer_restart_next = 0 + var/timer_shutdown_next = 0 + var/timer_trigger_next = 0 + var/timer_trigger_delay_next = 0 //Signal codes, these handle remote input to the nanites. If set to 0 they'll ignore signals. var/activation_code = 0 //Code that activates the program [1-9999] @@ -39,19 +47,19 @@ var/trigger_code = 0 //Code that triggers the program (if available) [1-9999] //Extra settings - //Must be listed in text form, with the same title they'll be displayed in the programmer UI - //Changing these values is handled by set_extra_setting() - //Viewing these values is handled by get_extra_setting() - //Copying these values is handled by copy_extra_settings_to() + ///Don't ever override this or I will come to your house and stand menacingly behind a bush var/list/extra_settings = list() -/datum/nanite_program/triggered - use_rate = 0 - trigger_cost = 5 - trigger_cooldown = 50 - can_trigger = TRUE + //Rules + //Rules that automatically manage if the program's active without requiring separate sensor programs + var/list/datum/nanite_rule/rules = list() + +/datum/nanite_program/New() + . = ..() + register_extra_settings() /datum/nanite_program/Destroy() + extra_settings = null if(host_mob) if(activated) deactivate() @@ -64,39 +72,60 @@ /datum/nanite_program/proc/copy() var/datum/nanite_program/new_program = new type() - - new_program.activated = activated - new_program.activation_delay = activation_delay - new_program.timer = timer - new_program.timer_type = timer_type - new_program.activation_code = activation_code - new_program.deactivation_code = deactivation_code - new_program.kill_code = kill_code - new_program.trigger_code = trigger_code - copy_extra_settings_to(new_program) + copy_programming(new_program, TRUE) return new_program /datum/nanite_program/proc/copy_programming(datum/nanite_program/target, copy_activated = TRUE) if(copy_activated) target.activated = activated - target.activation_delay = activation_delay - target.timer = timer - target.timer_type = timer_type + target.timer_restart = timer_restart + target.timer_shutdown = timer_shutdown + target.timer_trigger = timer_trigger + target.timer_trigger_delay = timer_trigger_delay target.activation_code = activation_code target.deactivation_code = deactivation_code target.kill_code = kill_code target.trigger_code = trigger_code - copy_extra_settings_to(target) -/datum/nanite_program/proc/set_extra_setting(user, setting) + target.rules = list() + for(var/R in rules) + var/datum/nanite_rule/rule = R + rule.copy_to(target) + + if(istype(target,src)) + copy_extra_settings_to(target) + +///Register extra settings by overriding this. +///extra_settings[name] = new typepath() for each extra setting +/datum/nanite_program/proc/register_extra_settings() return -/datum/nanite_program/proc/get_extra_setting(setting) - return +///You can override this if you need to have special behavior after setting certain settings. +/datum/nanite_program/proc/set_extra_setting(setting, value) + var/datum/nanite_extra_setting/ES = extra_settings[setting] + return ES.set_value(value) +///You probably shouldn't be overriding this one, but I'm not a cop. +/datum/nanite_program/proc/get_extra_setting_value(setting) + var/datum/nanite_extra_setting/ES = extra_settings[setting] + return ES.get_value() + +///Used for getting information about the extra settings to the frontend +/datum/nanite_program/proc/get_extra_settings_frontend() + var/list/out = list() + for(var/name in extra_settings) + var/datum/nanite_extra_setting/ES = extra_settings[name] + out += ES.get_frontend_list(name) + return out + +///Copy of the list instead of direct reference for obvious reasons /datum/nanite_program/proc/copy_extra_settings_to(datum/nanite_program/target) - return + var/list/copy_list = list() + for(var/ns_name in extra_settings) + var/datum/nanite_extra_setting/extra_setting = extra_settings[ns_name] + copy_list[ns_name] = extra_setting.get_copy() + target.extra_settings = copy_list /datum/nanite_program/proc/on_add(datum/component/nanites/_nanites) nanites = _nanites @@ -105,10 +134,12 @@ /datum/nanite_program/proc/on_mob_add() host_mob = nanites.host_mob - if(activated) //apply activation effects if it starts active + if(activated) //apply activation effects depending on initial status; starts the restart and shutdown timers activate() + else + deactivate() -datum/nanite_program/proc/on_mob_remove() +/datum/nanite_program/proc/on_mob_remove() return /datum/nanite_program/proc/toggle() @@ -119,36 +150,35 @@ datum/nanite_program/proc/on_mob_remove() /datum/nanite_program/proc/activate() activated = TRUE - timer_counter = activation_delay + if(timer_shutdown) + timer_shutdown_next = world.time + timer_shutdown /datum/nanite_program/proc/deactivate() if(passive_enabled) disable_passive_effect() activated = FALSE + if(timer_restart) + timer_restart_next = world.time + timer_restart /datum/nanite_program/proc/on_process() - timer_counter++ - - if(activation_delay) - if(activated && timer_counter < activation_delay) - deactivate() - else if(!activated && timer_counter >= activation_delay) - activate() if(!activated) + if(timer_restart_next && world.time > timer_restart_next) + activate() + timer_restart_next = 0 return - if(timer && timer_counter > timer) - if(timer_type == NANITE_TIMER_DEACTIVATE) - deactivate() - return - else if(timer_type == NANITE_TIMER_SELFDELETE) - qdel(src) - return - else if(can_trigger && timer_type == NANITE_TIMER_TRIGGER) - trigger() - timer_counter = activation_delay - else if(timer_type == NANITE_TIMER_RESET) - timer_counter = 0 + if(timer_shutdown_next && world.time > timer_shutdown_next) + deactivate() + timer_shutdown_next = 0 + + if(timer_trigger && world.time > timer_trigger_next) + trigger() + timer_trigger_next = world.time + timer_trigger + + if(timer_trigger_delay_next && world.time > timer_trigger_delay_next) + trigger(delayed = TRUE) + timer_trigger_delay_next = 0 + if(check_conditions() && consume_nanites(use_rate)) if(!passive_enabled) enable_passive_effect() @@ -160,6 +190,10 @@ datum/nanite_program/proc/on_mob_remove() //If false, disables active and passive effects, but doesn't consume nanites //Can be used to avoid consuming nanites for nothing /datum/nanite_program/proc/check_conditions() + for(var/R in rules) + var/datum/nanite_rule/rule = R + if(!rule.check_rule()) + return FALSE return TRUE //Constantly procs as long as the program is active @@ -174,15 +208,25 @@ datum/nanite_program/proc/on_mob_remove() /datum/nanite_program/proc/disable_passive_effect() passive_enabled = FALSE -/datum/nanite_program/proc/trigger() +//Checks conditions then fires the nanite trigger effect +/datum/nanite_program/proc/trigger(delayed = FALSE, comm_message) + if(!can_trigger) + return if(!activated) - return FALSE + return + if(timer_trigger_delay && !delayed) + timer_trigger_delay_next = world.time + timer_trigger_delay + return if(world.time < next_trigger) - return FALSE + return if(!consume_nanites(trigger_cost)) - return FALSE + return next_trigger = world.time + trigger_cooldown - return TRUE + on_trigger(comm_message) + +//Nanite trigger effect, requires can_trigger to be used +/datum/nanite_program/proc/on_trigger(comm_message) + return /datum/nanite_program/proc/consume_nanites(amount, force = FALSE) return nanites.consume_nanites(amount, force) @@ -234,24 +278,36 @@ datum/nanite_program/proc/on_mob_remove() /datum/nanite_program/proc/receive_signal(code, source) if(activation_code && code == activation_code && !activated) activate() - host_mob.investigate_log("[host_mob]'s [name] nanite program was activated by [source] with code [code].", INVESTIGATE_NANITES) + host_mob.investigate_log("'s [name] nanite program was activated by [source] with code [code].", INVESTIGATE_NANITES) else if(deactivation_code && code == deactivation_code && activated) deactivate() - host_mob.investigate_log("[host_mob]'s [name] nanite program was deactivated by [source] with code [code].", INVESTIGATE_NANITES) - if(kill_code && code == kill_code) - host_mob.investigate_log("[host_mob]'s [name] nanite program was deleted by [source] with code [code].", INVESTIGATE_NANITES) - qdel(src) - else if(can_trigger && trigger_code && code == trigger_code) + host_mob.investigate_log("'s [name] nanite program was deactivated by [source] with code [code].", INVESTIGATE_NANITES) + if(can_trigger && trigger_code && code == trigger_code) trigger() - host_mob.investigate_log("[host_mob]'s [name] nanite program was triggered by [source] with code [code].", INVESTIGATE_NANITES) + host_mob.investigate_log("'s [name] nanite program was triggered by [source] with code [code].", INVESTIGATE_NANITES) + if(kill_code && code == kill_code) + host_mob.investigate_log("'s [name] nanite program was deleted by [source] with code [code].", INVESTIGATE_NANITES) + qdel(src) + +///A nanite program containing a behaviour protocol. Only one protocol of each class can be active at once. +//Currently unused due to us lacking the B.E.P.I.S +/datum/nanite_program/protocol + name = "Nanite Protocol" + var/protocol_class = NONE + +/datum/nanite_program/protocol/check_conditions() + . = ..() + for(var/protocol in nanites.protocols) + var/datum/nanite_program/protocol/P = protocol + if(P != src && P.activated && P.protocol_class == protocol_class) + return FALSE + +/datum/nanite_program/protocol/on_add(datum/component/nanites/_nanites) + ..() + nanites.protocols += src + +/datum/nanite_program/protocol/Destroy() + if(nanites) + nanites.protocols -= src + return ..() -/datum/nanite_program/proc/get_timer_type_text() - switch(timer_type) - if(NANITE_TIMER_DEACTIVATE) - return "Deactivate" - if(NANITE_TIMER_SELFDELETE) - return "Self-Delete" - if(NANITE_TIMER_TRIGGER) - return "Trigger" - if(NANITE_TIMER_RESET) - return "Reset Activation Timer" diff --git a/code/modules/research/nanites/nanite_programs/buffing.dm b/code/modules/research/nanites/nanite_programs/buffing.dm index dde61ec378..f52ae4843a 100644 --- a/code/modules/research/nanites/nanite_programs/buffing.dm +++ b/code/modules/research/nanites/nanite_programs/buffing.dm @@ -18,24 +18,16 @@ var/mob/living/carbon/human/H = host_mob H.physiology.stun_mod *= 2 -/datum/nanite_program/triggered/adrenaline +/datum/nanite_program/adrenaline name = "Adrenaline Burst" desc = "The nanites cause a burst of adrenaline when triggered, waking the host from stuns and temporarily increasing their speed." + can_trigger = TRUE trigger_cost = 25 trigger_cooldown = 1200 rogue_types = list(/datum/nanite_program/toxic, /datum/nanite_program/nerve_decay) -/datum/nanite_program/triggered/adrenaline/trigger() - if(!..()) - return - to_chat(host_mob, "You feel a sudden surge of energy!") - host_mob.SetStun(0) - host_mob.SetKnockdown(0) - host_mob.SetUnconscious(0) - host_mob.adjustStaminaLoss(-10) //stimulants give stamina heal now - host_mob.lying = 0 - host_mob.update_canmove() - host_mob.reagents.add_reagent(/datum/reagent/medicine/stimulants, 1.5) +/datum/nanite_program/adrenaline/on_trigger() + host_mob.do_adrenaline(-10, TRUE, TRUE, FALSE, TRUE, list(/datum/reagent/medicine/stimulants = 1.5), "You feel a sudden surge of energy!", FALSE, FALSE, FALSE) /datum/nanite_program/hardening name = "Dermal Hardening" @@ -120,7 +112,7 @@ /datum/nanite_program/mindshield/enable_passive_effect() . = ..() - if(!host_mob.mind.has_antag_datum(/datum/antagonist/rev)) //won't work if on a rev, to avoid having implanted revs + if(!host_mob.mind.has_antag_datum(/datum/antagonist/rev, TRUE)) //won't work if on a rev, to avoid having implanted revs. ADD_TRAIT(host_mob, TRAIT_MINDSHIELD, "nanites") host_mob.sec_hud_set_implants() diff --git a/code/modules/research/nanites/nanite_programs/healing.dm b/code/modules/research/nanites/nanite_programs/healing.dm index 6dd1b3ee82..70a1412b11 100644 --- a/code/modules/research/nanites/nanite_programs/healing.dm +++ b/code/modules/research/nanites/nanite_programs/healing.dm @@ -23,7 +23,7 @@ if(!parts.len) return for(var/obj/item/bodypart/L in parts) - if(L.heal_damage(0.5/parts.len, 0.5/parts.len, null, BODYPART_ORGANIC)) + if(L.heal_damage(0.5/parts.len, 0.5/parts.len)) host_mob.update_damage_overlays() else host_mob.adjustBruteLoss(-0.5, TRUE) @@ -48,12 +48,12 @@ /datum/nanite_program/purging name = "Blood Purification" - desc = "The nanites purge toxins and chemicals from the host's bloodstream, however it is dangerous to slimepeople biology due to inaccuracy." + desc = "The nanites purge toxins and chemicals from the host's bloodstream, however it is dangerous to slime biology due to inaccuracy." use_rate = 1 rogue_types = list(/datum/nanite_program/suffocating, /datum/nanite_program/necrotic) /datum/nanite_program/purging/check_conditions() - var/foreign_reagent = LAZYLEN(host_mob.reagents.reagent_list) + var/foreign_reagent = length(host_mob.reagents?.reagent_list) if(!host_mob.getToxLoss() && !foreign_reagent) return FALSE return ..() @@ -73,18 +73,17 @@ rogue_types = list(/datum/nanite_program/brain_decay) /datum/nanite_program/brain_heal/check_conditions() + var/problems = FALSE if(iscarbon(host_mob)) var/mob/living/carbon/C = host_mob - for(var/X in C.get_traumas()) - var/datum/brain_trauma/BT = X - if(BT.resilience <= TRAUMA_RESILIENCE_BASIC) - return ..() - if(host_mob.getOrganLoss(ORGAN_SLOT_BRAIN)) - return ..() - return FALSE + if(length(C.get_traumas())) + problems = TRUE + if(host_mob.getOrganLoss(ORGAN_SLOT_BRAIN) > 0) + problems = TRUE + return problems ? ..() : FALSE /datum/nanite_program/brain_heal/active_effect() - host_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1, TRUE) + host_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1) if(iscarbon(host_mob) && prob(10)) var/mob/living/carbon/C = host_mob C.cure_trauma_type(resilience = TRAUMA_RESILIENCE_BASIC) @@ -137,7 +136,7 @@ return var/update = FALSE for(var/obj/item/bodypart/L in parts) - if(L.heal_damage(1.5/parts.len, 1.5/parts.len, null, BODYPART_ROBOTIC)) //much faster than organic healing + if(L.heal_damage(1.5/parts.len, 1.5/parts.len, null, TRUE, FALSE)) //much faster than organic healing update = TRUE if(update) host_mob.update_damage_overlays() @@ -148,7 +147,7 @@ /datum/nanite_program/purging_advanced name = "Selective Blood Purification" desc = "The nanites purge toxins and dangerous chemicals from the host's bloodstream, while ignoring beneficial chemicals. \ - The added processing power required to analyze the chemicals severely increases the nanite consumption rate. Due to added complexity, it is safe with slimepeople biology." + The added processing power required to analyze the chemicals severely increases the nanite consumption rate. This program is safe with slime biology due to the increased precision." use_rate = 2 rogue_types = list(/datum/nanite_program/suffocating, /datum/nanite_program/necrotic) @@ -181,7 +180,7 @@ return var/update = FALSE for(var/obj/item/bodypart/L in parts) - if(L.heal_damage(3/parts.len, 3/parts.len)) + if(L.heal_damage(3/parts.len, 3/parts.len, FALSE)) update = TRUE if(update) host_mob.update_damage_overlays() @@ -196,70 +195,54 @@ rogue_types = list(/datum/nanite_program/brain_decay, /datum/nanite_program/brain_misfire) /datum/nanite_program/brain_heal_advanced/check_conditions() + var/problems = FALSE if(iscarbon(host_mob)) var/mob/living/carbon/C = host_mob - for(var/X in C.get_traumas()) - var/datum/brain_trauma/BT = X - if(BT.resilience <= TRAUMA_RESILIENCE_LOBOTOMY) - return ..() - if(host_mob.getOrganLoss(ORGAN_SLOT_BRAIN)) - return ..() - return FALSE + if(length(C.get_traumas())) + problems = TRUE + if(host_mob.getOrganLoss(ORGAN_SLOT_BRAIN) > 0) + problems = TRUE + return problems ? ..() : FALSE /datum/nanite_program/brain_heal_advanced/active_effect() - host_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, -2, TRUE) + host_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, -2) if(iscarbon(host_mob) && prob(10)) var/mob/living/carbon/C = host_mob C.cure_trauma_type(resilience = TRAUMA_RESILIENCE_LOBOTOMY) -/datum/nanite_program/triggered/defib +/datum/nanite_program/defib name = "Defibrillation" desc = "The nanites shock the host's heart when triggered, bringing them back to life if the body can sustain it." + can_trigger = TRUE trigger_cost = 25 trigger_cooldown = 120 - rogue_types = list(/datum/nanite_program/triggered/shocking) - -/datum/nanite_program/triggered/defib/trigger() - if(!..()) - return + rogue_types = list(/datum/nanite_program/shocking) +/datum/nanite_program/defib/on_trigger(comm_message) host_mob.notify_ghost_cloning("Your heart is being defibrillated by nanites. Re-enter your corpse if you want to be revived!") addtimer(CALLBACK(src, .proc/zap), 50) -/datum/nanite_program/triggered/defib/proc/check_revivable() +/datum/nanite_program/defib/proc/check_revivable() if(!iscarbon(host_mob)) //nonstandard biology return FALSE var/mob/living/carbon/C = host_mob - if(C.suiciding || HAS_TRAIT(C, TRAIT_NOCLONE) || C.hellbound) //can't revive - return FALSE - if((world.time - C.timeofdeath) > 1800) //too late - return FALSE - if((C.getBruteLoss() > 180) || (C.getFireLoss() > 180) || !C.can_be_revived()) //too damaged - return FALSE - if(!C.getorgan(/obj/item/organ/heart)) //what are we even shocking - return FALSE - var/obj/item/organ/brain/BR = C.getorgan(/obj/item/organ/brain) - if(QDELETED(BR) || BR.brain_death || (BR.organ_flags & ORGAN_FAILING) || C.suiciding) - return FALSE if(C.get_ghost()) return FALSE - return TRUE + return C.can_defib() -/datum/nanite_program/triggered/defib/proc/zap() +/datum/nanite_program/defib/proc/zap() var/mob/living/carbon/C = host_mob - playsound(C, 'sound/machines/defib_charge.ogg', 50, 0) + playsound(C, 'sound/machines/defib_charge.ogg', 50, FALSE) sleep(30) - playsound(C, 'sound/machines/defib_zap.ogg', 50, 0) + playsound(C, 'sound/machines/defib_zap.ogg', 50, FALSE) if(check_revivable()) - playsound(C, 'sound/machines/defib_success.ogg', 50, 0) + playsound(C, 'sound/machines/defib_success.ogg', 50, FALSE) C.set_heartattack(FALSE) - C.revive() + C.revive(full_heal = FALSE, admin_revive = FALSE) C.emote("gasp") C.Jitter(100) SEND_SIGNAL(C, COMSIG_LIVING_MINOR_SHOCK) - var/tplus = world.time - C.timeofdeath - if(tplus > 600) - C.adjustOrganLoss(ORGAN_SLOT_BRAIN, max(0, ((1800 - tplus) / 1800 * 150)), 150) log_game("[C] has been successfully defibrillated by nanites.") else - playsound(C, 'sound/machines/defib_failed.ogg', 50, 0) + playsound(C, 'sound/machines/defib_failed.ogg', 50, FALSE) + diff --git a/code/modules/research/nanites/nanite_programs/protocols.dm b/code/modules/research/nanites/nanite_programs/protocols.dm new file mode 100644 index 0000000000..73976abe09 --- /dev/null +++ b/code/modules/research/nanites/nanite_programs/protocols.dm @@ -0,0 +1,107 @@ +//Replication Protocols +/datum/nanite_program/protocol/kickstart + name = "Kickstart Protocol" + desc = "Replication Protocol: the nanites focus on early growth, heavily boosting replication rate for a few minutes after the initial implantation." + use_rate = 0 + rogue_types = list(/datum/nanite_program/necrotic) + protocol_class = NANITE_PROTOCOL_REPLICATION + var/boost_duration = 1200 + +/datum/nanite_program/protocol/kickstart/check_conditions() + if(!(world.time < nanites.start_time + boost_duration)) + return FALSE + return ..() + +/datum/nanite_program/protocol/kickstart/active_effect() + nanites.adjust_nanites(null, 3.5) + +/datum/nanite_program/protocol/factory + name = "Factory Protocol" + desc = "Replication Protocol: the nanites build a factory matrix within the host, gradually increasing replication speed over time. \ + The factory decays if the protocol is not active, or if the nanites are disrupted by shocks or EMPs." + use_rate = 0 + rogue_types = list(/datum/nanite_program/necrotic) + protocol_class = NANITE_PROTOCOL_REPLICATION + var/factory_efficiency = 0 + var/max_efficiency = 1000 //Goes up to 2 bonus regen per tick after 16 minutes and 40 seconds + +/datum/nanite_program/protocol/factory/on_process() + if(!activated || !check_conditions()) + factory_efficiency = max(0, factory_efficiency - 5) + ..() + +/datum/nanite_program/protocol/factory/on_emp(severity) + ..() + factory_efficiency = max(0, factory_efficiency - 300) + +/datum/nanite_program/protocol/factory/on_shock(shock_damage) + ..() + factory_efficiency = max(0, factory_efficiency - 200) + +/datum/nanite_program/protocol/factory/on_minor_shock() + ..() + factory_efficiency = max(0, factory_efficiency - 100) + +/datum/nanite_program/protocol/factory/active_effect() + factory_efficiency = min(factory_efficiency + 1, max_efficiency) + nanites.adjust_nanites(null, round(0.002 * factory_efficiency, 0.1)) + +/datum/nanite_program/protocol/tinker + name = "Tinker Protocol" + desc = "Replication Protocol: the nanites learn to use metallic material in the host's bloodstream to speed up the replication process." + use_rate = 0 + rogue_types = list(/datum/nanite_program/necrotic) + protocol_class = NANITE_PROTOCOL_REPLICATION + var/boost = 2 + var/list/valid_reagents = list( + /datum/reagent/iron, + /datum/reagent/copper, + /datum/reagent/gold, + /datum/reagent/silver, + /datum/reagent/mercury, + /datum/reagent/aluminium, + /datum/reagent/silicon) + +/datum/nanite_program/protocol/tinker/check_conditions() + if(!nanites.host_mob.reagents) + return FALSE + + var/found_reagent = FALSE + + var/datum/reagents/R = nanites.host_mob.reagents + for(var/VR in valid_reagents) + if(R.has_reagent(VR, 0.5)) + R.remove_reagent(VR, 0.5) + found_reagent = TRUE + break + if(!found_reagent) + return FALSE + return ..() + +/datum/nanite_program/protocol/tinker/active_effect() + nanites.adjust_nanites(null, boost) + +/datum/nanite_program/protocol/offline + name = "Offline Production Protocol" + desc = "Replication Protocol: while the host is asleep or otherwise unconcious, the nanites exploit the reduced interference to replicate more quickly." + use_rate = 0 + rogue_types = list(/datum/nanite_program/necrotic) + protocol_class = NANITE_PROTOCOL_REPLICATION + var/boost = 3 + +/datum/nanite_program/protocol/offline/check_conditions() + var/is_offline = FALSE + if(nanites.host_mob.IsSleeping() || nanites.host_mob.IsUnconscious()) + is_offline = TRUE + if(nanites.host_mob.stat == DEAD || HAS_TRAIT(nanites.host_mob, TRAIT_DEATHCOMA)) + is_offline = TRUE + if(nanites.host_mob.InCritical() && !HAS_TRAIT(nanites.host_mob, TRAIT_NOSOFTCRIT)) + is_offline = TRUE + if(nanites.host_mob.InFullCritical() && !HAS_TRAIT(nanites.host_mob, TRAIT_NOHARDCRIT)) + is_offline = TRUE + if(!is_offline) + return FALSE + return ..() + +/datum/nanite_program/protocol/offline/active_effect() + nanites.adjust_nanites(null, boost) diff --git a/code/modules/research/nanites/nanite_programs/sensor.dm b/code/modules/research/nanites/nanite_programs/sensor.dm index 535b92c6e1..260811445b 100644 --- a/code/modules/research/nanites/nanite_programs/sensor.dm +++ b/code/modules/research/nanites/nanite_programs/sensor.dm @@ -2,71 +2,41 @@ name = "Sensor Nanites" desc = "These nanites send a signal code when a certain condition is met." unique = FALSE - extra_settings = list("Sent Code") + var/can_rule = FALSE - var/sent_code = 0 - -/datum/nanite_program/sensor/set_extra_setting(user, setting) - if(setting == "Sent Code") - var/new_code = input(user, "Set the sent code (1-9999):", name, null) as null|num - if(isnull(new_code)) - return - sent_code = CLAMP(round(new_code, 1), 1, 9999) - -/datum/nanite_program/sensor/get_extra_setting(setting) - if(setting == "Sent Code") - return sent_code - -/datum/nanite_program/sensor/copy_extra_settings_to(datum/nanite_program/sensor/target) - target.sent_code = sent_code +/datum/nanite_program/sensor/register_extra_settings() + extra_settings[NES_SENT_CODE] = new /datum/nanite_extra_setting/number(0, 1, 9999) /datum/nanite_program/sensor/proc/check_event() return FALSE /datum/nanite_program/sensor/proc/send_code() if(activated) - SEND_SIGNAL(host_mob, COMSIG_NANITE_SIGNAL, sent_code, "a [name] program") + var/datum/nanite_extra_setting/ES = extra_settings[NES_SENT_CODE] + SEND_SIGNAL(host_mob, COMSIG_NANITE_SIGNAL, ES.value, "a [name] program") /datum/nanite_program/sensor/active_effect() - if(sent_code && check_event()) + if(check_event()) send_code() +/datum/nanite_program/sensor/proc/make_rule(datum/nanite_program/target) + return + /datum/nanite_program/sensor/repeat name = "Signal Repeater" desc = "When triggered, sends another signal to the nanites, optionally with a delay." can_trigger = TRUE trigger_cost = 0 trigger_cooldown = 10 - extra_settings = list("Sent Code","Delay") var/spent = FALSE - var/delay = 0 -/datum/nanite_program/sensor/repeat/set_extra_setting(user, setting) - if(setting == "Sent Code") - var/new_code = input(user, "Set the sent code (1-9999):", name, null) as null|num - if(isnull(new_code)) - return - sent_code = CLAMP(round(new_code, 1), 1, 9999) - if(setting == "Delay") - var/new_delay = input(user, "Set the delay in seconds:", name, null) as null|num - if(isnull(new_delay)) - return - delay = (CLAMP(round(new_delay, 1), 0, 3600)) * 10 //max 1 hour +/datum/nanite_program/sensor/repeat/register_extra_settings() + . = ..() + extra_settings[NES_DELAY] = new /datum/nanite_extra_setting/number(0, 0, 3600, "s") -/datum/nanite_program/sensor/repeat/get_extra_setting(setting) - if(setting == "Sent Code") - return sent_code - if(setting == "Delay") - return "[delay/10] seconds" - -/datum/nanite_program/sensor/repeat/copy_extra_settings_to(datum/nanite_program/sensor/repeat/target) - target.sent_code = sent_code - target.delay = delay - -/datum/nanite_program/sensor/repeat/trigger() - if(!..()) - return - addtimer(CALLBACK(src, .proc/send_code), delay) +/datum/nanite_program/sensor/repeat/on_trigger(comm_message) + var/datum/nanite_extra_setting/ES = extra_settings[NES_DELAY] + addtimer(CALLBACK(src, .proc/send_code), ES.get_value() * 10) /datum/nanite_program/sensor/relay_repeat name = "Relay Signal Repeater" @@ -74,98 +44,46 @@ can_trigger = TRUE trigger_cost = 0 trigger_cooldown = 10 - extra_settings = list("Sent Code","Relay Channel","Delay") var/spent = FALSE - var/delay = 0 - var/relay_channel = 0 -/datum/nanite_program/sensor/relay_repeat/set_extra_setting(user, setting) - if(setting == "Sent Code") - var/new_code = input(user, "Set the sent code (1-9999):", name, null) as null|num - if(isnull(new_code)) - return - sent_code = CLAMP(round(new_code, 1), 1, 9999) - if(setting == "Relay Channel") - var/new_channel = input(user, "Set the relay channel (1-9999):", name, null) as null|num - if(isnull(new_channel)) - return - relay_channel = CLAMP(round(new_channel, 1), 1, 9999) - if(setting == "Delay") - var/new_delay = input(user, "Set the delay in seconds:", name, null) as null|num - if(isnull(new_delay)) - return - delay = (CLAMP(round(new_delay, 1), 0, 3600)) * 10 //max 1 hour +/datum/nanite_program/sensor/relay_repeat/register_extra_settings() + . = ..() + extra_settings[NES_RELAY_CHANNEL] = new /datum/nanite_extra_setting/number(1, 1, 9999) + extra_settings[NES_DELAY] = new /datum/nanite_extra_setting/number(0, 0, 3600, "s") -/datum/nanite_program/sensor/relay_repeat/get_extra_setting(setting) - if(setting == "Sent Code") - return sent_code - if(setting == "Relay Channel") - return relay_channel - if(setting == "Delay") - return "[delay/10] seconds" - -/datum/nanite_program/sensor/relay_repeat/copy_extra_settings_to(datum/nanite_program/sensor/relay_repeat/target) - target.sent_code = sent_code - target.delay = delay - target.relay_channel = relay_channel - -/datum/nanite_program/sensor/relay_repeat/trigger() - if(!..()) - return - addtimer(CALLBACK(src, .proc/send_code), delay) +/datum/nanite_program/sensor/relay_repeat/on_trigger(comm_message) + var/datum/nanite_extra_setting/ES = extra_settings[NES_DELAY] + addtimer(CALLBACK(src, .proc/send_code), ES.get_value() * 10) /datum/nanite_program/sensor/relay_repeat/send_code() - if(activated && relay_channel) + var/datum/nanite_extra_setting/relay = extra_settings[NES_RELAY_CHANNEL] + if(activated && relay.get_value()) for(var/X in SSnanites.nanite_relays) var/datum/nanite_program/relay/N = X - N.relay_signal(sent_code, relay_channel, "a [name] program") + var/datum/nanite_extra_setting/code = extra_settings[NES_SENT_CODE] + N.relay_signal(code.get_value(), relay.get_value(), "a [name] program") /datum/nanite_program/sensor/health name = "Health Sensor" desc = "The nanites receive a signal when the host's health is above/below a target percentage." - extra_settings = list("Sent Code","Health Percent","Direction") + can_rule = TRUE var/spent = FALSE - var/percent = 50 - var/direction = "Above" -/datum/nanite_program/sensor/health/set_extra_setting(user, setting) - if(setting == "Sent Code") - var/new_code = input(user, "Set the sent code (1-9999):", name, null) as null|num - if(isnull(new_code)) - return - sent_code = CLAMP(round(new_code, 1), 1, 9999) - if(setting == "Health Percent") - var/new_percent = input(user, "Set the health percentage:", name, null) as null|num - if(isnull(new_percent)) - return - percent = CLAMP(round(new_percent, 1), -99, 100) - if(setting == "Direction") - if(direction == "Above") - direction = "Below" - else - direction = "Above" - -/datum/nanite_program/sensor/health/get_extra_setting(setting) - if(setting == "Sent Code") - return sent_code - if(setting == "Health Percent") - return "[percent]%" - if(setting == "Direction") - return direction - -/datum/nanite_program/sensor/health/copy_extra_settings_to(datum/nanite_program/sensor/health/target) - target.sent_code = sent_code - target.percent = percent - target.direction = direction +/datum/nanite_program/sensor/health/register_extra_settings() + . = ..() + extra_settings[NES_HEALTH_PERCENT] = new /datum/nanite_extra_setting/number(50, -99, 100, "%") + extra_settings[NES_DIRECTION] = new /datum/nanite_extra_setting/boolean(TRUE, "Above", "Below") /datum/nanite_program/sensor/health/check_event() var/health_percent = host_mob.health / host_mob.maxHealth * 100 + var/datum/nanite_extra_setting/percent = extra_settings[NES_HEALTH_PERCENT] + var/datum/nanite_extra_setting/direction = extra_settings[NES_DIRECTION] var/detected = FALSE - if(direction == "Above") - if(health_percent >= percent) + if(direction.get_value()) + if(health_percent >= percent.get_value()) detected = TRUE else - if(health_percent < percent) + if(health_percent < percent.get_value()) detected = TRUE if(detected) @@ -177,9 +95,18 @@ spent = FALSE return FALSE +/datum/nanite_program/sensor/health/make_rule(datum/nanite_program/target) + var/datum/nanite_rule/health/rule = new(target) + var/datum/nanite_extra_setting/direction = extra_settings[NES_DIRECTION] + var/datum/nanite_extra_setting/percent = extra_settings[NES_HEALTH_PERCENT] + rule.above = direction.get_value() + rule.threshold = percent.get_value() + return rule + /datum/nanite_program/sensor/crit name = "Critical Health Sensor" desc = "The nanites receive a signal when the host first reaches critical health." + can_rule = TRUE var/spent = FALSE /datum/nanite_program/sensor/crit/check_event() @@ -192,61 +119,44 @@ spent = FALSE return FALSE +/datum/nanite_program/sensor/crit/make_rule(datum/nanite_program/target) + var/datum/nanite_rule/crit/rule = new(target) + return rule + /datum/nanite_program/sensor/death name = "Death Sensor" desc = "The nanites receive a signal when they detect the host is dead." + can_rule = TRUE var/spent = FALSE /datum/nanite_program/sensor/death/on_death() send_code() +/datum/nanite_program/sensor/death/make_rule(datum/nanite_program/target) + var/datum/nanite_rule/death/rule = new(target) + return rule + /datum/nanite_program/sensor/nanite_volume name = "Nanite Volume Sensor" desc = "The nanites receive a signal when the nanite supply is above/below a certain percentage." - extra_settings = list("Sent Code","Nanite Percent","Direction") + can_rule = TRUE var/spent = FALSE - var/percent = 50 - var/direction = "Above" -/datum/nanite_program/sensor/nanite_volume/set_extra_setting(user, setting) - if(setting == "Sent Code") - var/new_code = input(user, "Set the sent code (1-9999):", name, null) as null|num - if(isnull(new_code)) - return - sent_code = CLAMP(round(new_code, 1), 1, 9999) - if(setting == "Nanite Percent") - var/new_percent = input(user, "Set the nanite percentage:", name, null) as null|num - if(isnull(new_percent)) - return - percent = CLAMP(round(new_percent, 1), 1, 100) - if(setting == "Direction") - if(direction == "Above") - direction = "Below" - else - direction = "Above" - -/datum/nanite_program/sensor/nanite_volume/get_extra_setting(setting) - if(setting == "Sent Code") - return sent_code - if(setting == "Nanite Percent") - return "[percent]%" - if(setting == "Direction") - return direction - -/datum/nanite_program/sensor/nanite_volume/copy_extra_settings_to(datum/nanite_program/sensor/nanite_volume/target) - target.sent_code = sent_code - target.percent = percent - target.direction = direction +/datum/nanite_program/sensor/nanite_volume/register_extra_settings() + . = ..() + extra_settings[NES_NANITE_PERCENT] = new /datum/nanite_extra_setting/number(50, -99, 100, "%") + extra_settings[NES_DIRECTION] = new /datum/nanite_extra_setting/boolean(TRUE, "Above", "Below") /datum/nanite_program/sensor/nanite_volume/check_event() var/nanite_percent = (nanites.nanite_volume - nanites.safety_threshold)/(nanites.max_nanites - nanites.safety_threshold)*100 + var/datum/nanite_extra_setting/percent = extra_settings[NES_NANITE_PERCENT] + var/datum/nanite_extra_setting/direction = extra_settings[NES_DIRECTION] var/detected = FALSE - - if(direction == "Above") - if(nanite_percent >= percent) + if(direction.get_value()) + if(nanite_percent >= percent.get_value()) detected = TRUE else - if(nanite_percent < percent) + if(nanite_percent < percent.get_value()) detected = TRUE if(detected) @@ -258,75 +168,51 @@ spent = FALSE return FALSE +/datum/nanite_program/sensor/nanite_volume/make_rule(datum/nanite_program/target) + var/datum/nanite_rule/nanites/rule = new(target) + var/datum/nanite_extra_setting/direction = extra_settings[NES_DIRECTION] + var/datum/nanite_extra_setting/percent = extra_settings[NES_NANITE_PERCENT] + rule.above = direction.get_value() + rule.threshold = percent.get_value() + return rule + /datum/nanite_program/sensor/damage name = "Damage Sensor" desc = "The nanites receive a signal when a host's specific damage type is above/below a target value." - extra_settings = list("Sent Code","Damage Type","Damage","Direction") + can_rule = TRUE var/spent = FALSE - var/damage_type = "Brute" - var/damage = 50 - var/direction = "Above" -/datum/nanite_program/sensor/damage/set_extra_setting(user, setting) - if(setting == "Sent Code") - var/new_code = input(user, "Set the sent code (1-9999):", name, null) as null|num - if(isnull(new_code)) - return - sent_code = CLAMP(round(new_code, 1), 1, 9999) - if(setting == "Damage") - var/new_damage = input(user, "Set the damage threshold:", name, null) as null|num - if(isnull(new_damage)) - return - damage = CLAMP(round(new_damage, 1), 0, 500) - if(setting == "Damage Type") - var/list/damage_types = list("Brute","Burn","Toxin","Oxygen","Cellular") - var/new_damage_type = input("Choose the damage type", name) as null|anything in damage_types - if(!new_damage_type) - return - damage_type = new_damage_type - if(setting == "Direction") - if(direction == "Above") - direction = "Below" - else - direction = "Above" - -/datum/nanite_program/sensor/damage/get_extra_setting(setting) - if(setting == "Sent Code") - return sent_code - if(setting == "Damage") - return damage - if(setting == "Damage Type") - return damage_type - if(setting == "Direction") - return direction - -/datum/nanite_program/sensor/damage/copy_extra_settings_to(datum/nanite_program/sensor/damage/target) - target.sent_code = sent_code - target.damage = damage - target.damage_type = damage_type - target.direction = direction +/datum/nanite_program/sensor/damage/register_extra_settings() + . = ..() + extra_settings[NES_DAMAGE_TYPE] = new /datum/nanite_extra_setting/type(BRUTE, list(BRUTE, BURN, TOX, OXY, CLONE)) + extra_settings[NES_DAMAGE] = new /datum/nanite_extra_setting/number(50, 0, 500) + extra_settings[NES_DIRECTION] = new /datum/nanite_extra_setting/boolean(TRUE, "Above", "Below") /datum/nanite_program/sensor/damage/check_event() var/reached_threshold = FALSE - var/check_above = (direction == "Above") + var/datum/nanite_extra_setting/type = extra_settings[NES_DAMAGE_TYPE] + var/datum/nanite_extra_setting/damage = extra_settings[NES_DAMAGE] + var/datum/nanite_extra_setting/direction = extra_settings[NES_DIRECTION] + var/check_above = direction.get_value() var/damage_amt = 0 - switch(damage_type) - if("Brute") + switch(type.get_value()) + if(BRUTE) damage_amt = host_mob.getBruteLoss() - if("Burn") + if(BURN) damage_amt = host_mob.getFireLoss() - if("Toxin") + if(TOX) damage_amt = host_mob.getToxLoss() - if("Oxygen") + if(OXY) damage_amt = host_mob.getOxyLoss() - if("Cellular") + if(CLONE) damage_amt = host_mob.getCloneLoss() - if(damage_amt >= damage) - if(check_above) + if(check_above) + if(damage_amt >= damage.get_value()) + reached_threshold = TRUE + else + if(damage_amt < damage.get_value()) reached_threshold = TRUE - else if(!check_above) - reached_threshold = TRUE if(reached_threshold) if(!spent) @@ -337,14 +223,25 @@ spent = FALSE return FALSE +/datum/nanite_program/sensor/damage/make_rule(datum/nanite_program/target) + var/datum/nanite_rule/damage/rule = new(target) + var/datum/nanite_extra_setting/direction = extra_settings[NES_DIRECTION] + var/datum/nanite_extra_setting/damage_type = extra_settings[NES_DAMAGE_TYPE] + var/datum/nanite_extra_setting/damage = extra_settings[NES_DAMAGE] + rule.above = direction.get_value() + rule.threshold = damage.get_value() + rule.damage_type = damage_type.get_value() + return rule + /datum/nanite_program/sensor/voice name = "Voice Sensor" desc = "Sends a signal when the nanites hear a determined word or sentence." - extra_settings = list("Sent Code","Sentence","Inclusive Mode") var/spent = FALSE - var/sentence = "" - var/inclusive = TRUE +/datum/nanite_program/sensor/voice/register_extra_settings() + . = ..() + extra_settings[NES_SENTENCE] = new /datum/nanite_extra_setting/text("") + extra_settings[NES_INCLUSIVE_MODE] = new /datum/nanite_extra_setting/boolean(TRUE, "Inclusive", "Exclusive") /datum/nanite_program/sensor/voice/on_mob_add() . = ..() @@ -353,45 +250,14 @@ /datum/nanite_program/sensor/voice/on_mob_remove() UnregisterSignal(host_mob, COMSIG_MOVABLE_HEAR, .proc/on_hear) -/datum/nanite_program/sensor/voice/set_extra_setting(user, setting) - if(setting == "Sent Code") - var/new_code = input(user, "Set the sent code (1-9999):", name, null) as null|num - if(isnull(new_code)) - return - sent_code = CLAMP(round(new_code, 1), 1, 9999) - if(setting == "Sentence") - var/new_sentence = stripped_input(user, "Choose the sentence that triggers the sensor.", "Sentence", sentence, MAX_MESSAGE_LEN) - if(!new_sentence) - return - sentence = new_sentence - if(setting == "Inclusive Mode") - var/new_inclusive = input("Should the sensor detect the sentence if contained within another sentence?", name) as null|anything in list("Inclusive","Exclusive") - if(!new_inclusive) - return - inclusive = (new_inclusive == "Inclusive") - -/datum/nanite_program/sensor/voice/get_extra_setting(setting) - if(setting == "Sent Code") - return sent_code - if(setting == "Sentence") - return sentence - if(setting == "Inclusive Mode") - if(inclusive) - return "Inclusive" - else - return "Exclusive" - -/datum/nanite_program/sensor/voice/copy_extra_settings_to(datum/nanite_program/sensor/voice/target) - target.sent_code = sent_code - target.sentence = sentence - target.inclusive = inclusive - /datum/nanite_program/sensor/voice/proc/on_hear(datum/source, list/hearing_args) - if(!sentence) + var/datum/nanite_extra_setting/sentence = extra_settings[NES_SENTENCE] + var/datum/nanite_extra_setting/inclusive = extra_settings[NES_INCLUSIVE_MODE] + if(!sentence.get_value()) return - if(inclusive) + if(inclusive.get_value()) if(findtextEx(hearing_args[HEARING_RAW_MESSAGE], sentence)) send_code() else if(hearing_args[HEARING_RAW_MESSAGE] == sentence) - send_code() \ No newline at end of file + send_code() diff --git a/code/modules/research/nanites/nanite_programs/suppression.dm b/code/modules/research/nanites/nanite_programs/suppression.dm index e4b250ad61..56fd7fa044 100644 --- a/code/modules/research/nanites/nanite_programs/suppression.dm +++ b/code/modules/research/nanites/nanite_programs/suppression.dm @@ -1,15 +1,14 @@ //Programs that are generally useful for population control and non-harmful suppression. -/datum/nanite_program/triggered/sleepy +/datum/nanite_program/sleepy name = "Sleep Induction" desc = "The nanites cause rapid narcolepsy when triggered." + can_trigger = TRUE trigger_cost = 15 trigger_cooldown = 1200 rogue_types = list(/datum/nanite_program/brain_misfire, /datum/nanite_program/brain_decay) -/datum/nanite_program/triggered/sleepy/trigger() - if(!..()) - return +/datum/nanite_program/sleepy/on_trigger(comm_message) to_chat(host_mob, "You start to feel very sleepy...") host_mob.drowsyness += 20 addtimer(CALLBACK(host_mob, /mob/living.proc/Sleeping, 200), rand(60,200)) @@ -31,30 +30,28 @@ . = ..() to_chat(host_mob, "Your muscles relax, and you can move again.") -/datum/nanite_program/triggered/shocking +/datum/nanite_program/shocking name = "Electric Shock" desc = "The nanites shock the host when triggered. Destroys a large amount of nanites!" + can_trigger = TRUE trigger_cost = 10 trigger_cooldown = 300 program_flags = NANITE_SHOCK_IMMUNE rogue_types = list(/datum/nanite_program/toxic) -/datum/nanite_program/triggered/shocking/trigger() - if(!..()) - return +/datum/nanite_program/shocking/on_trigger(comm_message) host_mob.electrocute_act(rand(5,10), "shock nanites", TRUE, TRUE) -/datum/nanite_program/triggered/stun +/datum/nanite_program/stun name = "Neural Shock" desc = "The nanites pulse the host's nerves when triggered, inapacitating them for a short period." + can_trigger = TRUE trigger_cost = 4 trigger_cooldown = 300 - rogue_types = list(/datum/nanite_program/triggered/shocking, /datum/nanite_program/nerve_decay) + rogue_types = list(/datum/nanite_program/shocking, /datum/nanite_program/nerve_decay) -/datum/nanite_program/triggered/stun/trigger() - if(!..()) - return - playsound(host_mob, "sparks", 75, 1, -1) +/datum/nanite_program/stun/on_trigger(comm_message) + playsound(host_mob, "sparks", 75, TRUE, -1) host_mob.Knockdown(80) /datum/nanite_program/pacifying @@ -115,64 +112,50 @@ host_mob.cure_fakedeath("nanites") //Can receive transmissions from a nanite communication remote for customized messages -/datum/nanite_program/triggered/comm +/datum/nanite_program/comm + can_trigger = TRUE var/comm_code = 0 var/comm_message = "" -/datum/nanite_program/triggered/comm/proc/receive_comm_signal(signal_comm_code, comm_message, comm_source) +/datum/nanite_program/comm/register_extra_settings() + extra_settings[NES_COMM_CODE] = new /datum/nanite_extra_setting/number(0, 0, 9999) + +/datum/nanite_program/comm/proc/receive_comm_signal(signal_comm_code, comm_message, comm_source) if(!activated || !comm_code) return if(signal_comm_code == comm_code) host_mob.investigate_log("'s [name] nanite program was messaged by [comm_source] with comm code [signal_comm_code] and message '[comm_message]'.", INVESTIGATE_NANITES) trigger(comm_message) -/datum/nanite_program/triggered/comm/speech +/datum/nanite_program/comm/speech name = "Forced Speech" desc = "The nanites force the host to say a pre-programmed sentence when triggered." unique = FALSE trigger_cost = 3 trigger_cooldown = 20 rogue_types = list(/datum/nanite_program/brain_misfire, /datum/nanite_program/brain_decay) + var/static/list/blacklist = list( + "*surrender", + "*collapse" + ) - extra_settings = list("Sentence","Comm Code") - var/sentence = "" +/datum/nanite_program/comm/speech/register_extra_settings() + . = ..() + extra_settings[NES_SENTENCE] = new /datum/nanite_extra_setting/text("") -/datum/nanite_program/triggered/comm/speech/set_extra_setting(user, setting) - if(setting == "Sentence") - var/new_sentence = stripped_input(user, "Choose the sentence that the host will be forced to say.", "Sentence", sentence, MAX_MESSAGE_LEN) - if(!new_sentence) - return - if(new_sentence[1] == "*") //emotes are abusable, like surrender - return - sentence = new_sentence - if(setting == "Comm Code") - var/new_code = input(user, "Set the communication code (1-9999) or set to 0 to disable external signals.", name, null) as null|num - if(isnull(new_code)) - return - comm_code = CLAMP(round(new_code, 1), 0, 9999) - -/datum/nanite_program/triggered/comm/speech/get_extra_setting(setting) - if(setting == "Sentence") - return sentence - if(setting == "Comm Code") - return comm_code - -/datum/nanite_program/triggered/comm/speech/copy_extra_settings_to(datum/nanite_program/triggered/comm/speech/target) - target.sentence = sentence - target.comm_code = comm_code - -/datum/nanite_program/triggered/comm/speech/trigger(comm_message) - if(!..()) - return +/datum/nanite_program/comm/speech/on_trigger(comm_message) var/sent_message = comm_message if(!comm_message) - sent_message = sentence + var/datum/nanite_extra_setting/sentence = extra_settings[NES_SENTENCE] + sent_message = sentence.get_value() + if(sent_message in blacklist) + return if(host_mob.stat == DEAD) return to_chat(host_mob, "You feel compelled to speak...") host_mob.say(sent_message, forced = "nanite speech") -/datum/nanite_program/triggered/comm/voice +/datum/nanite_program/comm/voice name = "Skull Echo" desc = "The nanites echo a synthesized message inside the host's skull." unique = FALSE @@ -180,56 +163,50 @@ trigger_cooldown = 20 rogue_types = list(/datum/nanite_program/brain_misfire, /datum/nanite_program/brain_decay) - extra_settings = list("Message","Comm Code") - var/message = "" +/datum/nanite_program/comm/voice/register_extra_settings() + . = ..() + extra_settings[NES_MESSAGE] = new /datum/nanite_extra_setting/text("") -/datum/nanite_program/triggered/comm/voice/set_extra_setting(user, setting) - if(setting == "Message") - var/new_message = stripped_input(user, "Choose the message sent to the host.", "Message", message, MAX_MESSAGE_LEN) - if(!new_message) - return - message = new_message - if(setting == "Comm Code") - var/new_code = input(user, "Set the communication code (1-9999) or set to 0 to disable external signals.", name, null) as null|num - if(isnull(new_code)) - return - comm_code = CLAMP(round(new_code, 1), 0, 9999) - -/datum/nanite_program/triggered/comm/voice/get_extra_setting(setting) - if(setting == "Message") - return message - if(setting == "Comm Code") - return comm_code - -/datum/nanite_program/triggered/comm/voice/copy_extra_settings_to(datum/nanite_program/triggered/comm/voice/target) - target.message = message - target.comm_code = comm_code - -/datum/nanite_program/triggered/comm/voice/trigger(comm_message) - if(!..()) - return +/datum/nanite_program/comm/voice/on_trigger(comm_message) var/sent_message = comm_message if(!comm_message) - sent_message = message + var/datum/nanite_extra_setting/message_setting = extra_settings[NES_MESSAGE] + sent_message = message_setting.get_value() if(host_mob.stat == DEAD) return to_chat(host_mob, "You hear a strange, robotic voice in your head... \"[sent_message]\"") -/datum/nanite_program/triggered/comm/hallucination +/datum/nanite_program/comm/hallucination name = "Hallucination" desc = "The nanites make the host hallucinate something when triggered." trigger_cost = 4 trigger_cooldown = 80 unique = FALSE rogue_types = list(/datum/nanite_program/brain_misfire) - extra_settings = list("Hallucination Type", "Comm Code") - var/hal_type - var/hal_details -/datum/nanite_program/triggered/comm/hallucination/trigger(comm_message) - if(!..()) - return +/datum/nanite_program/comm/hallucination/register_extra_settings() + . = ..() + var/list/options = list( + "Message", + "Battle", + "Sound", + "Weird Sound", + "Station Message", + "Health", + "Alert", + "Fire", + "Shock", + "Plasma Flood", + "Random" + ) + extra_settings[NES_HALLUCINATION_TYPE] = new /datum/nanite_extra_setting/type("Message", options) + extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/text("") +/datum/nanite_program/comm/hallucination/on_trigger(comm_message) + var/datum/nanite_extra_setting/hal_setting = extra_settings[NES_HALLUCINATION_TYPE] + var/hal_type = hal_setting.get_value() + var/datum/nanite_extra_setting/hal_detail_setting = extra_settings[NES_HALLUCINATION_DETAIL] + var/hal_details = hal_detail_setting.get_value() if(comm_message && (hal_type != "Message")) //Triggered via comm remote, but not set to a message hallucination return var/sent_message = comm_message //Comm remotes can send custom hallucination messages for the chat hallucination @@ -239,7 +216,9 @@ if(!iscarbon(host_mob)) return var/mob/living/carbon/C = host_mob - if(!hal_type) + if(hal_details == "random") + hal_details = null + if(hal_type == "Random") C.hallucination += 15 else switch(hal_type) @@ -254,6 +233,13 @@ if("Station Message") new /datum/hallucination/stationmessage(C, TRUE, hal_details) if("Health") + switch(hal_details) + if("critical") + hal_details = SCREWYHUD_CRIT + if("dead") + hal_details = SCREWYHUD_DEAD + if("healthy") + hal_details = SCREWYHUD_HEALTHY new /datum/hallucination/hudscrew(C, TRUE, hal_details) if("Alert") new /datum/hallucination/fake_alert(C, TRUE, hal_details) @@ -264,127 +250,40 @@ if("Plasma Flood") new /datum/hallucination/fake_flood(C, TRUE) -/datum/nanite_program/triggered/comm/hallucination/set_extra_setting(user, setting) - if(setting == "Comm Code") - var/new_code = input(user, "(Only for Message) Set the communication code (1-9999) or set to 0 to disable external signals.", name, null) as null|num - if(isnull(new_code)) - return - comm_code = CLAMP(round(new_code, 1), 0, 9999) - - if(setting == "Hallucination Type") - var/list/possible_hallucinations = list("Random","Message","Battle","Sound","Weird Sound","Station Message","Health","Alert","Fire","Shock","Plasma Flood") - var/hal_type_choice = input("Choose the hallucination type", name) as null|anything in possible_hallucinations - if(!hal_type_choice) - return - switch(hal_type_choice) - if("Random") - hal_type = null - hal_details = null +/datum/nanite_program/comm/hallucination/set_extra_setting(setting, value) + . = ..() + if(setting == NES_HALLUCINATION_TYPE) + switch(value) if("Message") - hal_type = "Message" - var/hal_chat = stripped_input(user, "Choose the message the host will hear, or leave empty for random messages.", "Message", hal_details, MAX_MESSAGE_LEN) - if(hal_chat) - hal_details = hal_chat + extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/text("") if("Battle") - hal_type = "Battle" - var/sound_list = list("random","laser","disabler","esword","gun","stunprod","harmbaton","bomb") - var/hal_choice = input("Choose the hallucination battle type", name) as null|anything in sound_list - if(!hal_choice || hal_choice == "random") - hal_details = null - else - hal_details = hal_choice + extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/type("random", list("random","laser","disabler","esword","gun","stunprod","harmbaton","bomb")) if("Sound") - hal_type = "Sound" - var/sound_list = list("random","airlock","airlock pry","console","explosion","far explosion","mech","glass","alarm","beepsky","mech","wall decon","door hack") - var/hal_choice = input("Choose the hallucination sound", name) as null|anything in sound_list - if(!hal_choice || hal_choice == "random") - hal_details = null - else - hal_details = hal_choice + extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/type("random", list("random","airlock","airlock pry","console","explosion","far explosion","mech","glass","alarm","beepsky","mech","wall decon","door hack")) if("Weird Sound") - hal_type = "Weird Sound" - var/sound_list = list("random","phone","hallelujah","highlander","laughter","hyperspace","game over","creepy","tesla") - var/hal_choice = input("Choose the hallucination sound", name) as null|anything in sound_list - if(!hal_choice || hal_choice == "random") - hal_details = null - else - hal_details = hal_choice + extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/type("random", list("random","phone","hallelujah","highlander","laughter","hyperspace","game over","creepy","tesla")) if("Station Message") - hal_type = "Station Message" - var/msg_list = list("random","ratvar","shuttle dock","blob alert","malf ai","meteors","supermatter") - var/hal_choice = input("Choose the hallucination station message", name) as null|anything in msg_list - if(!hal_choice || hal_choice == "random") - hal_details = null - else - hal_details = hal_choice + extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/type("random", list("random","ratvar","shuttle dock","blob alert","malf ai","meteors","supermatter")) if("Health") - hal_type = "Health" - var/health_list = list("random","critical","dead","healthy") - var/hal_choice = input("Choose the health status", name) as null|anything in health_list - if(!hal_choice || hal_choice == "random") - hal_details = null - else - switch(hal_choice) - if("critical") - hal_details = SCREWYHUD_CRIT - if("dead") - hal_details = SCREWYHUD_DEAD - if("healthy") - hal_details = SCREWYHUD_HEALTHY + extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/type("random", list("random","critical","dead","healthy")) if("Alert") - hal_type = "Alert" - var/alert_list = list("random","not_enough_oxy","not_enough_tox","not_enough_co2","too_much_oxy","too_much_co2","too_much_tox","newlaw","nutrition","charge","gravity","fire","locked","hacked","temphot","tempcold","pressure") - var/hal_choice = input("Choose the alert", name) as null|anything in alert_list - if(!hal_choice || hal_choice == "random") - hal_details = null - else - hal_details = hal_choice - if("Fire") - hal_type = "Fire" - if("Shock") - hal_type = "Shock" - if("Plasma Flood") - hal_type = "Plasma Flood" - -/datum/nanite_program/triggered/comm/hallucination/get_extra_setting(setting) - if(setting == "Hallucination Type") - if(!hal_type) - return "Random" - else - return hal_type - if(setting == "Comm Code") - return comm_code - -/datum/nanite_program/triggered/comm/hallucination/copy_extra_settings_to(datum/nanite_program/triggered/comm/hallucination/target) - target.hal_type = hal_type - target.hal_details = hal_details - target.comm_code = comm_code + extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/type("random", list("random","not_enough_oxy","not_enough_tox","not_enough_co2","too_much_oxy","too_much_co2","too_much_tox","newlaw","nutrition","charge","gravity","fire","locked","hacked","temphot","tempcold","pressure")) + else + extra_settings.Remove(NES_HALLUCINATION_DETAIL) /datum/nanite_program/good_mood name = "Happiness Enhancer" desc = "The nanites synthesize serotonin inside the host's brain, creating an artificial sense of happiness." use_rate = 0.1 rogue_types = list(/datum/nanite_program/brain_decay) - extra_settings = list("Mood Message") - var/message = "HAPPINESS ENHANCEMENT" -/datum/nanite_program/good_mood/set_extra_setting(user, setting) - if(setting == "Mood Message") - var/new_message = stripped_input(user, "Choose the message visible on the mood effect.", "Message", message, MAX_NAME_LEN) - if(!new_message) - return - message = new_message - -/datum/nanite_program/good_mood/get_extra_setting(setting) - if(setting == "Mood Message") - return message - -/datum/nanite_program/good_mood/copy_extra_settings_to(datum/nanite_program/good_mood/target) - target.message = message +/datum/nanite_program/good_mood/register_extra_settings() + . = ..() + extra_settings[NES_MOOD_MESSAGE] = new /datum/nanite_extra_setting/text("HAPPINESS ENHANCEMENT") /datum/nanite_program/good_mood/enable_passive_effect() . = ..() - SEND_SIGNAL(host_mob, COMSIG_ADD_MOOD_EVENT, "nanite_happy", /datum/mood_event/nanite_happiness, message) + SEND_SIGNAL(host_mob, COMSIG_ADD_MOOD_EVENT, "nanite_happy", /datum/mood_event/nanite_happiness, get_extra_setting_value(NES_MOOD_MESSAGE)) /datum/nanite_program/good_mood/disable_passive_effect() . = ..() @@ -395,26 +294,14 @@ desc = "The nanites suppress the production of serotonin inside the host's brain, creating an artificial state of depression." use_rate = 0.1 rogue_types = list(/datum/nanite_program/brain_decay) - extra_settings = list("Mood Message") - var/message = "HAPPINESS SUPPRESSION" -/datum/nanite_program/bad_mood/set_extra_setting(user, setting) - if(setting == "Mood Message") - var/new_message = stripped_input(user, "Choose the message visible on the mood effect.", "Message", message, MAX_NAME_LEN) - if(!new_message) - return - message = new_message - -/datum/nanite_program/bad_mood/get_extra_setting(setting) - if(setting == "Mood Message") - return message - -/datum/nanite_program/bad_mood/copy_extra_settings_to(datum/nanite_program/bad_mood/target) - target.message = message +/datum/nanite_program/bad_mood/register_extra_settings() + . = ..() + extra_settings[NES_MOOD_MESSAGE] = new /datum/nanite_extra_setting/text("HAPPINESS SUPPRESSION") /datum/nanite_program/bad_mood/enable_passive_effect() . = ..() - SEND_SIGNAL(host_mob, COMSIG_ADD_MOOD_EVENT, "nanite_sadness", /datum/mood_event/nanite_sadness, message) + SEND_SIGNAL(host_mob, COMSIG_ADD_MOOD_EVENT, "nanite_sadness", /datum/mood_event/nanite_sadness, get_extra_setting_value(NES_MOOD_MESSAGE)) /datum/nanite_program/bad_mood/disable_passive_effect() . = ..() diff --git a/code/modules/research/nanites/nanite_programs/utility.dm b/code/modules/research/nanites/nanite_programs/utility.dm index deafbcd02c..6352f50b8b 100644 --- a/code/modules/research/nanites/nanite_programs/utility.dm +++ b/code/modules/research/nanites/nanite_programs/utility.dm @@ -1,82 +1,29 @@ //Programs that interact with other programs or nanites directly, or have other special purposes. /datum/nanite_program/viral name = "Viral Replica" - desc = "The nanites constantly send encrypted signals attempting to forcefully copy their own programming into other nanite clusters." + desc = "The nanites constantly send encrypted signals attempting to forcefully copy their own programming into other nanite clusters, also overriding or disabling their cloud sync." use_rate = 0.5 rogue_types = list(/datum/nanite_program/toxic) - extra_settings = list("Program Overwrite","Cloud Overwrite") - var/pulse_cooldown = 0 - var/sync_programs = TRUE - var/sync_overwrite = FALSE - var/overwrite_cloud = FALSE - var/set_cloud = 0 -/datum/nanite_program/viral/set_extra_setting(user, setting) - if(setting == "Program Overwrite") - var/overwrite_type = input("Choose what to do with the target's programs", name) as null|anything in list("Overwrite","Add To","Ignore") - if(!overwrite_type) - return - switch(overwrite_type) - if("Ignore") //Do not affect programs (if you only want to set the cloud ID) - sync_programs = FALSE - sync_overwrite = FALSE - if("Add To") //Add to existing programs (so the target does not notice theirs are missing) - sync_programs = TRUE - sync_overwrite = FALSE - if("Overwrite") //Replace target's programs with the source - sync_programs = TRUE - sync_overwrite = TRUE - if(setting == "Cloud Overwrite") - var/overwrite_type = input("Choose what to do with the target's Cloud ID", name) as null|anything in list("Overwrite","Disable","Keep") - if(!overwrite_type) - return - switch(overwrite_type) - if("Keep") //Don't change the cloud ID - overwrite_cloud = FALSE - set_cloud = 0 - if("Disable") //Set the cloud ID to disabled - overwrite_cloud = TRUE - set_cloud = 0 - if("Overwrite") //Set the cloud ID to what we choose - var/new_cloud = input(user, "Choose the Cloud ID to set on infected nanites (1-100)", name, null) as null|num - if(isnull(new_cloud)) - return - overwrite_cloud = TRUE - set_cloud = CLAMP(round(new_cloud, 1), 1, 100) - -/datum/nanite_program/viral/get_extra_setting(setting) - if(setting == "Program Overwrite") - if(!sync_programs) - return "Ignore" - else if(sync_overwrite) - return "Overwrite" - else - return "Add To" - if(setting == "Cloud Overwrite") - if(!overwrite_cloud) - return "None" - else if(set_cloud == 0) - return "Disable" - else - return set_cloud - -/datum/nanite_program/viral/copy_extra_settings_to(datum/nanite_program/viral/target) - target.overwrite_cloud = overwrite_cloud - target.set_cloud = set_cloud - target.sync_programs = sync_programs - target.sync_overwrite = sync_overwrite +/datum/nanite_program/viral/register_extra_settings() + extra_settings[NES_PROGRAM_OVERWRITE] = new /datum/nanite_extra_setting/type("Add To", list("Overwrite", "Add To", "Ignore")) + extra_settings[NES_CLOUD_OVERWRITE] = new /datum/nanite_extra_setting/number(0, 0, 100) /datum/nanite_program/viral/active_effect() if(world.time < pulse_cooldown) return + var/datum/nanite_extra_setting/program = extra_settings[NES_PROGRAM_OVERWRITE] + var/datum/nanite_extra_setting/cloud = extra_settings[NES_CLOUD_OVERWRITE] for(var/mob/M in orange(host_mob, 5)) if(SEND_SIGNAL(M, COMSIG_NANITE_IS_STEALTHY)) continue - if(sync_programs) - SEND_SIGNAL(M, COMSIG_NANITE_SYNC, nanites, sync_overwrite) - if(overwrite_cloud) - SEND_SIGNAL(M, COMSIG_NANITE_SET_CLOUD, set_cloud) + switch(program.get_value()) + if("Overwrite") + SEND_SIGNAL(M, COMSIG_NANITE_SYNC, nanites, TRUE) + if("Add To") + SEND_SIGNAL(M, COMSIG_NANITE_SYNC, nanites, FALSE) + SEND_SIGNAL(M, COMSIG_NANITE_SET_CLOUD, cloud.get_value()) pulse_cooldown = world.time + 75 /datum/nanite_program/monitoring @@ -94,38 +41,23 @@ SSnanites.nanite_monitored_mobs -= host_mob host_mob.hud_set_nanite_indicator() -/datum/nanite_program/triggered/self_scan +/datum/nanite_program/self_scan name = "Host Scan" desc = "The nanites display a detailed readout of a body scan to the host." unique = FALSE + can_trigger = TRUE trigger_cost = 3 trigger_cooldown = 50 rogue_types = list(/datum/nanite_program/toxic) - extra_settings = list("Scan Type") - var/scan_type = "Medical" +/datum/nanite_program/self_scan/register_extra_settings() + extra_settings[NES_SCAN_TYPE] = new /datum/nanite_extra_setting/type("Medical", list("Medical", "Chemical", "Nanite")) -/datum/nanite_program/triggered/self_scan/set_extra_setting(user, setting) - if(setting == "Scan Type") - var/list/scan_types = list("Medical","Chemical","Nanite") - var/new_scan_type = input("Choose the scan type", name) as null|anything in scan_types - if(!new_scan_type) - return - scan_type = new_scan_type - -/datum/nanite_program/triggered/self_scan/get_extra_setting(setting) - if(setting == "Scan Type") - return scan_type - -/datum/nanite_program/triggered/self_scan/copy_extra_settings_to(datum/nanite_program/triggered/self_scan/target) - target.scan_type = scan_type - -/datum/nanite_program/triggered/self_scan/trigger() - if(!..()) - return +/datum/nanite_program/self_scan/on_trigger(comm_message) if(host_mob.stat == DEAD) return - switch(scan_type) + var/datum/nanite_extra_setting/NS = extra_settings[NES_SCAN_TYPE] + switch(NS.get_value()) if("Medical") healthscan(host_mob, host_mob) if("Chemical") @@ -162,28 +94,13 @@ . = ..() nanites.diagnostics = TRUE - /datum/nanite_program/relay name = "Relay" desc = "The nanites receive and relay long-range nanite signals." rogue_types = list(/datum/nanite_program/toxic) - extra_settings = list("Relay Channel") - var/relay_channel = 1 - -/datum/nanite_program/relay/set_extra_setting(user, setting) - if(setting == "Relay Channel") - var/new_channel = input(user, "Set the relay channel (1-9999):", name, null) as null|num - if(isnull(new_channel)) - return - relay_channel = CLAMP(round(new_channel, 1), 1, 9999) - -/datum/nanite_program/relay/get_extra_setting(setting) - if(setting == "Relay Channel") - return relay_channel - -/datum/nanite_program/relay/copy_extra_settings_to(datum/nanite_program/relay/target) - target.relay_channel = relay_channel +/datum/nanite_program/relay/register_extra_settings() + extra_settings[NES_RELAY_CHANNEL] = new /datum/nanite_extra_setting/number(1, 1, 9999) /datum/nanite_program/relay/enable_passive_effect() . = ..() @@ -198,7 +115,8 @@ return if(!host_mob) return - if(relay_code != relay_channel) + var/datum/nanite_extra_setting/NS = extra_settings[NES_RELAY_CHANNEL] + if(relay_code != NS.get_value()) return SEND_SIGNAL(host_mob, COMSIG_NANITE_SIGNAL, code, source) @@ -207,7 +125,8 @@ return if(!host_mob) return - if(relay_code != relay_channel) + var/datum/nanite_extra_setting/NS = extra_settings[NES_RELAY_CHANNEL] + if(relay_code != NS.get_value()) return SEND_SIGNAL(host_mob, COMSIG_NANITE_COMM_SIGNAL, comm_code, comm_message) @@ -228,14 +147,64 @@ host_mob.nutrition -= 0.5 nanites.adjust_nanites(src, 0.5) -/datum/nanite_program/triggered/access +/datum/nanite_program/research + name = "Distributed Computing" + desc = "The nanites aid the research servers by performing a portion of its calculations, increasing research point generation." + use_rate = 0.2 + rogue_types = list(/datum/nanite_program/toxic) + +/datum/nanite_program/research/active_effect() + if(!iscarbon(host_mob)) + return + var/points = 1 + if(!host_mob.client) //less brainpower + points *= 0.25 + SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = points)) + +/datum/nanite_program/researchplus + name = "Neural Network" + desc = "The nanites link the host's brains together forming a neural research network, that becomes more efficient with the amount of total hosts." + use_rate = 0.3 + rogue_types = list(/datum/nanite_program/brain_decay) + +/datum/nanite_program/researchplus/enable_passive_effect() + . = ..() + if(!iscarbon(host_mob)) + return + if(host_mob.client) + SSnanites.neural_network_count++ + else + SSnanites.neural_network_count += 0.25 + +/datum/nanite_program/researchplus/disable_passive_effect() + . = ..() + if(!iscarbon(host_mob)) + return + if(host_mob.client) + SSnanites.neural_network_count-- + else + SSnanites.neural_network_count -= 0.25 + +/datum/nanite_program/researchplus/active_effect() + if(!iscarbon(host_mob)) + return + var/mob/living/carbon/C = host_mob + var/points = round(SSnanites.neural_network_count / 12, 0.1) + if(!C.client) //less brainpower + points *= 0.25 + SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = points)) + +/datum/nanite_program/access name = "Subdermal ID" desc = "The nanites store the host's ID access rights in a subdermal magnetic strip. Updates when triggered, copying the host's current access." + can_trigger = TRUE + trigger_cost = 3 + trigger_cooldown = 30 rogue_types = list(/datum/nanite_program/skin_decay) var/access = list() //Syncs the nanites with the cumulative current mob's access level. Can potentially wipe existing access. -/datum/nanite_program/triggered/access/trigger() +/datum/nanite_program/access/on_trigger(comm_message) var/list/new_access = list() var/obj/item/current_item current_item = host_mob.get_active_held_item() @@ -284,19 +253,42 @@ SEND_SIGNAL(infectee, COMSIG_NANITE_SYNC, nanites) infectee.investigate_log("was infected by spreading nanites by [key_name(host_mob)] at [AREACOORD(infectee)].", INVESTIGATE_NANITES) +/datum/nanite_program/nanite_sting + name = "Nanite Sting" + desc = "When triggered, projects a nearly invisible spike of nanites that attempts to infect a nearby non-host with a copy of the host's nanites cluster." + can_trigger = TRUE + trigger_cost = 5 + trigger_cooldown = 100 + rogue_types = list(/datum/nanite_program/glitch, /datum/nanite_program/toxic) + +/datum/nanite_program/nanite_sting/on_trigger(comm_message) + var/list/mob/living/target_hosts = list() + for(var/mob/living/L in oview(1, host_mob)) + if(!(L.mob_biotypes & (MOB_ORGANIC|MOB_UNDEAD)) || SEND_SIGNAL(L, COMSIG_HAS_NANITES) || !L.Adjacent(host_mob)) + continue + target_hosts += L + if(!target_hosts.len) + consume_nanites(-5) + return + var/mob/living/infectee = pick(target_hosts) + if(prob(100 - (infectee.get_permeability_protection() * 100))) + //unlike with Infective Exo-Locomotion, this can't take over existing nanites, because Nanite Sting only targets non-hosts. + infectee.AddComponent(/datum/component/nanites, 5) + SEND_SIGNAL(infectee, COMSIG_NANITE_SYNC, nanites) + infectee.investigate_log("was infected by a nanite cluster by [key_name(host_mob)] at [AREACOORD(infectee)].", INVESTIGATE_NANITES) + to_chat(infectee, "You feel a tiny prick.") + /datum/nanite_program/mitosis name = "Mitosis" - desc = "The nanites gain the ability to self-replicate, using bluespace to power the process, instead of drawing from a template. This rapidly speeds up the replication rate,\ - but it causes occasional software errors due to faulty copies. Not compatible with cloud sync." + desc = "The nanites gain the ability to self-replicate, using bluespace to power the process. Becomes more effective the more nanites are already in the host.\ + The replication has also a chance to corrupt the nanite programming due to copy faults - cloud sync is highly recommended." use_rate = 0 rogue_types = list(/datum/nanite_program/toxic) /datum/nanite_program/mitosis/active_effect() - if(nanites.cloud_id) - return var/rep_rate = round(nanites.nanite_volume / 50, 1) //0.5 per 50 nanite volume rep_rate *= 0.5 - nanites.adjust_nanites(rep_rate) + nanites.adjust_nanites(null, rep_rate) if(prob(rep_rate)) var/datum/nanite_program/fault = pick(nanites.programs) if(fault == src) @@ -306,56 +298,22 @@ /datum/nanite_program/dermal_button name = "Dermal Button" desc = "Displays a button on the host's skin, which can be used to send a signal to the nanites." - extra_settings = list("Sent Code","Button Name","Icon","Color") unique = FALSE var/datum/action/innate/nanite_button/button - var/button_name = "Button" - var/icon = "power" - var/color = "green" - var/sent_code = 0 -/datum/nanite_program/dermal_button/set_extra_setting(user, setting) - if(setting == "Sent Code") - var/new_code = input(user, "Set the sent code (1-9999):", name, null) as null|num - if(isnull(new_code)) - return - sent_code = CLAMP(round(new_code, 1), 1, 9999) - if(setting == "Button Name") - var/new_button_name = stripped_input(user, "Choose the name for the button.", "Button Name", button_name, MAX_NAME_LEN) - if(!new_button_name) - return - button_name = new_button_name - if(setting == "Icon") - var/new_icon = input("Select the icon to display on the button:", name) as null|anything in list("one","two","three","four","five","plus","minus","power") - if(!new_icon) - return - icon = new_icon - if(setting == "Color") - var/new_color = input("Select the color of the button's icon:", name) as null|anything in list("green","red","yellow","blue") - if(!new_color) - return - color = new_color - -/datum/nanite_program/dermal_button/get_extra_setting(setting) - if(setting == "Sent Code") - return sent_code - if(setting == "Button Name") - return button_name - if(setting == "Icon") - return capitalize(icon) - if(setting == "Color") - return capitalize(color) - -/datum/nanite_program/dermal_button/copy_extra_settings_to(datum/nanite_program/dermal_button/target) - target.sent_code = sent_code - target.button_name = button_name - target.icon = icon - target.color = color +/datum/nanite_program/dermal_button/register_extra_settings() + extra_settings[NES_SENT_CODE] = new /datum/nanite_extra_setting/number(1, 1, 9999) + extra_settings[NES_BUTTON_NAME] = new /datum/nanite_extra_setting/text("Button") + extra_settings[NES_ICON] = new /datum/nanite_extra_setting/type("power", list("one","two","three","four","five","plus","minus","power")) + extra_settings[NES_COLOR] = new /datum/nanite_extra_setting/type("green", list("green","red","yellow","blue")) /datum/nanite_program/dermal_button/enable_passive_effect() . = ..() + var/datum/nanite_extra_setting/bn_name = extra_settings[NES_BUTTON_NAME] + var/datum/nanite_extra_setting/bn_icon = extra_settings[NES_ICON] + var/datum/nanite_extra_setting/bn_color = extra_settings[NES_COLOR] if(!button) - button = new(src, button_name, icon, color) + button = new(src, bn_name.get_value(), bn_icon.get_value(), bn_color.get_value()) button.target = host_mob button.Grant(host_mob) @@ -372,7 +330,8 @@ if(activated) host_mob.visible_message("[host_mob] presses a button on [host_mob.p_their()] forearm.", "You press the nanite button on your forearm.", null, 2) - SEND_SIGNAL(host_mob, COMSIG_NANITE_SIGNAL, sent_code, "a [name] program") + var/datum/nanite_extra_setting/sent_code = extra_settings[NES_SENT_CODE] + SEND_SIGNAL(host_mob, COMSIG_NANITE_SIGNAL, sent_code.get_value(), "a [name] program") /datum/action/innate/nanite_button name = "Button" @@ -389,51 +348,3 @@ /datum/action/innate/nanite_button/Activate() program.press() - -/datum/nanite_program/research - name = "Distributed Computing" - desc = "The nanites aid the research servers by performing a portion of its calculations, increasing research point generation." - use_rate = 0.2 - rogue_types = list(/datum/nanite_program/toxic) - -/datum/nanite_program/research/active_effect() - if(!iscarbon(host_mob)) - return - var/points = 1 - if(!host_mob.client) //less brainpower - points *= 0.25 - SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = points)) - -/datum/nanite_program/researchplus - name = "Neural Network" - desc = "The nanites link the host's brains together forming a neural research network, that becomes more efficient with the amount of total hosts." - use_rate = 0.3 - rogue_types = list(/datum/nanite_program/brain_decay) - -/datum/nanite_program/researchplus/enable_passive_effect() - . = ..() - if(!iscarbon(host_mob)) - return - if(host_mob.client) - SSnanites.neural_network_count++ - else - SSnanites.neural_network_count += 0.25 - -/datum/nanite_program/researchplus/disable_passive_effect() - . = ..() - if(!iscarbon(host_mob)) - return - if(host_mob.client) - SSnanites.neural_network_count-- - else - SSnanites.neural_network_count -= 0.25 - -/datum/nanite_program/researchplus/active_effect() - if(!iscarbon(host_mob)) - return - var/mob/living/carbon/C = host_mob - var/points = round(SSnanites.neural_network_count / 12, 0.1) - if(!C.client) //less brainpower - points *= 0.25 - SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = points)) - diff --git a/code/modules/research/nanites/nanite_programs/weapon.dm b/code/modules/research/nanites/nanite_programs/weapon.dm index f634b2088c..bd2b9618de 100644 --- a/code/modules/research/nanites/nanite_programs/weapon.dm +++ b/code/modules/research/nanites/nanite_programs/weapon.dm @@ -73,21 +73,20 @@ . = ..() to_chat(host_mob, "Your blood cools down, and the pain gradually fades.") -/datum/nanite_program/triggered/explosive +/datum/nanite_program/explosive name = "Chain Detonation" desc = "Detonates all the nanites inside the host in a chain reaction when triggered." + can_trigger = TRUE trigger_cost = 25 //plus every idle nanite left afterwards trigger_cooldown = 100 //Just to avoid double-triggering rogue_types = list(/datum/nanite_program/toxic) -/datum/nanite_program/triggered/explosive/trigger() - if(!..()) - return +/datum/nanite_program/explosive/on_trigger(comm_message) host_mob.visible_message("[host_mob] starts emitting a high-pitched buzzing, and [host_mob.p_their()] skin begins to glow...",\ "You start emitting a high-pitched buzzing, and your skin begins to glow...") addtimer(CALLBACK(src, .proc/boom), CLAMP((nanites.nanite_volume * 0.35), 25, 150)) -/datum/nanite_program/triggered/explosive/proc/boom() +/datum/nanite_program/explosive/proc/boom() var/nanite_amount = nanites.nanite_volume var/heavy_range = FLOOR(nanite_amount/100, 1) - 1 var/light_range = FLOOR(nanite_amount/50, 1) - 1 @@ -96,16 +95,15 @@ //TODO make it defuse if triggered again -/datum/nanite_program/triggered/heart_stop +/datum/nanite_program/heart_stop name = "Heart-Stopper" desc = "Stops the host's heart when triggered; restarts it if triggered again." + can_trigger = TRUE trigger_cost = 12 trigger_cooldown = 10 rogue_types = list(/datum/nanite_program/nerve_decay) -/datum/nanite_program/triggered/heart_stop/trigger() - if(!..()) - return +/datum/nanite_program/heart_stop/on_trigger(comm_message) if(iscarbon(host_mob)) var/mob/living/carbon/C = host_mob var/obj/item/organ/heart/heart = C.getorganslot(ORGAN_SLOT_HEART) @@ -115,16 +113,16 @@ else heart.Restart() -/datum/nanite_program/triggered/emp +/datum/nanite_program/emp name = "Electromagnetic Resonance" - desc = "The nanites cause an elctromagnetic pulse around the host when triggered. Will corrupt other nanite programs!" + desc = "The nanites cause an electromagnetic pulse around the host when triggered. Will corrupt other nanite programs!" + can_trigger = TRUE trigger_cost = 10 + trigger_cooldown = 50 program_flags = NANITE_EMP_IMMUNE rogue_types = list(/datum/nanite_program/toxic) -/datum/nanite_program/triggered/emp/trigger() - if(!..()) - return +/datum/nanite_program/emp/on_trigger(comm_message) empulse(host_mob, 1, 2) /datum/nanite_program/pyro/active_effect() @@ -148,7 +146,7 @@ /datum/nanite_program/cryo name = "Cryogenic Treatment" - desc = "The nanites rapidly skin heat through the host's skin, lowering their temperature." + desc = "The nanites rapidly sink heat through the host's skin, lowering their temperature." use_rate = 1 rogue_types = list(/datum/nanite_program/skin_decay, /datum/nanite_program/pyro) @@ -160,55 +158,33 @@ /datum/nanite_program/cryo/active_effect() host_mob.adjust_bodytemperature(-rand(15,25), 50) -/datum/nanite_program/triggered/comm/mind_control +/datum/nanite_program/comm/mind_control name = "Mind Control" desc = "The nanites imprint an absolute directive onto the host's brain for one minute when triggered." trigger_cost = 30 trigger_cooldown = 1800 rogue_types = list(/datum/nanite_program/brain_decay, /datum/nanite_program/brain_misfire) - extra_settings = list("Directive","Comm Code") - var/directive = "..." +/datum/nanite_program/comm/mind_control/register_extra_settings() + . = ..() + extra_settings[NES_DIRECTIVE] = new /datum/nanite_extra_setting/text("...") -/datum/nanite_program/triggered/comm/mind_control/set_extra_setting(user, setting) - if(setting == "Directive") - var/new_directive = stripped_input(user, "Choose the directive to imprint with mind control.", "Directive", directive, MAX_MESSAGE_LEN) - if(!new_directive) - return - directive = new_directive - if(setting == "Comm Code") - var/new_code = input(user, "Set the communication code (1-9999) or set to 0 to disable external signals.", name, null) as null|num - if(isnull(new_code)) - return - comm_code = CLAMP(round(new_code, 1), 0, 9999) - -/datum/nanite_program/triggered/comm/mind_control/get_extra_setting(setting) - if(setting == "Directive") - return directive - if(setting == "Comm Code") - return comm_code - -/datum/nanite_program/triggered/comm/mind_control/copy_extra_settings_to(datum/nanite_program/triggered/comm/mind_control/target) - target.directive = directive - target.comm_code = comm_code - -/datum/nanite_program/triggered/comm/mind_control/trigger(comm_message) - if(!..()) - return +/datum/nanite_program/comm/mind_control/on_trigger(comm_message) if(host_mob.stat == DEAD) return var/sent_directive = comm_message if(!comm_message) - sent_directive = directive + var/datum/nanite_extra_setting/ES = extra_settings[NES_DIRECTIVE] + sent_directive = ES.get_value() brainwash(host_mob, sent_directive) - log_game("A mind control nanite program brainwashed [key_name(host_mob)] with the objective '[directive]'.") + log_game("A mind control nanite program brainwashed [key_name(host_mob)] with the objective '[sent_directive]'.") addtimer(CALLBACK(src, .proc/end_brainwashing), 600) -/datum/nanite_program/triggered/comm/mind_control/proc/end_brainwashing() +/datum/nanite_program/comm/mind_control/proc/end_brainwashing() if(host_mob.mind && host_mob.mind.has_antag_datum(/datum/antagonist/brainwashed)) host_mob.mind.remove_antag_datum(/datum/antagonist/brainwashed) log_game("[key_name(host_mob)] is no longer brainwashed by nanites.") - -/datum/nanite_program/triggered/comm/mind_control/disable_passive_effect() + +/datum/nanite_program/comm/mind_control/disable_passive_effect() . = ..() end_brainwashing() diff --git a/code/modules/research/nanites/nanite_remote.dm b/code/modules/research/nanites/nanite_remote.dm index e10d8f8c4b..71aecc8f2c 100644 --- a/code/modules/research/nanites/nanite_remote.dm +++ b/code/modules/research/nanites/nanite_remote.dm @@ -18,6 +18,7 @@ var/last_id = 0 var/code = 0 var/relay_code = 0 + var/current_program_name = "Program" /obj/item/nanite_remote/examine(mob/user) . = ..() @@ -35,10 +36,8 @@ update_icon() else to_chat(user, "Access denied.") - return TRUE /obj/item/nanite_remote/emag_act(mob/user) - . = ..() if(obj_flags & EMAGGED) return to_chat(user, "You override [src]'s ID lock.") @@ -46,33 +45,31 @@ if(locked) locked = FALSE update_icon() - return TRUE -/obj/item/nanite_remote/update_icon() +/obj/item/nanite_remote/update_overlays() . = ..() - cut_overlays() if(obj_flags & EMAGGED) - add_overlay("nanite_remote_emagged") + . += "nanite_remote_emagged" if(locked) - add_overlay("nanite_remote_locked") + . += "nanite_remote_locked" /obj/item/nanite_remote/afterattack(atom/target, mob/user, etc) switch(mode) if(REMOTE_MODE_OFF) return if(REMOTE_MODE_SELF) - to_chat(user, "You activate [src], signaling the nanites in your bloodstream.") + to_chat(user, "You activate [src], signaling the nanites in your bloodstream.") signal_mob(user, code, key_name(user)) if(REMOTE_MODE_TARGET) if(isliving(target) && (get_dist(target, get_turf(src)) <= 7)) - to_chat(user, "You activate [src], signaling the nanites inside [target].") + to_chat(user, "You activate [src], signaling the nanites inside [target].") signal_mob(target, code, key_name(user)) if(REMOTE_MODE_AOE) - to_chat(user, "You activate [src], signaling the nanites inside every host around you.") + to_chat(user, "You activate [src], signaling the nanites inside every host around you.") for(var/mob/living/L in view(user, 7)) signal_mob(L, code, key_name(user)) if(REMOTE_MODE_RELAY) - to_chat(user, "You activate [src], signaling all connected relay nanites.") + to_chat(user, "You activate [src], signaling all connected relay nanites.") signal_relay(code, relay_code, key_name(user)) /obj/item/nanite_remote/proc/signal_mob(mob/living/M, code, source) @@ -84,9 +81,9 @@ N.relay_signal(code, relay_code, source) /obj/item/nanite_remote/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.hands_state) - SStgui.try_update_ui(user, src, ui_key, ui, force_open) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) - ui = new(user, src, ui_key, "nanite_remote", name, 420, 800, master_ui, state) + ui = new(user, src, ui_key, "nanite_remote", name, 420, 500, master_ui, state) ui.open() /obj/item/nanite_remote/ui_data() @@ -96,6 +93,7 @@ data["mode"] = mode data["locked"] = locked data["saved_settings"] = saved_settings + data["program_name"] = current_program_name return data @@ -106,7 +104,7 @@ if("set_code") if(locked) return - var/new_code = input("Set code (0000-9999):", name, code) as null|num + var/new_code = text2num(params["code"]) if(!isnull(new_code)) new_code = CLAMP(round(new_code, 1),0,9999) code = new_code @@ -114,21 +112,21 @@ if("set_relay_code") if(locked) return - var/new_code = input("Set relay code (0000-9999):", name, code) as null|num + var/new_code = text2num(params["code"]) if(!isnull(new_code)) new_code = CLAMP(round(new_code, 1),0,9999) relay_code = new_code . = TRUE + if("update_name") + current_program_name = params["name"] + . = TRUE if("save") if(locked) return - var/code_name = stripped_input(usr, "Set the setting name", "Set Name", null , 15) - if(!code_name) - return var/new_save = list() new_save["id"] = last_id + 1 last_id++ - new_save["name"] = code_name + new_save["name"] = current_program_name new_save["code"] = code new_save["mode"] = mode new_save["relay_code"] = relay_code @@ -172,7 +170,6 @@ name = "nanite communication remote" desc = "A device that can send text messages to specific programs." icon_state = "nanite_comm_remote" - var/comm_code = 0 var/comm_message = "" /obj/item/nanite_remote/comm/afterattack(atom/target, mob/user, etc) @@ -180,42 +177,38 @@ if(REMOTE_MODE_OFF) return if(REMOTE_MODE_SELF) - to_chat(user, "You activate [src], signaling the nanites in your bloodstream.") - signal_mob(user, comm_code, comm_message) + to_chat(user, "You activate [src], signaling the nanites in your bloodstream.") + signal_mob(user, code, comm_message) if(REMOTE_MODE_TARGET) if(isliving(target) && (get_dist(target, get_turf(src)) <= 7)) - to_chat(user, "You activate [src], signaling the nanites inside [target].") + to_chat(user, "You activate [src], signaling the nanites inside [target].") signal_mob(target, code, comm_message, key_name(user)) if(REMOTE_MODE_AOE) - to_chat(user, "You activate [src], signaling the nanites inside every host around you.") + to_chat(user, "You activate [src], signaling the nanites inside every host around you.") for(var/mob/living/L in view(user, 7)) signal_mob(L, code, comm_message, key_name(user)) if(REMOTE_MODE_RELAY) - to_chat(user, "You activate [src], signaling all connected relay nanites.") + to_chat(user, "You activate [src], signaling all connected relay nanites.") signal_relay(code, relay_code, comm_message, key_name(user)) /obj/item/nanite_remote/comm/signal_mob(mob/living/M, code, source) - SEND_SIGNAL(M, COMSIG_NANITE_COMM_SIGNAL, comm_code, comm_message) + SEND_SIGNAL(M, COMSIG_NANITE_COMM_SIGNAL, code, comm_message) /obj/item/nanite_remote/comm/signal_relay(code, relay_code, source) for(var/X in SSnanites.nanite_relays) var/datum/nanite_program/relay/N = X - N.relay_comm_signal(comm_code, relay_code, comm_message) - -/obj/item/nanite_remote/comm/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.hands_state) - SStgui.try_update_ui(user, src, ui_key, ui, force_open) - if(!ui) - ui = new(user, src, ui_key, "nanite_comm_remote", name, 420, 800, master_ui, state) - ui.open() + N.relay_comm_signal(code, relay_code, comm_message) /obj/item/nanite_remote/comm/ui_data() var/list/data = list() - data["comm_code"] = comm_code + data["comms"] = TRUE + data["code"] = code data["relay_code"] = relay_code - data["comm_message"] = comm_message + data["message"] = comm_message data["mode"] = mode data["locked"] = locked data["saved_settings"] = saved_settings + data["program_name"] = current_program_name return data @@ -223,56 +216,17 @@ if(..()) return switch(action) - if("set_comm_code") - if(locked) - return - var/new_code = input("Set comm code (0000-9999):", name, code) as null|num - if(!isnull(new_code)) - new_code = CLAMP(round(new_code, 1),0,9999) - comm_code = new_code - . = TRUE if("set_message") if(locked) return - var/new_message = stripped_input(usr, "Set the message (Max 300 characters):", "Set Message", null , 300) + var/new_message = html_encode(params["value"]) if(!new_message) return comm_message = new_message . = TRUE - if("comm_save") - if(locked) - return - var/code_name = stripped_input(usr, "Set the setting name", "Set Name", null , 15) - if(!code_name) - return - var/new_save = list() - new_save["id"] = last_id + 1 - last_id++ - new_save["name"] = code_name - new_save["code"] = comm_code - new_save["mode"] = mode - new_save["relay_code"] = relay_code - new_save["message"] = comm_message - - saved_settings += list(new_save) - . = TRUE - if("comm_load") - var/code_id = params["save_id"] - var/list/setting - for(var/list/X in saved_settings) - if(X["id"] == text2num(code_id)) - setting = X - break - if(setting) - comm_code = setting["code"] - mode = setting["mode"] - relay_code = setting["relay_code"] - comm_message = setting["message"] - . = TRUE - #undef REMOTE_MODE_OFF #undef REMOTE_MODE_SELF #undef REMOTE_MODE_TARGET #undef REMOTE_MODE_AOE -#undef REMOTE_MODE_RELAY \ No newline at end of file +#undef REMOTE_MODE_RELAY diff --git a/code/modules/research/nanites/program_disks.dm b/code/modules/research/nanites/program_disks.dm index 6444ebc025..667618173c 100644 --- a/code/modules/research/nanites/program_disks.dm +++ b/code/modules/research/nanites/program_disks.dm @@ -31,7 +31,7 @@ program_type = /datum/nanite_program/relay /obj/item/disk/nanite_program/emp - program_type = /datum/nanite_program/triggered/emp + program_type = /datum/nanite_program/emp /obj/item/disk/nanite_program/spreading program_type = /datum/nanite_program/spreading @@ -91,16 +91,16 @@ program_type = /datum/nanite_program/suffocating /obj/item/disk/nanite_program/heart_stop - program_type = /datum/nanite_program/triggered/heart_stop + program_type = /datum/nanite_program/heart_stop /obj/item/disk/nanite_program/explosive - program_type = /datum/nanite_program/triggered/explosive + program_type = /datum/nanite_program/explosive /obj/item/disk/nanite_program/shock - program_type = /datum/nanite_program/triggered/shocking + program_type = /datum/nanite_program/shocking /obj/item/disk/nanite_program/sleepy - program_type = /datum/nanite_program/triggered/sleepy + program_type = /datum/nanite_program/sleepy /obj/item/disk/nanite_program/paralyzing program_type = /datum/nanite_program/paralyzing @@ -130,7 +130,7 @@ program_type = /datum/nanite_program/pacifying /obj/item/disk/nanite_program/stun - program_type = /datum/nanite_program/triggered/stun + program_type = /datum/nanite_program/stun /obj/item/disk/nanite_program/dermal_button program_type = /datum/nanite_program/dermal_button @@ -149,3 +149,4 @@ /obj/item/disk/nanite_program/bad_mood program_type = /datum/nanite_program/bad_mood + diff --git a/code/modules/research/nanites/public_chamber.dm b/code/modules/research/nanites/public_chamber.dm index f1cd19b2a2..76392c66e9 100644 --- a/code/modules/research/nanites/public_chamber.dm +++ b/code/modules/research/nanites/public_chamber.dm @@ -32,7 +32,7 @@ busy_icon_state = working_icon update_icon() -/obj/machinery/public_nanite_chamber/proc/inject_nanites() +/obj/machinery/public_nanite_chamber/proc/inject_nanites(mob/living/attacker) if(stat & (NOPOWER|BROKEN)) return if((stat & MAINT) || panel_open) @@ -47,46 +47,67 @@ set_busy(TRUE, "[initial(icon_state)]_raising") addtimer(CALLBACK(src, .proc/set_busy, TRUE, "[initial(icon_state)]_active"),20) addtimer(CALLBACK(src, .proc/set_busy, TRUE, "[initial(icon_state)]_falling"),60) - addtimer(CALLBACK(src, .proc/complete_injection, locked_state),80) + addtimer(CALLBACK(src, .proc/complete_injection, locked_state, attacker),80) -/obj/machinery/public_nanite_chamber/proc/complete_injection(locked_state) +/obj/machinery/public_nanite_chamber/proc/complete_injection(locked_state, mob/living/attacker) //TODO MACHINE DING locked = locked_state set_busy(FALSE) if(!occupant) return + if(attacker) + occupant.investigate_log("was injected with nanites by [key_name(attacker)] using [src] at [AREACOORD(src)].", INVESTIGATE_NANITES) + log_combat(attacker, occupant, "injected", null, "with nanites via [src]") occupant.AddComponent(/datum/component/nanites, 75, cloud_id) -/obj/machinery/public_nanite_chamber/update_icon() - cut_overlays() - +/obj/machinery/public_nanite_chamber/proc/change_cloud(mob/living/attacker) + if(stat & (NOPOWER|BROKEN)) + return if((stat & MAINT) || panel_open) - add_overlay("maint") + return + if(!occupant || busy) + return - else if(!(stat & (NOPOWER|BROKEN))) - if(busy || locked) - add_overlay("red") - if(locked) - add_overlay("bolted") - else - add_overlay("green") + var/locked_state = locked + locked = TRUE + set_busy(TRUE, "[initial(icon_state)]_raising") + addtimer(CALLBACK(src, .proc/set_busy, TRUE, "[initial(icon_state)]_active"),20) + addtimer(CALLBACK(src, .proc/set_busy, TRUE, "[initial(icon_state)]_falling"),40) + addtimer(CALLBACK(src, .proc/complete_cloud_change, locked_state, attacker),60) +/obj/machinery/public_nanite_chamber/proc/complete_cloud_change(locked_state, mob/living/attacker) + locked = locked_state + set_busy(FALSE) + if(!occupant) + return + if(attacker) + occupant.investigate_log("had their nanite cloud ID changed into [cloud_id] by [key_name(attacker)] using [src] at [AREACOORD(src)].", INVESTIGATE_NANITES) + SEND_SIGNAL(occupant, COMSIG_NANITE_SET_CLOUD, cloud_id) +/obj/machinery/public_nanite_chamber/update_icon_state() //running and someone in there if(occupant) if(busy) icon_state = busy_icon_state else icon_state = initial(icon_state)+ "_occupied" - return + else + //running + icon_state = initial(icon_state)+ (state_open ? "_open" : "") - //running - icon_state = initial(icon_state)+ (state_open ? "_open" : "") - -/obj/machinery/public_nanite_chamber/power_change() +/obj/machinery/public_nanite_chamber/update_overlays() . = ..() - update_icon() + if((stat & MAINT) || panel_open) + . += "maint" + + else if(!(stat & (NOPOWER|BROKEN))) + if(busy || locked) + . += "red" + if(locked) + . += "bolted" + else + . += "green" /obj/machinery/public_nanite_chamber/proc/toggle_open(mob/user) if(panel_open) @@ -94,7 +115,7 @@ return if(state_open) - close_machine() + close_machine(null, user) return else if(locked) @@ -113,7 +134,7 @@ user.last_special = world.time + CLICK_CD_BREAKOUT user.visible_message("You see [user] kicking against the door of [src]!", \ "You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)", \ - "You hear a metallic creaking from [src].") + "You hear a metallic creaking from [src].") if(do_after(user,(breakout_time), target = src)) if(!user || user.stat != CONSCIOUS || user.loc != src || state_open || !locked || busy) return @@ -122,7 +143,7 @@ "You successfully break out of [src]!") open_machine() -/obj/machinery/public_nanite_chamber/close_machine(mob/living/carbon/user) +/obj/machinery/public_nanite_chamber/close_machine(mob/living/carbon/user, mob/living/attacker) if(!state_open) return FALSE @@ -130,15 +151,18 @@ . = TRUE - addtimer(CALLBACK(src, .proc/try_inject_nanites), 30) //If someone is shoved in give them a chance to get out before the injection starts + addtimer(CALLBACK(src, .proc/try_inject_nanites, attacker), 30) //If someone is shoved in give them a chance to get out before the injection starts -/obj/machinery/public_nanite_chamber/proc/try_inject_nanites() +/obj/machinery/public_nanite_chamber/proc/try_inject_nanites(mob/living/attacker) if(occupant) var/mob/living/L = occupant if(SEND_SIGNAL(L, COMSIG_HAS_NANITES)) + var/datum/component/nanites/nanites = L.GetComponent(/datum/component/nanites) + if(nanites && nanites.cloud_id != cloud_id) + change_cloud(attacker) return if(L.mob_biotypes & (MOB_ORGANIC | MOB_UNDEAD)) - inject_nanites() + inject_nanites(attacker) /obj/machinery/public_nanite_chamber/open_machine() if(state_open) @@ -173,6 +197,8 @@ toggle_open(user) /obj/machinery/public_nanite_chamber/MouseDrop_T(mob/target, mob/user) - if(user.stat || user.lying || !Adjacent(user) || !user.Adjacent(target) || !iscarbon(target) || !user.IsAdvancedToolUser()) + if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK) || !Adjacent(target) || !user.Adjacent(target) || !iscarbon(target)) return - close_machine(target) + if(close_machine(target, user)) + log_combat(user, target, "inserted", null, "into [src].") + add_fingerprint(user) diff --git a/code/modules/research/nanites/rules.dm b/code/modules/research/nanites/rules.dm new file mode 100644 index 0000000000..f496abe6e1 --- /dev/null +++ b/code/modules/research/nanites/rules.dm @@ -0,0 +1,151 @@ +/datum/nanite_rule + var/name = "Generic Condition" + var/desc = "When triggered, the program is active" + var/datum/nanite_program/program + +/datum/nanite_rule/New(datum/nanite_program/new_program) + program = new_program + if(LAZYLEN(new_program.rules) <= 5) //Avoid infinite stacking rules + new_program.rules += src + else + qdel(src) + +/datum/nanite_rule/proc/remove() + program.rules -= src + program = null + qdel(src) + +/datum/nanite_rule/proc/check_rule() + return TRUE + +/datum/nanite_rule/proc/display() + return name + +/datum/nanite_rule/proc/copy_to(datum/nanite_program/new_program) + new type(new_program) + +/datum/nanite_rule/health + name = "Health" + desc = "Checks the host's health status." + + var/threshold = 50 + var/above = TRUE + +/datum/nanite_rule/health/check_rule() + var/health_percent = program.host_mob.health / program.host_mob.maxHealth * 100 + if(above) + if(health_percent >= threshold) + return TRUE + else + if(health_percent < threshold) + return TRUE + return FALSE + +/datum/nanite_rule/health/display() + return "[name] [above ? ">" : "<"] [threshold]%" + +/datum/nanite_rule/health/copy_to(datum/nanite_program/new_program) + var/datum/nanite_rule/health/rule = new(new_program) + rule.above = above + rule.threshold = threshold + +//TODO allow inversion +/datum/nanite_rule/crit + name = "Crit" + desc = "Checks if the host is in critical condition." + +/datum/nanite_rule/crit/check_rule() + if(program.host_mob.InCritical()) + return TRUE + return FALSE + +/datum/nanite_rule/death + name = "Death" + desc = "Checks if the host is dead." + +/datum/nanite_rule/death/check_rule() + if(program.host_mob.stat == DEAD || HAS_TRAIT(program.host_mob, TRAIT_FAKEDEATH)) + return TRUE + return FALSE + +/datum/nanite_rule/cloud_sync + name = "Cloud Sync" + desc = "Checks if the nanites have cloud sync enabled or disabled." + var/check_type = "Enabled" + +/datum/nanite_rule/cloud_sync/check_rule() + if(check_type == "Enabled") + return program.nanites.cloud_active + else + return !program.nanites.cloud_active + +/datum/nanite_rule/cloud_sync/copy_to(datum/nanite_program/new_program) + var/datum/nanite_rule/cloud_sync/rule = new(new_program) + rule.check_type = check_type + +/datum/nanite_rule/cloud_sync/display() + return "[name]:[check_type]" + +/datum/nanite_rule/nanites + name = "Nanite Volume" + desc = "Checks the host's nanite volume." + + var/threshold = 50 + var/above = TRUE + +/datum/nanite_rule/nanites/check_rule() + var/nanite_percent = (program.nanites.nanite_volume - program.nanites.safety_threshold)/(program.nanites.max_nanites - program.nanites.safety_threshold)*100 + if(above) + if(nanite_percent >= threshold) + return TRUE + else + if(nanite_percent < threshold) + return TRUE + return FALSE + +/datum/nanite_rule/nanites/copy_to(datum/nanite_program/new_program) + var/datum/nanite_rule/nanites/rule = new(new_program) + rule.above = above + rule.threshold = threshold + +/datum/nanite_rule/nanites/display() + return "[name] [above ? ">" : "<"] [threshold]%" + +/datum/nanite_rule/damage + name = "Damage" + desc = "Checks the host's damage." + + var/threshold = 50 + var/above = TRUE + var/damage_type = BRUTE + +/datum/nanite_rule/damage/check_rule() + var/damage_amt = 0 + switch(damage_type) + if(BRUTE) + damage_amt = program.host_mob.getBruteLoss() + if(BURN) + damage_amt = program.host_mob.getFireLoss() + if(TOX) + damage_amt = program.host_mob.getToxLoss() + if(OXY) + damage_amt = program.host_mob.getOxyLoss() + if(CLONE) + damage_amt = program.host_mob.getCloneLoss() + + if(above) + if(damage_amt >= threshold) + return TRUE + else + if(damage_amt < threshold) + return TRUE + return FALSE + +/datum/nanite_rule/damage/copy_to(datum/nanite_program/new_program) + var/datum/nanite_rule/damage/rule = new(new_program) + rule.above = above + rule.threshold = threshold + rule.damage_type = damage_type + +/datum/nanite_rule/damage/display() + return "[damage_type] [above ? ">" : "<"] [threshold]" diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 71cfe7c0f5..0104bfba7b 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -52,13 +52,10 @@ Nothing else in the console has ID requirements. research_control = FALSE /proc/CallMaterialName(ID) - if(GLOB.chemical_reagents_list[ID]) - var/datum/reagent/reagent = GLOB.chemical_reagents_list[ID] - return reagent.name - if (ID[1] == "$" && GLOB.materials_list[ID]) - var/datum/material/material = GLOB.materials_list[ID] + if (istype(ID, /datum/material)) + var/datum/material/material = ID return material.name - return "ERROR: Report This" + return ID /obj/machinery/computer/rdconsole/proc/SyncRDevices() //Makes sure it is properly sync'ed up with the devices attached to it (if any). for(var/obj/machinery/rnd/D in oview(3,src)) @@ -376,11 +373,13 @@ Nothing else in the console has ID requirements. l += ui_protolathe_header() l += "

Material Storage:

" for(var/mat_id in mat_container.materials) - var/datum/material/M = mat_container.materials[mat_id] - l += "* [M.amount] of [M.name]: " - if(M.amount >= MINERAL_MATERIAL_AMOUNT) l += "Eject [RDSCREEN_NOBREAK]" - if(M.amount >= MINERAL_MATERIAL_AMOUNT*5) l += "5x [RDSCREEN_NOBREAK]" - if(M.amount >= MINERAL_MATERIAL_AMOUNT) l += "All[RDSCREEN_NOBREAK]" + var/datum/material/M = mat_id + var/amount = mat_container.materials[mat_id] + var/ref = REF(M) + l += "* [amount] of [M.name]: " + if(amount >= MINERAL_MATERIAL_AMOUNT) l += "Eject [RDSCREEN_NOBREAK]" + if(amount >= MINERAL_MATERIAL_AMOUNT*5) l += "5x [RDSCREEN_NOBREAK]" + if(amount >= MINERAL_MATERIAL_AMOUNT) l += "All[RDSCREEN_NOBREAK]" l += "" l += "
[RDSCREEN_NOBREAK]" return l @@ -509,11 +508,13 @@ Nothing else in the console has ID requirements. l += ui_circuit_header() l += "

Material Storage:

" for(var/mat_id in mat_container.materials) - var/datum/material/M = mat_container.materials[mat_id] - l += "* [M.amount] of [M.name]: " - if(M.amount >= MINERAL_MATERIAL_AMOUNT) l += "Eject [RDSCREEN_NOBREAK]" - if(M.amount >= MINERAL_MATERIAL_AMOUNT*5) l += "5x [RDSCREEN_NOBREAK]" - if(M.amount >= MINERAL_MATERIAL_AMOUNT) l += "All[RDSCREEN_NOBREAK]
" + var/datum/material/M = mat_id + var/amount = mat_container.materials[mat_id] + var/ref = REF(M) + l += "* [amount] of [M.name]: " + if(amount >= MINERAL_MATERIAL_AMOUNT) l += "Eject [RDSCREEN_NOBREAK]" + if(amount >= MINERAL_MATERIAL_AMOUNT*5) l += "5x [RDSCREEN_NOBREAK]" + if(amount >= MINERAL_MATERIAL_AMOUNT) l += "All[RDSCREEN_NOBREAK]
" return l /obj/machinery/computer/rdconsole/proc/ui_techdisk() //Legacy code @@ -615,8 +616,8 @@ Nothing else in the console has ID requirements. l += "[RDSCREEN_NOBREAK]" if(!(linked_destroy.loaded_item.resistance_flags & INDESTRUCTIBLE)) - var/list/materials = linked_destroy.loaded_item.materials - l += "
[materials.len? "Material Reclamation" : "Destroy Item"]" + var/list/materials = linked_destroy.loaded_item.custom_materials + l += "
[LAZYLEN(materials)? "Material Reclamation" : "Destroy Item"]" for (var/M in materials) l += "* [CallMaterialName(M)] x [materials[M]]" l += "
[RDSCREEN_NOBREAK]" @@ -933,7 +934,8 @@ Nothing else in the console has ID requirements. if(!linked_lathe.materials.mat_container) say("No material storage linked to protolathe!") return - linked_lathe.eject_sheets(ls["ejectsheet"], ls["eject_amt"]) + var/datum/material/M = locate(ls["ejectsheet"]) in linked_lathe.materials.mat_container.materials + linked_lathe.eject_sheets(M, ls["eject_amt"]) //Circuit Imprinter Materials if(ls["disposeI"]) //Causes the circuit imprinter to dispose of a single reagent (all of it) if(QDELETED(linked_imprinter)) @@ -952,7 +954,8 @@ Nothing else in the console has ID requirements. if(!linked_imprinter.materials.mat_container) say("No material storage linked to circuit imprinter!") return - linked_imprinter.eject_sheets(ls["imprinter_ejectsheet"], ls["eject_amt"]) + var/datum/material/M = locate(ls["imprinter_ejectsheet"]) in linked_imprinter.materials.mat_container.materials + linked_imprinter.eject_sheets(M, ls["eject_amt"]) if(ls["disk_slot"]) disk_slot_selected = text2num(ls["disk_slot"]) if(ls["research_node"]) @@ -1015,7 +1018,7 @@ Nothing else in the console has ID requirements. D.category -= "Imported" else for(var/x in D.materials) - if( !(x in list(MAT_METAL, MAT_GLASS))) + if( !(x in list(/datum/material/iron, /datum/material/glass))) autolathe_friendly = FALSE D.category -= "Imported" diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm index 18bf8033b9..2237284a64 100644 --- a/code/modules/research/rdmachines.dm +++ b/code/modules/research/rdmachines.dm @@ -93,14 +93,14 @@ loaded_item.forceMove(loc) ..() -/obj/machinery/rnd/proc/AfterMaterialInsert(type_inserted, id_inserted, amount_inserted) +/obj/machinery/rnd/proc/AfterMaterialInsert(item_inserted, id_inserted, amount_inserted) var/stack_name - if(ispath(type_inserted, /obj/item/stack/ore/bluespace_crystal)) + if(istype(item_inserted, /obj/item/stack/ore/bluespace_crystal)) stack_name = "bluespace" use_power(MINERAL_MATERIAL_AMOUNT / 10) else - var/obj/item/stack/S = type_inserted - stack_name = initial(S.name) + var/obj/item/stack/S = item_inserted + stack_name = S.name use_power(min(1000, (amount_inserted / 100))) add_overlay("protolathe_[stack_name]") addtimer(CALLBACK(src, /atom/proc/cut_overlay, "protolathe_[stack_name]"), 10) diff --git a/code/modules/research/research_disk.dm b/code/modules/research/research_disk.dm index e4c036f7ff..aa781ca06b 100644 --- a/code/modules/research/research_disk.dm +++ b/code/modules/research/research_disk.dm @@ -3,7 +3,7 @@ name = "technology disk" desc = "A disk for storing technology data for further research." icon_state = "datadisk0" - materials = list(MAT_METAL=300, MAT_GLASS=100) + custom_materials = list(/datum/material/iron=300, /datum/material/glass=100) var/datum/techweb/stored_research /obj/item/disk/tech_disk/Initialize() @@ -15,7 +15,7 @@ /obj/item/disk/tech_disk/debug name = "\improper CentCom technology disk" desc = "A debug item for research" - materials = list() + custom_materials = null /obj/item/disk/tech_disk/debug/Initialize() . = ..() @@ -24,7 +24,7 @@ /obj/item/disk/tech_disk/illegal name = "Illegal technology disk" desc = "A technology disk containing schematics for syndicate inspired equipment." - materials = list() + custom_materials = null /obj/item/disk/tech_disk/illegal/Initialize() . = ..() @@ -33,7 +33,7 @@ /obj/item/disk/tech_disk/abductor name = "Gray technology disk" desc = "You feel like it's not Gray because of its color." - materials = list() + custom_materials = null /obj/item/disk/tech_disk/abductor/Initialize() . = ..() diff --git a/code/modules/research/stock_parts.dm b/code/modules/research/stock_parts.dm index befaf3d96a..fb29399064 100644 --- a/code/modules/research/stock_parts.dm +++ b/code/modules/research/stock_parts.dm @@ -136,31 +136,31 @@ If you create T5+ please take a pass at gene_modder.dm [L40]. Max_values MUST fi name = "capacitor" desc = "A basic capacitor used in the construction of a variety of devices." icon_state = "capacitor" - materials = list(MAT_METAL=50, MAT_GLASS=50) + custom_materials = list(/datum/material/iron=50, /datum/material/glass=50) /obj/item/stock_parts/scanning_module name = "scanning module" desc = "A compact, high resolution scanning module used in the construction of certain devices." icon_state = "scan_module" - materials = list(MAT_METAL=50, MAT_GLASS=20) + custom_materials = list(/datum/material/iron=50, /datum/material/glass=20) /obj/item/stock_parts/manipulator name = "micro-manipulator" desc = "A tiny little manipulator used in the construction of certain devices." icon_state = "micro_mani" - materials = list(MAT_METAL=30) + custom_materials = list(/datum/material/iron=30) /obj/item/stock_parts/micro_laser name = "micro-laser" desc = "A tiny laser used in certain devices." icon_state = "micro_laser" - materials = list(MAT_METAL=10, MAT_GLASS=20) + custom_materials = list(/datum/material/iron=10, /datum/material/glass=20) /obj/item/stock_parts/matter_bin name = "matter bin" desc = "A container designed to hold compressed matter awaiting reconstruction." icon_state = "matter_bin" - materials = list(MAT_METAL=80) + custom_materials = list(/datum/material/iron=80) //Rating 2 @@ -169,35 +169,35 @@ If you create T5+ please take a pass at gene_modder.dm [L40]. Max_values MUST fi desc = "An advanced capacitor used in the construction of a variety of devices." icon_state = "adv_capacitor" rating = 2 - materials = list(MAT_METAL=50, MAT_GLASS=50) + custom_materials = list(/datum/material/iron=50, /datum/material/glass=50) /obj/item/stock_parts/scanning_module/adv name = "advanced scanning module" desc = "A compact, high resolution scanning module used in the construction of certain devices." icon_state = "adv_scan_module" rating = 2 - materials = list(MAT_METAL=50, MAT_GLASS=20) + custom_materials = list(/datum/material/iron=50, /datum/material/glass=20) /obj/item/stock_parts/manipulator/nano name = "nano-manipulator" desc = "A tiny little manipulator used in the construction of certain devices." icon_state = "nano_mani" rating = 2 - materials = list(MAT_METAL=30) + custom_materials = list(/datum/material/iron=30) /obj/item/stock_parts/micro_laser/high name = "high-power micro-laser" desc = "A tiny laser used in certain devices." icon_state = "high_micro_laser" rating = 2 - materials = list(MAT_METAL=10, MAT_GLASS=20) + custom_materials = list(/datum/material/iron=10, /datum/material/glass=20) /obj/item/stock_parts/matter_bin/adv name = "advanced matter bin" desc = "A container designed to hold compressed matter awaiting reconstruction." icon_state = "advanced_matter_bin" rating = 2 - materials = list(MAT_METAL=80) + custom_materials = list(/datum/material/iron=80) //Rating 3 @@ -206,35 +206,35 @@ If you create T5+ please take a pass at gene_modder.dm [L40]. Max_values MUST fi desc = "A super-high capacity capacitor used in the construction of a variety of devices." icon_state = "super_capacitor" rating = 3 - materials = list(MAT_METAL=50, MAT_GLASS=50) + custom_materials = list(/datum/material/iron=50, /datum/material/glass=50) /obj/item/stock_parts/scanning_module/phasic name = "phasic scanning module" desc = "A compact, high resolution phasic scanning module used in the construction of certain devices." icon_state = "super_scan_module" rating = 3 - materials = list(MAT_METAL=50, MAT_GLASS=20) + custom_materials = list(/datum/material/iron=50, /datum/material/glass=20) /obj/item/stock_parts/manipulator/pico name = "pico-manipulator" desc = "A tiny little manipulator used in the construction of certain devices." icon_state = "pico_mani" rating = 3 - materials = list(MAT_METAL=30) + custom_materials = list(/datum/material/iron=30) /obj/item/stock_parts/micro_laser/ultra name = "ultra-high-power micro-laser" icon_state = "ultra_high_micro_laser" desc = "A tiny laser used in certain devices." rating = 3 - materials = list(MAT_METAL=10, MAT_GLASS=20) + custom_materials = list(/datum/material/iron=10, /datum/material/glass=20) /obj/item/stock_parts/matter_bin/super name = "super matter bin" desc = "A container designed to hold compressed matter awaiting reconstruction." icon_state = "super_matter_bin" rating = 3 - materials = list(MAT_METAL=80) + custom_materials = list(/datum/material/iron=80) //Rating 4 @@ -243,35 +243,35 @@ If you create T5+ please take a pass at gene_modder.dm [L40]. Max_values MUST fi desc = "An capacity capacitor used in the construction of a variety of devices." icon_state = "quadratic_capacitor" rating = 4 - materials = list(MAT_METAL=50, MAT_GLASS=50) + custom_materials = list(/datum/material/iron=50, /datum/material/glass=50) /obj/item/stock_parts/scanning_module/triphasic name = "triphasic scanning module" desc = "A compact, ultra resolution triphasic scanning module used in the construction of certain devices." icon_state = "triphasic_scan_module" rating = 4 - materials = list(MAT_METAL=50, MAT_GLASS=20) + custom_materials = list(/datum/material/iron=50, /datum/material/glass=20) /obj/item/stock_parts/manipulator/femto name = "femto-manipulator" desc = "A tiny little manipulator used in the construction of certain devices." icon_state = "femto_mani" rating = 4 - materials = list(MAT_METAL=30) + custom_materials = list(/datum/material/iron=30) /obj/item/stock_parts/micro_laser/quadultra name = "quad-ultra micro-laser" icon_state = "quadultra_micro_laser" desc = "A tiny laser used in certain devices." rating = 4 - materials = list(MAT_METAL=10, MAT_GLASS=20) + custom_materials = list(/datum/material/iron=10, /datum/material/glass=20) /obj/item/stock_parts/matter_bin/bluespace name = "bluespace matter bin" desc = "A container designed to hold compressed matter awaiting reconstruction." icon_state = "bluespace_matter_bin" rating = 4 - materials = list(MAT_METAL=80) + custom_materials = list(/datum/material/iron=80) // Subspace stock parts @@ -279,43 +279,43 @@ If you create T5+ please take a pass at gene_modder.dm [L40]. Max_values MUST fi name = "subspace ansible" icon_state = "subspace_ansible" desc = "A compact module capable of sensing extradimensional activity." - materials = list(MAT_METAL=30, MAT_GLASS=10) + custom_materials = list(/datum/material/iron=30, /datum/material/glass=10) /obj/item/stock_parts/subspace/filter name = "hyperwave filter" icon_state = "hyperwave_filter" desc = "A tiny device capable of filtering and converting super-intense radiowaves." - materials = list(MAT_METAL=30, MAT_GLASS=10) + custom_materials = list(/datum/material/iron=30, /datum/material/glass=10) /obj/item/stock_parts/subspace/amplifier name = "subspace amplifier" icon_state = "subspace_amplifier" desc = "A compact micro-machine capable of amplifying weak subspace transmissions." - materials = list(MAT_METAL=30, MAT_GLASS=10) + custom_materials = list(/datum/material/iron=30, /datum/material/glass=10) /obj/item/stock_parts/subspace/treatment name = "subspace treatment disk" icon_state = "treatment_disk" desc = "A compact micro-machine capable of stretching out hyper-compressed radio waves." - materials = list(MAT_METAL=30, MAT_GLASS=10) + custom_materials = list(/datum/material/iron=30, /datum/material/glass=10) /obj/item/stock_parts/subspace/analyzer name = "subspace wavelength analyzer" icon_state = "wavelength_analyzer" desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths." - materials = list(MAT_METAL=30, MAT_GLASS=10) + custom_materials = list(/datum/material/iron=30, /datum/material/glass=10) /obj/item/stock_parts/subspace/crystal name = "ansible crystal" icon_state = "ansible_crystal" desc = "A crystal made from pure glass used to transmit laser databursts to subspace." - materials = list(MAT_GLASS=50) + custom_materials = list(/datum/material/glass=50) /obj/item/stock_parts/subspace/transmitter name = "subspace transmitter" icon_state = "subspace_transmitter" desc = "A large piece of equipment used to open a window into the subspace dimension." - materials = list(MAT_METAL=50) + custom_materials = list(/datum/material/iron=50) /obj/item/research//Makes testing much less of a pain -Sieve name = "research" diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 66d51fb168..a9f5dbf3c6 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -602,7 +602,7 @@ display_name = "Basic Tools" description = "Basic mechanical, electronic, surgical and botanical tools." prereq_ids = list("base") - design_ids = list("screwdriver", "wrench", "wirecutters", "crowbar", "multitool", "welding_tool", "tscanner", "analyzer", "cable_coil", "pipe_painter", "airlock_painter", "scalpel", "circular_saw", "surgicaldrill", "retractor", "cautery", "hemostat", "cultivator", "plant_analyzer", "shovel", "spade", "hatchet", "mop") + design_ids = list("screwdriver", "wrench", "wirecutters", "crowbar", "multitool", "welding_tool", "tscanner", "analyzer", "cable_coil", "pipe_painter", "airlock_painter", "scalpel", "circular_saw", "surgicaldrill", "retractor", "cautery", "hemostat", "cultivator", "plant_analyzer", "shovel", "spade", "hatchet", "mop", "broom") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 500) export_price = 5000 diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm index 0838e70bfd..9efbe58a29 100644 --- a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm +++ b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm @@ -890,8 +890,8 @@ datum/status_effect/stabilized/blue/on_remove() healing_types += TOX if(owner.getCloneLoss() > 0) healing_types += CLONE - - owner.apply_damage_type(-heal_amount, damagetype=pick(healing_types)) + if(length(healing_types)) + owner.apply_damage_type(-heal_amount, damagetype=pick(healing_types)) owner.nutrition += 3 M.adjustCloneLoss(heal_amount * 1.2) //This way, two people can't just convert each other's damage away. else diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index 0c21b19b5f..af825eb5ee 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -983,7 +983,7 @@ icon_state = "tile-bluespace" w_class = WEIGHT_CLASS_NORMAL force = 6 - materials = list(MAT_METAL=500) + custom_materials = list(/datum/material/iron=500) throwforce = 10 throw_speed = 3 throw_range = 7 @@ -999,7 +999,7 @@ icon_state = "tile-sepia" w_class = WEIGHT_CLASS_NORMAL force = 6 - materials = list(MAT_METAL=500) + custom_materials = list(/datum/material/iron=500) throwforce = 10 throw_speed = 0.1 throw_range = 28 diff --git a/code/modules/ruins/lavaland_ruin_code.dm b/code/modules/ruins/lavaland_ruin_code.dm index 6e3b452b81..d09c1ce86f 100644 --- a/code/modules/ruins/lavaland_ruin_code.dm +++ b/code/modules/ruins/lavaland_ruin_code.dm @@ -3,6 +3,17 @@ /obj/structure/fans/tiny/invisible //For blocking air in ruin doorways invisibility = INVISIBILITY_ABSTRACT +///Wizard tower item +/obj/item/disk/design_disk/adv/knight_gear + name = "Magic Disk of Smithing" + +/obj/item/disk/design_disk/adv/knight_gear/Initialize() + . = ..() + var/datum/design/knight_armour/A = new + var/datum/design/knight_helmet/H = new + blueprints[1] = A + blueprints[2] = H + //lavaland_surface_seed_vault.dmm //Seed Vault @@ -45,7 +56,7 @@ desc = "Allows for the construction of a Golem Shell." id = "golem" build_type = AUTOLATHE - materials = list(MAT_METAL = 40000) + materials = list(/datum/material/iron = 40000) build_path = /obj/item/golem_shell category = list("Imported") diff --git a/code/modules/ruins/spaceruin_code/clericsden.dm b/code/modules/ruins/spaceruin_code/clericsden.dm new file mode 100644 index 0000000000..46f8f806e4 --- /dev/null +++ b/code/modules/ruins/spaceruin_code/clericsden.dm @@ -0,0 +1,36 @@ +/////////// cleric's den items. + +//Primary reward: the cleric's mace design disk. +/obj/item/disk/design_disk/adv/cleric_mace + name = "Enshrined Disc of Smiting" + +/obj/item/disk/design_disk/adv/cleric_mace/Initialize() + . = ..() + var/datum/design/cleric_mace/M = new + blueprints[1] = M + +/obj/item/paper/fluff/ruins/clericsden/contact + info = "Father Aurellion, the ritual is complete, and soon our brothers at the bastion will see the error of our ways. After all, a god of clockwork or blood? Preposterous. Only the TRUE GOD should have so much power. Signed, Father Odivallus." + +/obj/item/paper/fluff/ruins/clericsden/warning + info = "FATHER ODIVALLUS DO NOT GO FORWARD WITH THE RITUAL. THE ASTEROID WE'RE ANCHORED TO IS UNSTABLE, YOU WILL DESTROY THE STATION. I HOPE THIS REACHES YOU IN TIME. FATHER AURELLION." + +/mob/living/simple_animal/hostile/construct/proteon + name = "Proteon" + real_name = "Proteon" + desc = "A weaker construct meant to scour ruins for objects of Nar'Sie's affection. Those barbed claws are no joke." + icon_state = "proteon" + icon_living = "proteon" + maxHealth = 35 + health = 35 + melee_damage_lower = 8 + melee_damage_upper = 10 + retreat_distance = 4 //AI proteons will rapidly move in and out of combat to avoid conflict, but will still target and follow you. + attacktext = "pinches" + environment_smash = ENVIRONMENT_SMASH_WALLS + attack_sound = 'sound/weapons/punch2.ogg' + playstyle_string = "You are a Proteon. Your abilities in combat are outmatched by most combat constructs, but you are still fast and nimble. Run metal and supplies, and cooperate with your fellow cultists." + +/mob/living/simple_animal/hostile/construct/proteon/hostile //Style of mob spawned by trapped cult runes in the cleric ruin. + AIStatus = AI_ON + environment_smash = ENVIRONMENT_SMASH_STRUCTURES //standard ai construct behavior, breaks things if it wants, but not walls. diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index 9229781c0f..9919a6bf26 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -3,13 +3,38 @@ #define ENGINES_STARTED (SSshuttle.emergency.mode == SHUTTLE_IGNITING) #define IS_DOCKED (SSshuttle.emergency.mode == SHUTTLE_DOCKED || (ENGINES_STARTED)) +#define NOT_BEGUN 0 +#define STAGE_1 1 +#define STAGE_2 2 +#define STAGE_3 3 +#define STAGE_4 4 +#define HIJACKED 5 + /obj/machinery/computer/emergency_shuttle name = "emergency shuttle console" desc = "For shuttle control." icon_screen = "shuttle" icon_keyboard = "tech_key" + resistance_flags = INDESTRUCTIBLE var/auth_need = 3 var/list/authorized = list() + var/hijack_last_stage_increase = 0 + var/hijack_stage_time = 50 + var/hijack_stage_cooldown = 50 + var/hijack_flight_time_increase = 300 + var/hijack_completion_flight_time_set = 100 //How long in deciseconds to set shuttle's timer after hijack is done. + var/hijack_hacking = FALSE + var/hijack_announce = TRUE + +/obj/machinery/computer/emergency_shuttle/examine(mob/user) + . = ..() + if(hijack_announce) + . += "Security systems present on console. Any unauthorized tampering will result in an emergency announcement." + if(user?.mind?.get_hijack_speed()) + . += "Alt click on this to attempt to hijack the shuttle. This will take multiple tries (current: stage [SSshuttle.emergency.hijack_status]/[HIJACKED])." + . += "It will take you [(hijack_stage_time * user.mind.get_hijack_speed()) / 10] seconds to reprogram a stage of the shuttle's navigational firmware, and the console will undergo automated timed lockout for [hijack_stage_cooldown/10] seconds after each stage." + if(hijack_announce) + . += "It is probably best to fortify your position as to be uninterrupted during the attempt, given the automatic announcements.." /obj/machinery/computer/emergency_shuttle/attackby(obj/item/I, mob/user,params) if(istype(I, /obj/item/card/id)) @@ -133,6 +158,71 @@ [TIME_LEFT] seconds", system_error, alert=TRUE) . = TRUE +/obj/machinery/computer/emergency_shuttle/proc/increase_hijack_stage() + var/obj/docking_port/mobile/emergency/shuttle = SSshuttle.emergency + shuttle.hijack_status++ + if(hijack_announce) + announce_hijack_stage() + hijack_last_stage_increase = world.time + say("Navigational protocol error! Rebooting systems.") + if(shuttle.mode == SHUTTLE_ESCAPE) + if(shuttle.hijack_status == HIJACKED) + shuttle.setTimer(hijack_completion_flight_time_set) + else + shuttle.setTimer(shuttle.timeLeft(1) + hijack_flight_time_increase) //give the guy more time to hijack if it's already in flight. + return shuttle.hijack_status + +/obj/machinery/computer/emergency_shuttle/AltClick(user) + attempt_hijack_stage(user) + +/obj/machinery/computer/emergency_shuttle/proc/attempt_hijack_stage(mob/living/user) + if(!user.CanReach(src)) + return + if(!user?.mind?.get_hijack_speed()) + to_chat(user, "You manage to open a user-mode shell on [src], and hundreds of lines of debugging output fly through your vision. It is probably best to leave this alone.= HIJACKED) + to_chat(user, "The emergency shuttle is already loaded with a corrupt navigational payload. What more do you want from it?") + return + if(hijack_last_stage_increase >= world.time + hijack_stage_cooldown) + say("Error - Catastrophic software error detected. Input is currently on timeout.") + return + hijack_hacking = TRUE + to_chat(user, "You [SSshuttle.emergency.hijack_status == NOT_BEGUN? "begin" : "continue"] to override [src]'s navigational protocols.") + say("Software override initiated.") + . = FALSE + if(do_after(user, hijack_stage_time * (1 / user.mind.get_hijack_speed()), target = src)) + increase_hijack_stage() + . = TRUE + to_chat(user, "You reprogram some of [src]'s programming, putting it on timeout for [hijack_stage_cooldown/10] seconds.") + hijack_hacking = FALSE + +/obj/machinery/computer/emergency_shuttle/proc/announce_hijack_stage() + var/msg + switch(SSshuttle.emergency.hijack_status) + if(NOT_BEGUN) + return + if(STAGE_1) + var/datum/species/S = new + msg = "AUTHENTICATING - FAIL. AUTHENTICATING - FAIL. AUTHENTICATING - FAI###### Welcome, technician JOHN DOE." + qdel(S) + if(STAGE_2) + msg = "Warning: Navigational route fails \"IS_AUTHORIZED\". Please try againNN[scramble_message_replace_chars("againagainagainagainagain", 70)]." + if(STAGE_3) + var/hex = "" + for(var/i in 1 to 8) + hex += num2hex(rand(1,16)) + msg = "CRC mismatch at 0x[hex] in calculated route buffer. Full reset initiated of FTL_NAVIGATION_SERVICES. Memory decrypted for automatic repair." + if(STAGE_4) + msg = "~ACS_directive module_load(cyberdyne.exploit.nanotrasen.shuttlenav)... NT key mismatch. Confirm load? Y...###Reboot complete. $SET transponder_state = 0; System link initiated with connected engines..." + if(HIJACKED) + msg = "SYSTEM OVERRIDE - Resetting course to \[[scramble_message_replace_chars("###########", 100)]\] \ + ([scramble_message_replace_chars("#######", 100)]/[scramble_message_replace_chars("#######", 100)]/[scramble_message_replace_chars("#######", 100)]) \ + {AUTH - ROOT (uid: 0)}.[SSshuttle.emergency.mode == SHUTTLE_ESCAPE? "Diverting from existing route - Bluespace exit in [hijack_completion_flight_time_set/10] seconds." : ""]" + minor_announce(scramble_message_replace_chars(msg, replaceprob = 10), "Emergency Shuttle", TRUE) + /obj/machinery/computer/emergency_shuttle/emag_act(mob/user) . = ..() @@ -185,6 +275,7 @@ dir = EAST port_direction = WEST var/sound_played = 0 //If the launch sound has been sent to all players on the shuttle itself + var/hijack_status = NOT_BEGUN /obj/docking_port/mobile/emergency/canDock(obj/docking_port/stationary/S) return SHUTTLE_CAN_DOCK //If the emergency shuttle can't move, the whole game breaks, so it will force itself to land even if it has to crush a few departments in the process @@ -250,37 +341,7 @@ priority_announce("The emergency shuttle has been recalled.[SSshuttle.emergencyLastCallLoc ? " Recall signal traced. Results can be viewed on any communications console." : "" ]", null, "shuttlerecalled", "Priority") /obj/docking_port/mobile/emergency/proc/is_hijacked() - var/has_people = FALSE - var/hijacker_present = FALSE - for(var/mob/living/player in GLOB.player_list) - if(player.mind) - if(player.stat != DEAD) - if(issilicon(player)) //Borgs are technically dead anyways - continue - if(isanimal(player)) //animals don't count - continue - if(isbrain(player)) //also technically dead - continue - if(shuttle_areas[get_area(player)]) - has_people = TRUE - var/location = get_turf(player.mind.current) - //Non-antag present. Can't hijack. - if(!(player.mind.has_antag_datum(/datum/antagonist)) && !istype(location, /turf/open/floor/plasteel/shuttle/red) && !istype(location, /turf/open/floor/mineral/plastitanium/red/brig)) - return FALSE - //Antag present, doesn't stop but let's see if we actually want to hijack - var/prevent = FALSE - for(var/datum/antagonist/A in player.mind.antag_datums) - if(A.can_hijack == HIJACK_HIJACKER) - hijacker_present = TRUE - prevent = FALSE - break //If we have both prevent and hijacker antags assume we want to hijack. - else if(A.can_hijack == HIJACK_PREVENT) - prevent = TRUE - if(prevent) - return FALSE - - - return has_people && hijacker_present + return hijack_status == HIJACKED /obj/docking_port/mobile/emergency/proc/ShuttleDBStuff() set waitfor = FALSE @@ -422,7 +483,7 @@ mode = SHUTTLE_ESCAPE launch_status = ENDGAME_LAUNCHED setTimer(SSshuttle.emergencyEscapeTime) - priority_announce("The Emergency Shuttle preparing for direct jump. Estimate [timeLeft(600)] minutes until the shuttle docks at Central Command.", null, null, "Priority") + priority_announce("The Emergency Shuttle is preparing for direct jump. Estimate [timeLeft(600)] minutes until the shuttle docks at Central Command.", null, null, "Priority") /obj/docking_port/mobile/pod @@ -524,7 +585,7 @@ anchored = TRUE icon = 'icons/obj/storage.dmi' icon_state = "safe" - integrity_failure = 100 + integrity_failure = 0.2 component_type = /datum/component/storage/concrete/emergency /obj/item/storage/pod/PopulateContents() @@ -567,3 +628,10 @@ #undef ENGINES_START_TIME #undef ENGINES_STARTED #undef IS_DOCKED + +#undef NOT_BEGUN +#undef STAGE_1 +#undef STAGE_2 +#undef STAGE_3 +#undef STAGE_4 +#undef HIJACKED diff --git a/code/modules/surgery/advanced/bioware/bioware_surgery.dm b/code/modules/surgery/advanced/bioware/bioware_surgery.dm index eb8f739193..a68ac6eb1c 100644 --- a/code/modules/surgery/advanced/bioware/bioware_surgery.dm +++ b/code/modules/surgery/advanced/bioware/bioware_surgery.dm @@ -2,7 +2,7 @@ name = "enhancement surgery" var/bioware_target = BIOWARE_GENERIC -/datum/surgery/advanced/bioware/can_start(mob/user, mob/living/carbon/human/target) +/datum/surgery/advanced/bioware/can_start(mob/user, mob/living/carbon/human/target, obj/item/tool) if(!..()) return FALSE if(!istype(target)) diff --git a/code/modules/surgery/advanced/brainwashing.dm b/code/modules/surgery/advanced/brainwashing.dm index b067cce56b..28103f7f97 100644 --- a/code/modules/surgery/advanced/brainwashing.dm +++ b/code/modules/surgery/advanced/brainwashing.dm @@ -16,7 +16,7 @@ target_mobtypes = list(/mob/living/carbon/human) possible_locs = list(BODY_ZONE_HEAD) -/datum/surgery/advanced/brainwashing/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/advanced/brainwashing/can_start(mob/user, mob/living/carbon/target, obj/item/tool) if(!..()) return FALSE var/obj/item/organ/brain/B = target.getorganslot(ORGAN_SLOT_BRAIN) diff --git a/code/modules/surgery/advanced/lobotomy.dm b/code/modules/surgery/advanced/lobotomy.dm index 0149fc6c27..a41e72b76d 100644 --- a/code/modules/surgery/advanced/lobotomy.dm +++ b/code/modules/surgery/advanced/lobotomy.dm @@ -12,7 +12,7 @@ target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey) possible_locs = list(BODY_ZONE_HEAD) requires_bodypart_type = 0 -/datum/surgery/advanced/lobotomy/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/advanced/lobotomy/can_start(mob/user, mob/living/carbon/target, obj/item/tool) if(!..()) return FALSE var/obj/item/organ/brain/B = target.getorganslot(ORGAN_SLOT_BRAIN) diff --git a/code/modules/surgery/advanced/necrotic_revival.dm b/code/modules/surgery/advanced/necrotic_revival.dm index d95d0a3ac7..bae2bc064b 100644 --- a/code/modules/surgery/advanced/necrotic_revival.dm +++ b/code/modules/surgery/advanced/necrotic_revival.dm @@ -8,7 +8,7 @@ /datum/surgery_step/bionecrosis, /datum/surgery_step/close) possible_locs = list(BODY_ZONE_HEAD) -/datum/surgery/advanced/necrotic_revival/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/advanced/necrotic_revival/can_start(mob/user, mob/living/carbon/target, obj/item/tool) . = ..() var/obj/item/organ/zombie_infection/ZI = target.getorganslot(ORGAN_SLOT_ZOMBIE) if(ZI) diff --git a/code/modules/surgery/advanced/pacification.dm b/code/modules/surgery/advanced/pacification.dm index 866c85842b..7b85015420 100644 --- a/code/modules/surgery/advanced/pacification.dm +++ b/code/modules/surgery/advanced/pacification.dm @@ -11,7 +11,7 @@ target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey) possible_locs = list(BODY_ZONE_HEAD) requires_bodypart_type = 0 -/datum/surgery/advanced/pacify/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/advanced/pacify/can_start(mob/user, mob/living/carbon/target, obj/item/tool) . = ..() var/obj/item/organ/brain/B = target.getorganslot(ORGAN_SLOT_BRAIN) if(!B) diff --git a/code/modules/surgery/advanced/revival.dm b/code/modules/surgery/advanced/revival.dm index fbfec404b2..e9f8ff4446 100644 --- a/code/modules/surgery/advanced/revival.dm +++ b/code/modules/surgery/advanced/revival.dm @@ -12,7 +12,7 @@ target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey) possible_locs = list(BODY_ZONE_HEAD) requires_bodypart_type = 0 -/datum/surgery/advanced/revival/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/advanced/revival/can_start(mob/user, mob/living/carbon/target, obj/item/tool) if(!..()) return FALSE if(target.stat != DEAD) diff --git a/code/modules/surgery/advanced/viral_bonding.dm b/code/modules/surgery/advanced/viral_bonding.dm index 86832602e8..1cb06d1560 100644 --- a/code/modules/surgery/advanced/viral_bonding.dm +++ b/code/modules/surgery/advanced/viral_bonding.dm @@ -10,7 +10,7 @@ target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey) possible_locs = list(BODY_ZONE_CHEST) -/datum/surgery/advanced/viral_bonding/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/advanced/viral_bonding/can_start(mob/user, mob/living/carbon/target, obj/item/tool) if(!..()) return FALSE if(!LAZYLEN(target.diseases)) diff --git a/code/modules/surgery/brain_surgery.dm b/code/modules/surgery/brain_surgery.dm index d86f5731c7..afaa66dae9 100644 --- a/code/modules/surgery/brain_surgery.dm +++ b/code/modules/surgery/brain_surgery.dm @@ -15,7 +15,7 @@ name = "fix brain" implements = list(TOOL_HEMOSTAT = 85, TOOL_SCREWDRIVER = 35, /obj/item/pen = 15) //don't worry, pouring some alcohol on their open brain will get that chance to 100 time = 120 //long and complicated -/datum/surgery/brain_surgery/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/brain_surgery/can_start(mob/user, mob/living/carbon/target, obj/item/tool) var/obj/item/organ/brain/B = target.getorganslot(ORGAN_SLOT_BRAIN) if(!B) return FALSE diff --git a/code/modules/surgery/core_removal.dm b/code/modules/surgery/core_removal.dm index 07b762bd2f..683663c241 100644 --- a/code/modules/surgery/core_removal.dm +++ b/code/modules/surgery/core_removal.dm @@ -6,7 +6,7 @@ lying_required = FALSE ignore_clothes = TRUE -/datum/surgery/core_removal/can_start(mob/user, mob/living/target) +/datum/surgery/core_removal/can_start(mob/user, mob/living/target, obj/item/tool) if(target.stat == DEAD) return 1 return 0 diff --git a/code/modules/surgery/coronary_bypass.dm b/code/modules/surgery/coronary_bypass.dm index 71a48ae68c..af736e393c 100644 --- a/code/modules/surgery/coronary_bypass.dm +++ b/code/modules/surgery/coronary_bypass.dm @@ -4,7 +4,7 @@ /datum/surgery_step/incise_heart, /datum/surgery_step/coronary_bypass, /datum/surgery_step/close) possible_locs = list(BODY_ZONE_CHEST) -/datum/surgery/coronary_bypass/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/coronary_bypass/can_start(mob/user, mob/living/carbon/target, obj/item/tool) var/obj/item/organ/heart/H = target.getorganslot(ORGAN_SLOT_HEART) if(H) if(H.damage > 60 && !H.operated) diff --git a/code/modules/surgery/experimental_dissection.dm b/code/modules/surgery/experimental_dissection.dm index a94abafe4c..6110bb6202 100644 --- a/code/modules/surgery/experimental_dissection.dm +++ b/code/modules/surgery/experimental_dissection.dm @@ -15,7 +15,7 @@ requires_tech = FALSE var/value_multiplier = 1 -/datum/surgery/advanced/experimental_dissection/can_start(mob/user, mob/living/target) +/datum/surgery/advanced/experimental_dissection/can_start(mob/user, mob/living/target, obj/item/tool) . = ..() if(HAS_TRAIT_FROM(target, TRAIT_DISSECTED,"[name]")) return FALSE diff --git a/code/modules/surgery/eye_surgery.dm b/code/modules/surgery/eye_surgery.dm index c104afd25a..006dbe2af1 100644 --- a/code/modules/surgery/eye_surgery.dm +++ b/code/modules/surgery/eye_surgery.dm @@ -9,7 +9,7 @@ name = "fix eyes" implements = list(TOOL_HEMOSTAT = 100, TOOL_SCREWDRIVER = 45, /obj/item/pen = 25) time = 64 -/datum/surgery/eye_surgery/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/eye_surgery/can_start(mob/user, mob/living/carbon/target, obj/item/tool) var/obj/item/organ/eyes/E = target.getorganslot(ORGAN_SLOT_EYES) if(!E) to_chat(user, "It's hard to do surgery on someone's eyes when [target.p_they()] [target.p_do()]n't have any.") diff --git a/code/modules/surgery/helpers.dm b/code/modules/surgery/helpers.dm index cdae1aea48..773048f838 100644 --- a/code/modules/surgery/helpers.dm +++ b/code/modules/surgery/helpers.dm @@ -34,7 +34,7 @@ continue if(S.lying_required && !(M.lying)) continue - if(!S.can_start(user, M)) + if(!S.can_start(user, M, I)) continue for(var/path in S.target_mobtypes) if(istype(M, path)) @@ -64,7 +64,7 @@ return if(S.lying_required && !(M.lying)) return - if(!S.can_start(user, M)) + if(!S.can_start(user, M, I)) return if(S.ignore_clothes || get_location_accessible(M, selected_zone)) diff --git a/code/modules/surgery/lipoplasty.dm b/code/modules/surgery/lipoplasty.dm index b774883528..63e828d3c9 100644 --- a/code/modules/surgery/lipoplasty.dm +++ b/code/modules/surgery/lipoplasty.dm @@ -2,7 +2,7 @@ name = "Lipoplasty" steps = list(/datum/surgery_step/incise, /datum/surgery_step/clamp_bleeders, /datum/surgery_step/cut_fat, /datum/surgery_step/remove_fat, /datum/surgery_step/close) possible_locs = list(BODY_ZONE_CHEST) -/datum/surgery/lipoplasty/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/lipoplasty/can_start(mob/user, mob/living/carbon/target, obj/item/tool) if(HAS_TRAIT(target, TRAIT_FAT)) return 1 return 0 diff --git a/code/modules/surgery/lobectomy.dm b/code/modules/surgery/lobectomy.dm index 297be175a0..7ef7e4cd7f 100644 --- a/code/modules/surgery/lobectomy.dm +++ b/code/modules/surgery/lobectomy.dm @@ -4,7 +4,7 @@ /datum/surgery_step/lobectomy, /datum/surgery_step/close) possible_locs = list(BODY_ZONE_CHEST) -/datum/surgery/lobectomy/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/lobectomy/can_start(mob/user, mob/living/carbon/target, obj/item/tool) var/obj/item/organ/lungs/L = target.getorganslot(ORGAN_SLOT_LUNGS) if(L) if(L.damage > 60 && !L.operated) diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 792facd360..7371afd40f 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -92,7 +92,7 @@ ADD_TRAIT(holder, TRAIT_NODROP, HAND_REPLACEMENT_TRAIT) holder.resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF holder.slot_flags = null - holder.materials = null + holder.set_custom_materials(null) if(istype(holder, /obj/item/assembly/flash/armimplant)) var/obj/item/assembly/flash/F = holder diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm index 44e92e464b..a915d12838 100644 --- a/code/modules/surgery/organs/eyes.dm +++ b/code/modules/surgery/organs/eyes.dm @@ -56,7 +56,7 @@ var/mob/living/carbon/human/H = C H.eye_color = old_eye_color if(!special) - H.dna.species.handle_body() + H.dna.species.handle_body(H) if(!special) C.update_tint() C.update_sight() @@ -377,3 +377,7 @@ name = "insect eyes" desc = "These eyes seem to have increased sensitivity to bright light, with no improvement to low light vision." flash_protect = -1 + +/obj/item/organ/eyes/ipc + name = "ipc eyes" + icon_state = "cybernetic_eyeballs" \ No newline at end of file diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm index 5767e84c73..547ca38ead 100644 --- a/code/modules/surgery/organs/heart.dm +++ b/code/modules/surgery/organs/heart.dm @@ -222,9 +222,8 @@ obj/item/organ/heart/cybernetic/upgraded/on_life() /obj/item/organ/heart/ipc name = "IPC heart" - desc = "An electronic pump that regulates hydraulic functions, they have an auto-restart after EMPs." + desc = "An electronic pump that regulates hydraulic functions, the electronics have EMP shielding." icon_state = "heart-c" - organ_flags = ORGAN_SYNTHETIC /obj/item/organ/heart/freedom name = "heart of freedom" diff --git a/code/modules/surgery/organs/liver.dm b/code/modules/surgery/organs/liver.dm index 680d2389de..73225fc41c 100755 --- a/code/modules/surgery/organs/liver.dm +++ b/code/modules/surgery/organs/liver.dm @@ -95,6 +95,10 @@ icon_state = "liver-p" desc = "A large crystal that is somehow capable of metabolizing chemicals, these are found in plasmamen." +/obj/item/organ/liver/ipc + name = "reagent processing liver" + icon_state = "liver-c" + /obj/item/organ/liver/cybernetic name = "cybernetic liver" icon_state = "liver-c" diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm index 91153655d3..b774aaf793 100644 --- a/code/modules/surgery/organs/lungs.dm +++ b/code/modules/surgery/organs/lungs.dm @@ -2,6 +2,7 @@ /obj/item/organ/lungs name = "lungs" + desc = "Looking at them makes you start manual breathing." icon_state = "lungs" zone = BODY_ZONE_CHEST slot = ORGAN_SLOT_LUNGS @@ -462,6 +463,10 @@ S.reagents.add_reagent(/datum/reagent/medicine/salbutamol, 5) return S +/obj/item/organ/lungs/ipc + name = "ipc lungs" + icon_state = "lungs-c" + /obj/item/organ/lungs/plasmaman name = "plasma filter" desc = "A spongy rib-shaped mass for filtering plasma from the air." @@ -543,4 +548,4 @@ /obj/item/organ/lungs/yamerol/on_life() ..() - damage += 2 //Yamerol lungs are temporary + damage += 2 //Yamerol lungs are temporary \ No newline at end of file diff --git a/code/modules/surgery/organs/stomach.dm b/code/modules/surgery/organs/stomach.dm index 94f88cbe67..3b383581cf 100755 --- a/code/modules/surgery/organs/stomach.dm +++ b/code/modules/surgery/organs/stomach.dm @@ -96,3 +96,7 @@ name = "digestive crystal" icon_state = "stomach-p" desc = "A strange crystal that is responsible for metabolizing the unseen energy force that feeds plasmamen." + +/obj/item/organ/stomach/ipc + name = "ipc stomach" + icon_state = "stomach-ipc" diff --git a/code/modules/surgery/prosthetic_replacement.dm b/code/modules/surgery/prosthetic_replacement.dm index 8efa40a70a..62ce16e7e6 100644 --- a/code/modules/surgery/prosthetic_replacement.dm +++ b/code/modules/surgery/prosthetic_replacement.dm @@ -5,7 +5,7 @@ possible_locs = list(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG, BODY_ZONE_HEAD) requires_bodypart = FALSE //need a missing limb requires_bodypart_type = 0 -/datum/surgery/prosthetic_replacement/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/prosthetic_replacement/can_start(mob/user, mob/living/carbon/target, obj/item/tool) if(!iscarbon(target)) return 0 var/mob/living/carbon/C = target diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index a920ea765a..51ce2726b0 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -37,7 +37,7 @@ return ..() -/datum/surgery/proc/can_start(mob/user, mob/living/patient) //FALSE to not show in list +/datum/surgery/proc/can_start(mob/user, mob/living/patient, obj/item/tool) //FALSE to not show in list . = TRUE if(replaced_by == /datum/surgery) return FALSE @@ -55,27 +55,26 @@ if(requires_tech) . = FALSE + var/list/advanced_surgeries = list() if(iscyborg(user)) var/mob/living/silicon/robot/R = user var/obj/item/surgical_processor/SP = locate() in R.module.modules if(SP) - if (replaced_by in SP.advanced_surgeries) - return . - if(type in SP.advanced_surgeries) - return TRUE - + advanced_surgeries |= SP.advanced_surgeries var/turf/T = get_turf(patient) var/obj/structure/table/optable/table = locate(/obj/structure/table/optable, T) - if(table) - if(!table.computer) - return . - if(table.computer.stat & (NOPOWER|BROKEN)) - return . - if(replaced_by in table.computer.advanced_surgeries) - return FALSE - if(type in table.computer.advanced_surgeries) - return TRUE + if(table?.computer && !CHECK_BITFIELD(table.computer.stat, NOPOWER|BROKEN)) + advanced_surgeries |= table.computer.advanced_surgeries + + if(istype(tool, /obj/item/surgical_drapes/advanced)) + var/obj/item/surgical_drapes/advanced/A = tool + advanced_surgeries |= A.get_advanced_surgeries() + + if(replaced_by in advanced_surgeries) + return FALSE + if(type in advanced_surgeries) + return TRUE /datum/surgery/proc/next_step(mob/user, intent) if(step_in_progress) @@ -132,14 +131,14 @@ name = "Surgery Procedure Disk" desc = "A disk that contains advanced surgery procedures, must be loaded into an Operating Console." icon_state = "datadisk1" - materials = list(MAT_METAL=300, MAT_GLASS=100) + custom_materials = list(/datum/material/iron=300, /datum/material/glass=100) var/list/surgeries /obj/item/disk/surgery/debug name = "Debug Surgery Disk" desc = "A disk that contains all existing surgery procedures." icon_state = "datadisk1" - materials = list(MAT_METAL=300, MAT_GLASS=100) + custom_materials = list(/datum/material/iron=300, /datum/material/glass=100) /obj/item/disk/surgery/debug/Initialize() . = ..() diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm index c8fe7597da..8dae96eaf9 100644 --- a/code/modules/surgery/tools.dm +++ b/code/modules/surgery/tools.dm @@ -3,7 +3,7 @@ desc = "Retracts stuff." icon = 'icons/obj/surgery.dmi' icon_state = "retractor" - materials = list(MAT_METAL=6000, MAT_GLASS=3000) + custom_materials = list(/datum/material/iron=6000, /datum/material/glass=3000) item_flags = SURGICAL_TOOL flags_1 = CONDUCT_1 w_class = WEIGHT_CLASS_TINY @@ -37,7 +37,7 @@ desc = "Micro-mechanical manipulator for retracting stuff." icon = 'icons/obj/surgery.dmi' icon_state = "retractor" - materials = list(MAT_METAL=6000, MAT_GLASS=3000) + custom_materials = list(/datum/material/iron=6000, /datum/material/glass=3000) flags_1 = CONDUCT_1 w_class = WEIGHT_CLASS_TINY toolspeed = 0.5 @@ -47,7 +47,7 @@ desc = "You think you have seen this before." icon = 'icons/obj/surgery.dmi' icon_state = "hemostat" - materials = list(MAT_METAL=5000, MAT_GLASS=2500) + custom_materials = list(/datum/material/iron=5000, /datum/material/glass=2500) item_flags = SURGICAL_TOOL flags_1 = CONDUCT_1 w_class = WEIGHT_CLASS_TINY @@ -60,7 +60,7 @@ desc = "Tiny servos power a pair of pincers to stop bleeding." icon = 'icons/obj/surgery.dmi' icon_state = "hemostat" - materials = list(MAT_METAL=5000, MAT_GLASS=2500) + custom_materials = list(/datum/material/iron=5000, /datum/material/glass=2500) flags_1 = CONDUCT_1 w_class = WEIGHT_CLASS_TINY toolspeed = 0.5 @@ -72,7 +72,7 @@ desc = "This stops bleeding." icon = 'icons/obj/surgery.dmi' icon_state = "cautery" - materials = list(MAT_METAL=2500, MAT_GLASS=750) + custom_materials = list(/datum/material/iron=2500, /datum/material/glass=750) item_flags = SURGICAL_TOOL flags_1 = CONDUCT_1 w_class = WEIGHT_CLASS_TINY @@ -85,7 +85,7 @@ desc = "A heated element that cauterizes wounds." icon = 'icons/obj/surgery.dmi' icon_state = "cautery" - materials = list(MAT_METAL=2500, MAT_GLASS=750) + custom_materials = list(/datum/material/iron=2500, /datum/material/glass=750) flags_1 = CONDUCT_1 w_class = WEIGHT_CLASS_TINY toolspeed = 0.5 @@ -100,7 +100,7 @@ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' hitsound = 'sound/weapons/circsawhit.ogg' - materials = list(MAT_METAL=10000, MAT_GLASS=6000) + custom_materials = list(/datum/material/iron=10000, /datum/material/glass=6000) item_flags = SURGICAL_TOOL flags_1 = CONDUCT_1 force = 15 @@ -141,7 +141,7 @@ icon = 'icons/obj/surgery.dmi' icon_state = "drill" hitsound = 'sound/weapons/circsawhit.ogg' - materials = list(MAT_METAL=10000, MAT_GLASS=6000) + custom_materials = list(/datum/material/iron=10000, /datum/material/glass=6000) flags_1 = CONDUCT_1 force = 10 w_class = WEIGHT_CLASS_SMALL @@ -162,7 +162,7 @@ throwforce = 5 throw_speed = 3 throw_range = 5 - materials = list(MAT_METAL=4000, MAT_GLASS=1000) + custom_materials = list(/datum/material/iron=4000, /datum/material/glass=1000) item_flags = SURGICAL_TOOL attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") hitsound = 'sound/weapons/bladeslice.ogg' @@ -219,7 +219,7 @@ throwforce = 5 throw_speed = 3 throw_range = 5 - materials = list(MAT_METAL=4000, MAT_GLASS=1000) + custom_materials = list(/datum/material/iron=4000, /datum/material/glass=1000) attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") toolspeed = 0.5 hitsound = 'sound/weapons/bladeslice.ogg' @@ -246,7 +246,7 @@ throwforce = 9 throw_speed = 2 throw_range = 5 - materials = list(MAT_METAL=10000, MAT_GLASS=6000) + custom_materials = list(/datum/material/iron=10000, /datum/material/glass=6000) attack_verb = list("attacked", "slashed", "sawed", "cut") sharpness = IS_SHARP tool_behaviour = TOOL_SAW @@ -270,7 +270,7 @@ throwforce = 9 throw_speed = 2 throw_range = 5 - materials = list(MAT_METAL=10000, MAT_GLASS=6000) + custom_materials = list(/datum/material/iron=10000, /datum/material/glass=6000) toolspeed = 0.5 attack_verb = list("attacked", "slashed", "sawed", "cut") sharpness = IS_SHARP @@ -287,6 +287,26 @@ if(!attempt_initiate_surgery(src, M, user)) ..() +/obj/item/surgical_drapes/advanced + name = "smart surgical drapes" + desc = "A quite quirky set of drapes with wireless synchronization to the station's research networks, with an integrated display allowing users to execute advanced surgeries without the aid of an operating computer." + var/datum/techweb/linked_techweb + +/obj/item/surgical_drapes/advanced/Initialize(mapload) + . = ..() + linked_techweb = SSresearch.science_tech + +/obj/item/surgical_drapes/advanced/proc/get_advanced_surgeries() + . = list() + if(!linked_techweb) + return + for(var/subtype in subtypesof(/datum/design/surgery)) + var/datum/design/surgery/prototype = subtype + var/id = initial(prototype.id) + if(id in linked_techweb.researched_designs) + prototype = SSresearch.techweb_design_by_id(id) + . |= prototype.surgery + /obj/item/organ_storage //allows medical cyborgs to manipulate organs without hands name = "organ storage bag" desc = "A container for holding body parts." diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm index 7089845dce..8a62c19e16 100644 --- a/code/modules/vending/_vending.dm +++ b/code/modules/vending/_vending.dm @@ -33,7 +33,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C verb_ask = "beeps" verb_exclaim = "beeps" max_integrity = 300 - integrity_failure = 100 + integrity_failure = 0.33 armor = list("melee" = 20, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 70) circuit = /obj/item/circuitboard/machine/vendor var/active = 1 //No sales pitches if off! diff --git a/code/modules/vending/wardrobes.dm b/code/modules/vending/wardrobes.dm index 5d2e08734e..d368a9bbca 100644 --- a/code/modules/vending/wardrobes.dm +++ b/code/modules/vending/wardrobes.dm @@ -266,16 +266,17 @@ /obj/item/cartridge/janitor = 3, /obj/item/clothing/gloves/color/black = 2, /obj/item/clothing/head/soft/purple = 2, + /obj/item/twohanded/broom = 2, /obj/item/paint/paint_remover = 2, - /obj/item/melee/flyswatter = 1, + /obj/item/melee/flyswatter = 2, /obj/item/flashlight = 2, /obj/item/caution = 8, - /obj/item/holosign_creator = 1, - /obj/item/lightreplacer = 1, - /obj/item/soap = 1, - /obj/item/storage/bag/trash = 1, - /obj/item/clothing/shoes/galoshes = 1, - /obj/item/watertank/janitor = 1, + /obj/item/holosign_creator = 2, + /obj/item/lightreplacer = 2, + /obj/item/soap = 2, + /obj/item/storage/bag/trash = 2, + /obj/item/clothing/shoes/galoshes = 2, + /obj/item/watertank/janitor = 2, /obj/item/storage/belt/janitor = 2, /obj/item/screwdriver = 2, /obj/item/stack/cable_coil/random = 4) diff --git a/code/modules/vore/eating/living.dm b/code/modules/vore/eating/living.dm index bf41c46332..5f280fb04d 100644 --- a/code/modules/vore/eating/living.dm +++ b/code/modules/vore/eating/living.dm @@ -384,6 +384,9 @@ if(!istype(tasted)) return + if(!tasted.client?.prefs_vr.lickable) + return + if(src == stat) return diff --git a/code/modules/vore/eating/vore.dm b/code/modules/vore/eating/vore.dm index 29391547bd..abb5bbb988 100644 --- a/code/modules/vore/eating/vore.dm +++ b/code/modules/vore/eating/vore.dm @@ -40,6 +40,7 @@ GLOBAL_LIST_EMPTY(vore_preferences_datums) var/digestable = FALSE var/devourable = FALSE var/feeding = FALSE + var/lickable = FALSE // var/allowmobvore = TRUE var/list/belly_prefs = list() var/vore_taste = "nothing in particular" @@ -107,6 +108,7 @@ GLOBAL_LIST_EMPTY(vore_preferences_datums) digestable = json_from_file["digestable"] devourable = json_from_file["devourable"] feeding = json_from_file["feeding"] + lickable = json_from_file["lickable"] vore_taste = json_from_file["vore_taste"] belly_prefs = json_from_file["belly_prefs"] @@ -117,6 +119,8 @@ GLOBAL_LIST_EMPTY(vore_preferences_datums) devourable = FALSE if(isnull(feeding)) feeding = FALSE + if(isnull(lickable)) + lickable = FALSE if(isnull(belly_prefs)) belly_prefs = list() @@ -132,6 +136,7 @@ GLOBAL_LIST_EMPTY(vore_preferences_datums) "digestable" = digestable, "devourable" = devourable, "feeding" = feeding, + "lickable" = lickable, "vore_taste" = vore_taste, "belly_prefs" = belly_prefs, ) diff --git a/code/modules/vore/eating/vorepanel.dm b/code/modules/vore/eating/vorepanel.dm index 962fe54af7..a2746f35e8 100644 --- a/code/modules/vore/eating/vorepanel.dm +++ b/code/modules/vore/eating/vorepanel.dm @@ -242,22 +242,13 @@ dat += "Reload Slot Prefs" dat += "
" - switch(user.digestable) - if(TRUE) - dat += "
Toggle Digestable (Currently: ON)" - if(FALSE) - dat += "
Toggle Digestable (Currently: OFF)" - switch(user.devourable) - if(TRUE) - dat += "
Toggle Devourable (Currently: ON)" - if(FALSE) - dat += "
Toggle Devourable (Currently: OFF)" - switch(user.feeding) - if(TRUE) - dat += "
Toggle Feeding (Currently: ON)" - if(FALSE) - dat += "
Toggle Feeding (Currently: OFF)" - + var/pref_on = "#173d15" + var/pref_off = "#990000" + dat += "
Toggle Digestable (Currently: [user.digestable ? "ON" : "OFF"])" + dat += "
Toggle Devourable (Currently: [user.devourable ? "ON" : "OFF"])" + dat += "
Toggle Feeding (Currently: [user.feeding ? "ON" : "OFF"])" + if(user.client.prefs_vr) + dat += "
Toggle Licking (Currently: [user.client.prefs_vr.lickable ? "ON" : "OFF"])" //Returns the dat html to the vore_look return dat @@ -734,5 +725,16 @@ if(user.client.prefs_vr) user.client.prefs_vr.feeding = user.feeding + if(href_list["toggledlickable"]) + if(user.client.prefs_vr) + var/choice = alert(user, "This button is to toggle your ability to be licked. Being licked is currently: [user.client.prefs_vr.lickable ? "Allowed" : "Prevented"]", "", "Allow Licking", "Cancel", "Prevent Licking") + switch(choice) + if("Cancel") + return FALSE + if("Allow Licking") + user.client.prefs_vr.lickable = TRUE + if("Prevent Licking") + user.client.prefs_vr.lickable = FALSE + //Refresh when interacted with, returning 1 makes vore_look.Topic update - return TRUE \ No newline at end of file + return TRUE diff --git a/config/config.txt b/config/config.txt index 0ab0cc911e..1d987070dd 100644 --- a/config/config.txt +++ b/config/config.txt @@ -184,6 +184,15 @@ VOTE_DELAY 6000 ## time period (deciseconds) which voting session will last (default 1 minute) VOTE_PERIOD 600 +## autovote initial delay (deciseconds) before first automatic transfer vote call (default 120 minutes) +VOTE_AUTOTRANSFER_INITIAL 72000 + +## autovote delay (deciseconds) before sequential automatic transfer votes are called (default 30 minutes) +VOTE_AUTOTRANSFER_INTERVAL 18000 + +## autovote maximum votes until automatic transfer call (default 4) +VOTE_AUTOTRANSFER_MAXIMUM 4 + ## prevents dead players from voting or starting votes # NO_DEAD_VOTE diff --git a/config/jobs.txt b/config/jobs.txt index a0c1ffa970..1bf271763b 100644 --- a/config/jobs.txt +++ b/config/jobs.txt @@ -31,6 +31,7 @@ Station Engineer=5,5 Atmospheric Technician=3,2 Medical Doctor=5,3 +Paramedic=2,2 Chemist=2,2 Geneticist=2,2 Virologist=1,1 @@ -43,4 +44,4 @@ Detective=1,1 Security Officer=5,5 AI=0,1 -Cyborg=0,1 \ No newline at end of file +Cyborg=0,1 diff --git a/config/maps.txt b/config/maps.txt index 6792cb9468..4bd2b1ce8a 100644 --- a/config/maps.txt +++ b/config/maps.txt @@ -40,4 +40,7 @@ map runtimestation endmap map multiz_debug +endmap + +map kilostation endmap \ No newline at end of file diff --git a/config/spaceRuinBlacklist.txt b/config/spaceRuinBlacklist.txt index 4ea7611937..90682f5bad 100644 --- a/config/spaceRuinBlacklist.txt +++ b/config/spaceRuinBlacklist.txt @@ -13,6 +13,7 @@ #_maps/RandomRuins/SpaceRuins/bigderelict1.dmm #_maps/RandomRuins/SpaceRuins/bus.dmm #_maps/RandomRuins/SpaceRuins/caravanambush.dmm +#_maps/RandomRuins/SpaceRuins/clericden.dmm #_maps/RandomRuins/SpaceRuins/cloning_facility.dmm #_maps/RandomRuins/SpaceRuins/crashedclownship.dmm #_maps/RandomRuins/SpaceRuins/crashedship.dmm diff --git a/html/changelog.html b/html/changelog.html index 349a8ce012..fc78fc33a1 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -50,6 +50,555 @@ -->
+

26 February 2020

+

AnturK ported by kevinz000 updated:

+
    +
  • Dueling pistols have been added.
  • +
+

Arturlang updated:

+
    +
  • Replaces a lot of ingame UIs with TGUI next, increasing performance drastically.
  • +
  • Each night for bloodsuckers will last longer due to the sun dimming.
  • +
  • You cant level up for free, now you have to pay blood for power.
  • +
  • Bloodsuckers are no longer as resistant to hard stuns and regenerate less stamina. and a lot of their cooldowns are a lot higher.
  • +
  • Removed text macros from the chem dispenser.
  • +
  • Replaced with dispenser input recording macros.
  • +
  • Fancifying makeshift switchblades now works
  • +
  • Shields will no longer block lasers, and will break if they take too much damage.
  • +
  • Added a TGUI Next interface for crafting
  • +
  • Removed the old TGUI slow crafting interface
  • +
  • The MK2 hypospray now
  • +
  • The debug outfit is now kitted out for whatever debbuging needs.
  • +
  • Fixed the pandemic naming and the radiation healing symptom UI crashing
  • +
  • Hyposprays now switch modes on CTRL click, instead of alt, as it was already reserved for dispension amount.
  • +
  • Nanite interfaces have gotten a rework to TGUI Next, and can now support sub-programs. add:Adds the nanite sting program, which will allow you to manually sting people to give them nanites, changeling style.
  • +
  • The pandemic can no longer make vaccines or synthblood as quickly.
  • +
  • The syndicate uplinks interface has been redone in TGUI Next
  • +
  • Valentines can now be converted by bloodsuckers
  • +
+

Bhijn updated:

+
    +
  • Click-dragging will now only perform the quick item usage behavior if you're in combat mode.
  • +
+

BlueWildrose updated:

+
    +
  • podpeople tail wagging
  • +
  • lifebringer ghost role fixes
  • +
+

BuffEngineering, nemvar. updated:

+
    +
  • Addicts can now feel like they're getting their fix or kicking it.
  • +
  • Aheals now remove addictions and restore your mood to default.
  • +
+

CameronWoof updated:

+
    +
  • Lighting looks better now. I can say that because the PR wouldn't be merged and you wouldn't be reading this if it wasn't true.
  • +
  • Ammonia and saltpetre can now be made at the biogenerator.
  • +
+

Commandersand updated:

+
    +
  • uplink centcomm suit doesn't have sensors
  • +
+

DeltaFire15 updated:

+
    +
  • Nar'Sie runes no longer benefit from runed floors.
  • +
+

Detective-Google updated:

+
    +
  • the POOL. remove: boxstation dorms 7
  • +
  • valentines candy no longer prefbreaks
  • +
  • Loudness Booster pAI program
  • +
  • Encryption Key pAI program
  • +
+

EmeraldSundisk updated:

+
    +
  • Connects mining's disposal unit on Delta.
  • +
  • Slight visual adjustments to the immediate affected area.
  • +
+

Feasel updated:

+
    +
  • Buffed dissection success chances.
  • +
+

Ghommie updated:

+
    +
  • The anomalous honking crystal should now properly clown your mind.
  • +
  • Stopped the ellipsis question mark from being displayed twice in the examine message for masked/unknown human mobs.
  • +
  • Made the aforementioned ellipsis question mark display on flavor-text-less masked/unknown human mobs too for consistency.
  • +
  • Stopped an APTFT exploit with spray bottles.
  • +
  • Fixed the detective revolver being quite risky to use.
  • +
  • Hair styles and undergarments are yet again free from gender restrictions.
  • +
  • Clown ops will find bombananas and clown bomb beacons instead of minibombs and bomb beacons in their infiltrator ship now.
  • +
  • For safety, the syndicate shuttle minibombs and bombananas come shipped in a box. Please don't instinctively eat any of those nanas, thank you.
  • +
  • Uplink items excluded (such as mulligan, chameleon, ebow) from or exclusive (such as cyber implants) to normal nuke ops will now be properly unavailable/available to clown ops.
  • +
  • Fixed bananium energy sword/shield slips.
  • +
  • Buffed said slips to ignore no-grav/crawling/flying as well as adding some deadly force to the e-sword.
  • +
  • Fixed the 'stache grenade anti-non-clumsy user check.
  • +
  • Doubled the timer for the sticky mustaches effect from the above grenade (from 1 to 2 minutes)
  • +
  • Fixed an edge case with the chaplain armaments beacon spawning the box in nullspace.
  • +
  • The playback device's cooldown now proportionally increases with messages longer than 60 characters (3 seconds is the default assembly cooldown).
  • +
  • Fixed space ninjas "Nothing" objective. Now you gotta steal some dandy stuff such as corgi meat and pinpointers as a ninja too.
  • +
  • Fixed maploaded APC terminals direction.
  • +
  • Nerfed magnetic rifles/pistols by re(?)adding power cell requirements for it. These firearms must be recharged after firing 2 magazines worth of projectiles and are slightly more susceptible to EMPs.
  • +
  • Fixed the tearstache nade not properly working.
  • +
  • Buffed it against space helmet internals.
  • +
  • Holographic fans won't display above mobs and other objects anymore.
  • +
  • Fixed paraplegics appearing as shoeless.
  • +
  • Fixed the petting element.
  • +
  • Fixed slipping.
  • +
  • Refactored mob holders into an element.
  • +
  • Fixed a few minor issues with that feature. such as mismatching sprites for certain held mobs and a slight lack of safety checks.
  • +
  • holdable mobs can't force themselves into people's hands anymore.
  • +
  • Milkies fix.
  • +
  • Fixed some mounted defibrillator issue with the altclicking functionality.
  • +
  • Fixed no-grav lavaland labor/mining shuttle areas.
  • +
  • Fixed a little issue with sleeper UI and blood types.
  • +
  • Fixing accidental nerfs to the magpistol magazine.
  • +
  • The Lavaland's Herald speech sound should only play if they are actually speaking.
  • +
  • Nerfed cargo passive points generation from 500 to 125 creds per minute.
  • +
  • Fixed whitelisted/donor loadouts
  • +
  • Childproofs double-esword and hypereuplastic blade toys.
  • +
  • Some reagent holders (such as cigarettes, food) are not suitable for reagents export anymore, while unprocessed botany crops will only net 1/3 of the standard reagents values.
  • +
  • Export scanners now include the reagents value in the price report.
  • +
  • Fixed a little inconvenience with the character setup preview dummy having extra unwarranted bits.
  • +
  • Stopped role restricted uplink items from being discounted despite not being purchasable most times.
  • +
  • Missing words replacement file for the gondola mask.
  • +
  • Fixed an issue with the nearsighted prescription glasses taking over worn eyewear.
  • +
  • Fixed AI unanchoring not properly removing the no teleport trait. My bad.
  • +
  • Fixed another issue with hering comsig.
  • +
  • Fixed dozen missing privates sprites.
  • +
  • A little fix concerning some R&D and reagents.
  • +
  • Further mob holder fixes.
  • +
  • Fixed being unable to dump a trash bag's contents directly into disposal bins.
  • +
  • Doubled the halved flavor text maximum length.
  • +
  • Reduced tongue organ damage and tasting pH message spam.
  • +
  • Fixed agent IDs not registering the inputted name. Thanks MrPerson.
  • +
  • Fixed solar panels/trackers (de)construction being a bit wonky.
  • +
  • Fixed something about slime blood and the law of conservation of mass.
  • +
  • Fixed flypeople being emetic machine guns.
  • +
  • Fixed virology being unable to be done with synthetic blood.
  • +
  • Renamed "blaster carbine" and "blaster rifles" back to "energy gun" and "laser gun" respectively
  • +
  • Fixed magnetic rifles & co being inconsistent with printed energy guns and start with an empty power cell.
  • +
  • Reverted practice laser gun sprites back to their former glory. Mostly.
  • +
  • Fixed sprint buffer cost and regen being rounded down.
  • +
  • Nerfed the fermenting barrel export industry.
  • +
  • Reagent dispensers selling price no longer takes in account the reagents volume. It's already handled by reagents export.
  • +
  • pAIs are yet again unable to perform certain silicon interactions with machineries yet again.
  • +
  • Fixed pAI radios inability to be toggled on/off.
  • +
+

Ghommie (original PRs by Floyd/Qustinnus, 4Dplanner, Willox, ninjanomnom, mrdoombringer, Fikou, Fox McCloud, TheChosenEvilOne, nemvar, bobbahbrown, Time-Green, Stonebaykyle, MrPerson, ArcaneMusic and zxaber) updated:

+
    +
  • You can now make toolboxes out of almost any solid material in an autolathe
  • +
  • adds Knight's Armour made out of any materials
  • +
  • new ruin found in lavaland protected by dark wizards, I wonder what they're guarding
  • +
  • You can now put a bunch more mats in the coin mint and autolathe
  • +
  • Adamantine and Mythril are now materials (Adamantine still only from xenobio, Mythril still only from badminnery). Adamantine boosts an item's force by 1.5, Mythril gives an item RPG statistics.
  • +
  • most custom sprites for coins have been lost
  • +
  • You can now give your ass acute radiation poisoning
  • +
  • floydmats now apply to all objs / items
  • +
  • you can now make tables and chairs out of any material
  • +
  • Fixes being able to exploit fully upgraded destructive analyzers to multiply materials
  • +
  • An old monastery from a previously abandoned sector of space has recently resurfaced in some regions surrounding the station.
  • +
  • Latent scans of the surrounding systems have picked up trace signs of new, smaller cult constructs, however these signatures quickly vanished.
  • +
  • In other news, scavengers in your sector have been seen occasionally with classically recreated maces, so autolathe firmware has been upgraded to accommodate this.
  • +
+

Hatterhat updated:

+
    +
  • Zombie powder is now instant when ingested, but delayed when injected or applied through touch.
  • +
  • The H.E.C.K. suit is now goliath tentacle resistant and probably better for acid resistance.
  • +
  • The Engineering techfab can now print standard and large RCD compressed matter cartridges.
  • +
  • The Experimental Tools node now has the Combifan projector, blocking both temperature and atmospheric changes.
  • +
  • fiddles with the seed extractor upgrade examine to make it not shit
  • +
  • Formaldehyde prevents organ decay and corpses' miasma production at 1u in the body.
  • +
  • Epinephrine pens now contain 3u formaldehyde. This should not kill you.
  • +
  • The ships often crashed by Free Golems on Lavaland now have GPSes. They're off, by default, but an awakening Golem could easily turn one on.
  • +
  • Standard RCD ammo can now be printed from Engineering-keyed techfabs once you hit Industrial Engineering.
  • +
  • Consoleless interfaces are now default - this means unrestricted protolathes and circuit imprinters can now be interfaced with by interacting with the machine itself.
  • +
  • Multitools can now actually be printed from Engineering and Science protolathes/techfabs once you unlock Basic Tools.
  • +
  • Husking (from being burned to shit) can now be reverted! 5u rezadone or 100u synthflesh, at below 50 burn.
  • +
  • Turning a body into a burnt husk now takes more effort. 300 burn's worth of effort.
  • +
  • Buckshot individual pellet damage up from 10 to 12.5. Still firing 6 pellets.
  • +
  • Preservahyde! Made with water, bromine, and formaldehyde, it doesn't decay into histamine. Instead, it just prevents your organs from rotting into nothing.
  • +
  • You can now purify eldritch longswords with a bible. This creates purified longswords, which do not have anti-magic properties, but are still good for swinging at cultists.
  • +
  • Extend votes! Ported from Hyper, ported from AUstation.
  • +
  • mechs with stock parts now have icons
  • +
  • Pie reagent transfer now requires an uncovered mouth.
  • +
  • Biogenerators can now actually generate universal enzyme.
  • +
  • The Basic Tools node now unlocks the multitool for printing on Engineering and Science fabricators.
  • +
  • The Ash Walkers' nest on Lavaland now starts with three bowyery slabs.
  • +
  • You can now welder-harden arrows. It might take longer.
  • +
  • Silkstring's costs adjusted for bows and whatnot.
  • +
  • Grammar adjusted on a lot of things relating to bows.
  • +
  • Pipe bows' bowstring doesn't look like it replicated itself upon draw.
  • +
+

IHOPMommyLich updated:

+
    +
  • Changed the multiplicative_slowdown of Stimulants from -1 to -0.5
  • +
+

IronEleven updated:

+
    +
  • Minor stat changes to Choking, Spontaneous Combustion, Autophagocytosis Necrosis, Hallucigen, Narcolepsy, Shivering, and Vomiting symptoms.
  • +
+

KathrinBailey updated:

+
    +
  • Missing turf_decals in Cargo Office.
  • +
  • Turns on the docking beacons on Box.
  • +
  • Fixes Starboard Quarter maint room being spaced. It was never intended to be like how it was.
  • +
  • The aforementioned maint room not having stuff in it.
  • +
  • varedited photocopier sometimes not opening any UI.
  • +
  • Atmos differences in Starboard Quarter maint.
  • +
  • Atmos differences in destroyed shuttle/EVA bridge. Plating replaced with airless plating.
  • +
  • Rotates AI satellite computers. These have probably been like this since computers had the old sprites and no directional ones. You shouldn't sit at a chair to operate a sideways computer.
  • +
+

KrabSpider updated:

+
    +
  • The Van Dyke is no longer Fu Manchu.
  • +
  • Gets rid of a Fu Manchu imitation.
  • +
+

Kraseo updated:

+
    +
  • You can no longer pull before wearing boxing gloves to bypass the grab check.
  • +
  • Nightmares no longer delete entire guns from existence for merely having a light on them.
  • +
+

Linzolle updated:

+
    +
  • Bows now will not delete an arrow if it cant fire it.
  • +
  • bows now like and respect sprite changes
  • +
+

MalricB updated:

+
    +
  • "Shaggy" sprite from virgo
  • +
  • "shaggy" option in the character customization
  • +
+

MrJWhit updated:

+
    +
  • Removed meteor defense tech node
  • +
  • TEG
  • +
+

Naksu updated:

+
    +
  • Odysseus chem synthesizing now works again.
  • +
+

Owai-Seek updated:

+
    +
  • Burger, Cargo Packaging, Dirty Magazine, Air Pump, and Scrubber crates.
  • +
  • Duplicate Crate, Festive Wrapping Paper Crate, Contraband Monkey Meat Crate
  • +
  • Gave Seed Crate Ambrosia Seed, gave Biker Gang Crate Spraypaint.
  • +
  • Organised some crates with sub-categories. Also, moved all vendor refills to a new tab.
  • +
  • Moved Grill to Service Tab
  • +
  • Engineering Hardsuit Access
  • +
  • Blood Crate now has all of the current blood types.
  • +
  • Birthday Cake Recipe is now the same as TG.
  • +
  • Added Soy Sauce and BBQ Packets to Dinnerware Vendor.
  • +
  • Added nurse outfit, nurse cap, and mailman hat to loadout.
  • +
  • Changed the name of scrubs to blue, green, and purple scrubs.
  • +
  • Bacon and Eggs food item. Delicious! Added a Lemony Poppy Seed Muffin.
  • +
  • Snack Vendor has Chocolates, Tortilla Chips, and a Marshmallow Box
  • +
  • Mops can now be printed at service lathe once tools are researched.
  • +
  • Biobags can hold most organic limbs/organs, but not brains, implants, or cybernetics.
  • +
  • Trash Bag can now hold limbs (but not heads.)
  • +
  • Most snack vendor items reduced by 1.
  • +
  • Trash Cans are now actually craftable, and only require metal instead of plastic.
  • +
  • Bacon and Eggs, Drying Agent Bottle.
  • +
  • Mugs now show reagent colors of contained reagents. Thanks Seris!
  • +
  • Reorganized all food recipes, (hopefully) making things easier to find.
  • +
  • Trays now have a whitelist, allowing them to pick up normal sized foods, bowls, glassware, booze, ect.
  • +
  • Easter foods are no longer their own Misc Food Category on the top of the menu.
  • +
  • fixed a few typos/capitalization consistency.
  • +
  • Mexican Foods are their own Subcategory.
  • +
  • Donuts are their own Subcategory
  • +
  • Moved Sweets from Misc Food in with Pies. Renamed to Pies & Sweets
  • +
  • BROOM
  • +
  • Janitor Vendor now has gear for two Janitors.
  • +
+

PersianXerxes updated:

+
    +
  • SMES and PACMAN attached to gulag Security to power electrified windows remove: Removed Sec vendor from gulag Security
  • +
  • Separation of gulag and public mining
  • +
  • Better clarified the comment explaining the contraband tag.
  • +
  • Cargo nuclear defusal kits now require an emag'd drop pod console to be purchased.
  • +
  • Added Kilo Station
  • +
  • Adjusts Kilo Station to be more in line with Citadel standards
  • +
  • Added area icons required to make Kilo Station editable on Citadel code
  • +
  • Fixed a reagent container on Kilo pointing to a nonexistent reagent
  • +
  • Adds Kilo Station to the maps config file, does not fix Meta Station's population requirement
  • +
+

Psody-Mordheim updated:

+
    +
  • You can now make synth-flesh with synthetic blood.
  • +
  • You can now make synthetic blood via mixing saline glucose, iron, stable plasma and heating it to 350 temp.
  • +
  • You can mix synthetic blood and cryoxadone to create synth-meat in addition to normal blood.
  • +
  • Disfiguration Symptom.
  • +
  • Deoxyribonucleic Acid Saboteur Symptom.
  • +
  • Polyvitiligo Symptom.
  • +
  • Revitiligo Symptom.
  • +
  • Vitiligo Symptom.
  • +
+

Putnam3145 updated:

+
    +
  • Added logging to various consent things.
  • +
  • Lots of new traitor objectives
  • +
  • gender change potion now respects prefs
  • +
  • Hypno prefs work better.
  • +
  • Panic bunker is now round-to-round persistent
  • +
  • Relief valve now has a TGUI-next UI
  • +
  • Atmos reaction priority works now.
  • +
  • map voting doesn't suck anymore
  • +
  • Dynamic now defaults to "classic" storyteller instead of just failing if the vote didn't choose a storyteller.
  • +
  • antag quirk blacklisting works now
  • +
  • default should be... default
  • +
  • all supermatter damage is now hardcapped
  • +
  • Supermatter sabotage objective no longer shows up with no supermatter
  • +
  • Mining vendors no longer fail and eat your points iff you have precisely enough points to pay for an item
  • +
  • Licking pref
  • +
  • Fixed IRV.
  • +
  • Runtime if nobody has a chaos pref set
  • +
  • IRV fixed... again
  • +
  • temporary flavor text can now be of reasonable length
  • +
  • Shooting the supermatter now adds to the supermatter's power. CO2 setups beware!
  • +
  • Logging for renaming
  • +
+

Raiq & Linzolle updated:

+
    +
  • Bone bow - Ash walkers crafting , bone arrows - Ash walkers crafting, silk string used in bow crafting, harden arrows - Ash walkers crafting, ash walker only crafting book, basic pipe bow, and bow & arrow selling. Quivers for ash walkers as well, just to hold some arrows well out on the hunt!
  • +
+

Seris02 updated:

+
    +
  • tweaked the way the SM works
  • +
  • custom reagent pie smite
  • +
  • hijack implant
  • +
  • changed mentions of the issilion proc to hasSiliconAccessInArea based on what the proc is used for
  • +
  • recipe for mammal mutation toxin
  • +
  • polychromic winter coat
  • +
  • thief's gloves
  • +
  • crushing magboots
  • +
  • golden plastitanium toolbox being actually plastitanuium
  • +
  • character slot amount
  • +
  • rebalanced rising bass
  • +
  • string highlighting whitespace
  • +
  • glitch with PKA
  • +
  • meteor hallucinations (again)
  • +
  • Added naked hallucination
  • +
  • crowbarring manifests off crates
  • +
  • makes RCDs cost a better amount
  • +
  • apc icons
  • +
  • rest hotkey
  • +
  • hsl instead of sum of rgb for spraycan lum check
  • +
  • bloodcrawl's cooldown
  • +
+

ShadeAware updated:

+
    +
  • Craftable Switchblades, a weaker subtype of normal switchblades that can be crafted using a Kitchen Knife, Modular Receiver, Rifle Stock and some Cable Coil. Requires a welder to complete.
  • +
  • You can now actually craft Switchblades.
  • +
  • Switchblades no longer regain their old Makeshift sprite after retracting if you've made them fancy with Silver.
  • +
  • The Captain's Wardrobe, a special one-of-a-kind and ID-locked wardrobe for the Captain that holds all of their snowflakey gear. Remove: Snowflake gear from the Captain's locker, since now it has its own vendor.
  • +
+

Tlaltecuhtli, ported by Hatterhat updated:

+
    +
  • Ripley, Firefighter, Odysseus and H.O.N.K. mechs now also use scanning modules and capacitors on construction. This means that they also gain reduced power consumption and EMP protection from higher-tier stock parts.
  • +
+

Trilbyspaceclone updated:

+
    +
  • Vault hallway door being all access
  • +
  • Updates change logs
  • +
  • Crafts are now made of plasteel and can be made with 5 sheets
  • +
  • Takes away NT's connections to the Aliens that run the Syndicats
  • +
  • Carps have evolved to take more damage
  • +
  • restock crates for each vender
  • +
  • restock units for all station venders
  • +
  • Sec-vender missing icon
  • +
  • Box station captain office issues maping: Gulag on box can now be accessed
  • +
  • Alien stools and chairs
  • +
  • Bone armor/Dagger are now crafting from bones rather then crafting menu
  • +
  • Firing pins that only works when not on station
  • +
  • Medical locked crates
  • +
  • Russian gear crates have less gear in some cases but all will cost more
  • +
  • Medical locked crates that were not locked
  • +
  • Crates that were out of date are corrected
  • +
  • Heads of staff have been better screened by NT before being promoted
  • +
  • The suit full of spiders also known as a ninja now is a tactical turtleneck
  • +
  • The Wiznerds now dont have suits set to max
  • +
  • Meat wheat no longer has blood
  • +
  • Flat guns can no longer be suppressed
  • +
  • replaced stickmans .45 caliber with 10mm, for consistency.
  • +
  • Meatwheat and Oats now have rarity
  • +
  • Oats now have at lest 50% more flour in them
  • +
  • BDM now uses a PKA rather then a normal KA
  • +
  • Gang tower shield is no longer transparent
  • +
  • Cosmic winter coat now glows like the bedsheet, and holds normal winter coat gear
  • +
  • Express console is now logging what it buys, like the normal console should
  • +
  • Crabs are now made of crab meat.
  • +
  • AIs now understand the old ways of drunken dwarfs
  • +
  • Removes some armored Russian hats from box station round start
  • +
  • Doner items spawning
  • +
  • Engi/Sec Trek suit no longer has 10% melee protection
  • +
  • IPC hearts are now made of robomeat and roboblood thats emp proof. Heals and is all and all just like an normal heart
  • +
  • All robotic organs now have an animation.
  • +
  • IPC's now organs now look like robotic ones, even tho thats not the case game wise
  • +
  • Added a new bee themed bar sign
  • +
  • Makes plywood chair not look as bad.
  • +
  • corndog sprite being miss-spelled
  • +
  • Ash from land of lava now is useable for sandstone
  • +
  • Peach cake slices are no long made by mimes
  • +
+

Tupinambis updated:

+
    +
  • the portion of laws that require harm prevention by silicons has been removed.
  • +
  • silicon_laws.txt config file is required to be modified for full implementation.
  • +
  • masks no longer improperly stick out of helmets when they should be hidden.
  • +
  • Status Displays should now update correctly.
  • +
  • stunbatons now take 4 hits to inflict hard crit, up from 3.
  • +
  • stunbatons no longer disarm targets.
  • +
+

Yakumo Chen updated:

+
    +
  • Rings for your fingers!
  • +
  • New cargo crates and loadout options to bling your rings!
  • +
+

YakumoChen updated:

+
    +
  • Observe is back in the OOC tab
  • +
  • Rings look nicer. Sprites used from RP.
  • +
  • Ring on-hands. Diamond rings sparkle!
  • +
  • You can now propose using a diamond ring in your hand.
  • +
  • Legion skulls behave like bees!!!!
  • +
+

Zellular updated:

+
    +
  • Movement state for pupdozer and its decals
  • +
  • Tweaked the movement state for the pupdozer's eyes
  • +
+

ancientpower updated:

+
    +
  • Fixes an error in pH strips' feedback message.
  • +
  • Ported drink sliding from /vg/station.
  • +
  • Fixes color mismatching with the "genitals use skintone" preference.
  • +
  • Bunny ear style for humanoid species.
  • +
  • Ghosts are now literate.
  • +
+

bunny232 updated:

+
    +
  • Changes the simple animal sentience event from the xenomorph preference to sentience potion preference.
  • +
+

coiax updated:

+
    +
  • Admin and event only pair pinpointers! They come in a box of two, and each pinpointer will always point at its corresponding pair. Aww.
  • +
+

deathride58 updated:

+
    +
  • Spacemen no longer run at lightspeed on local servers.
  • +
+

kappa-sama updated:

+
    +
  • the plant dudes can actually make plant disks now
  • +
+

keronshb updated:

+
    +
  • Added repairable turrets
  • +
  • Adds Tiny Fans to the pirate ship
  • +
  • changes some reinforced windows to plastinanium pirate windows
  • +
  • made the pirate shuttle + turrets bomb resistant
  • +
  • made most pirate machines + consoles indestructible
  • +
  • increased pirate turret health
  • +
  • Adds the CogChamp drink and Sprite
  • +
  • Added burn and knockback to stunhand during HALOS on cult.
  • +
  • fixed accelerated regeneration nanites
  • +
  • fixed mechanical repair nanites
  • +
  • fixed bio reconstruction nanites
  • +
+

kevinz000 updated:

+
    +
  • Custom snowflake plushies are now in config rather than code.
  • +
  • Abductor mindsnapping (aka abductee objectives) can now be "cured" with brain surgery.
  • +
  • Shuttle hijacking has been completely reworked. Alt-click the shuttle as a hijack-capable mind (so traitors, and especially traitors with hijack) to begin or continue a hacking process.
  • +
  • A good amount of the blood RGB rework was cleaned up/reverted, with some notable gameplay changes including: Gibs and blood not having max blood by default (no more easy rampages, cultists), infinite gib streaking, etc etc.
  • +
  • meteor waves are now directional and announces the direction on the command report.
  • +
  • CTF CLAYMORES
  • +
  • shoves buffed, now shoving into a wall twice rapidly will also disarm their weapon.
  • +
  • traitor+bro gamemode minimum population set to 25 until there can be more in depth configuration systems for gamemodes.
  • +
  • no more bluespace skittish locker diving,
  • +
  • moths now have unique laughs and can *chitter.
  • +
  • nuke explosion is now full dev radius for anti lag purposes
  • +
  • Gangs can now only tag with a gang uplink bought spraycan.
  • +
  • dueling pistol accesses have been changed to be more accessible.
  • +
  • mechs no longer have admin logs flooding into IC control console log viewing
  • +
  • Guncode and energy guns have been refactored a bit.
  • +
  • You can now combat mode ight click on an energy gun to attempt to switch firing modes. This only works on guns without right click functions overridden.
  • +
  • shoes can now fit magpistols again.
  • +
  • Projectiles now always hit chest if targeting chest, snipers have 100% targeting zone accuracy. All other cases are unchanged.
  • +
  • The lawyer's PDA cartridge has been rebranded to something more accurate to its true nature.
  • +
  • Refactored ghostreading/etc
  • +
  • Cyborgization will now de-gang people, even gangheads.
  • +
  • reactive repulse armor now has an item limit
  • +
  • beam rifle runtime fix during aiming_beam
  • +
  • fail2topic runtime fix: taking out an ip while incrementing index resulted in accessing the next-next entry instead of the next and results in out of bound errors.
  • +
  • gravity gun repulse and chaos now work in all angles, rather than just basic cardinals and diagonals. fun.
  • +
  • Public autolathes can no longer be hacked.
  • +
  • Energy weapons now once again have their lens in contents.
  • +
  • pais are no longer muted for literally a whole hour on emp.
  • +
  • auto profiler subsystem from tg
  • +
  • Brig cells now are more accurate by using timeofday instead of realtime
  • +
  • Cryo now actually transfers reagents at tier 4 on enter rather than every 80 machine fire()-process()s regardless of if it was "reset" by open/close.
  • +
  • cmo now gets advanced surgery drapes that techweb-sync for advanced surgeries without an operating console.
  • +
  • ctf claymores now actually spawn (and fit).
  • +
  • STOP_PROCESSING now removes from currentrun to prevent another process cycle from happening where it shouldn't.
  • +
  • hand teleporters now require 30 deciseconds of still movement by the user to dispel portals. there's a beam effect too.
  • +
  • Sort of a bugfix but cult blood magic and all guns now respect stamina softcrit.
  • +
  • Organ healing rate doubled. Organ decay rate halved to match its define (15 minutes for full decay, so at around 8-10 minutes it'll be really fucked).
  • +
  • Storage now caches max screen size and only stores when being opened by a non ghost, meaning ghosts will no longer distort living player screens when viewing storage.
  • +
  • Stunbatons changed yet again.
  • +
  • the game's built in autoclicker aka CanMobAutoclick no longer triggers client/Click()'s anti clickspam guard.
  • +
  • pais can no longer bodyblock bullets
  • +
  • pai radio short changed to 3 minutes down from 5
  • +
  • pais are no longer fulltile click opacity.
  • +
  • vampire "immortal haste" has been reworked to be more reliable and consistent.
  • +
  • hand teles use a less atrocious beam
  • +
+

necromanceranne updated:

+
    +
  • Ebows now disarm people hit by them.
  • +
  • Ebows now do 60 stamina damage on hit.
  • +
  • Ebows no longer inflict drowsiness
  • +
  • Miniature ebows do 15 toxin damage, up from 8.
  • +
  • Ebows have considerably shorter knockdowns.
  • +
  • Ebows now make you slur rather than stutter.
  • +
  • Large ebows are now heavy and bulky.
  • +
  • You can no longer order spinfusors or their ammo from cargo.
  • +
  • Removed the formal security officer jacket from the secdrobe
  • +
  • formal security jackets are now armor vests
  • +
  • Bullets causing bleed rates equal to unmitigated damage through all forms of defense.
  • +
  • Reverted #9092, crew mecha no longer spawn with tracking beacons.
  • +
  • [Port] Mecha ballistics weapons now require ammo created from an Exosuit Fabricator or the Security Protolathe, though they will start with a full magazine and in most cases enough for one full reload. Reloading these weapons no longer chunks your power cell. Clown (and mime) mecha equipment have not changed.
  • +
  • [Port] The SRM-8 Missile Launcher has been replaced with the BRM-6 Breaching Missile Launcher in techwebs (Nukie Mauler remains equipped with the SRM-8).
  • +
  • [Port] Both Missile Launchers and the Clusterbang Launcher do not have an ammo cache, and cannot be reloaded by the pilot. Once the initial loaded ammo has been spent, you can use the appropriate ammo box to load the weapon directly.
  • +
  • [Port] Utility mechs that have a clamp equipped can load ammo from their own cargo hold into other mechs.
  • +
  • [Port] Nuke Ops can purchase spare ammo duffel bags for their mecha weapons, should they run low.
  • +
  • Literally unclickability with a cham projector
  • +
+

nemvar updated:

+
    +
  • Slight changes the self-repair borg module. It no longer references the borg that owns it.
  • +
  • Trash from food now gets generated at the location of the food item, instead of in the hands of the eater.
  • +
  • Changed mob biotypes from lists to flags.
  • +
+

r4d6 updated:

+
    +
  • Added a dwarf language
  • +
  • Added more engines
  • +
  • RPD subcategories and preview icons reorganized.
  • +
  • RPD now starts with painting turned off, hitting pipes with build and no paint will target the turf underneath instead. Bye bye turf pixelhunting.
  • +
  • Made dwarves into a roundstart races
  • +
  • Meteor Timer back to 3-5 minutes
  • +
  • Mining no longer lead to spess
  • +
  • Added Plasteel Pickaxe
  • +
  • Added Titanium Pickaxe
  • +
  • fixed a missing tile
  • +
+

tralezab, bandit, Skoglol updated:

+
    +
  • The mime's PDA messages are silent now!
  • +
  • 30 new emoji have been added. Mime buff, mime now OP.
  • +
+

27 January 2020

4dplanner, CRITAWAKETS, XDTM, ninjanomnom updated:

    @@ -506,328 +1055,6 @@
    • fixed not being able to remove trait genes without a disk being inserted into the dna manipulator
    - -

    30 December 2019

    -

    AnturK updated:

    -
      -
    • Fixed ranged syndicate mobs stormtrooper training.
    • -
    -

    Arturlang updated:

    -
      -
    • Adds Bloodsuckers, beware.
    • -
    -

    BlueWildrose updated:

    -
      -
    • Fixed stargazers being unable to link to themselves if mindshielded or if holding psionic shielding devices (tinfoil hats) when the species is set.
    • -
    • Fixes non-roundstart slimes being unable to wag their tail.
    • -
    -

    Commandersand updated:

    -
      -
    • added two words to clown filter
    • -
    • Added new things to loadouts, check em
    • -
    -

    DeltaFire15 updated:

    -
      -
    • Clock cult kindle no longer cares about oxygen damage
    • -
    • changed mecha internals access for some special mechs.
    • -
    • no more mech maintenance access for engineers.
    • -
    • All heads of staff can now message CC
    • -
    • Removes a magicnumber
    • -
    • Rebalanced cult vs cult stun effects to debuff instead of stun
    • -
    -

    Detective-Google updated:

    -
      -
    • short hair 80's is no longer jank
    • -
    -

    Fermis updated:

    -
      -
    • tweaked how super bases/acids work but limiting them
    • -
    -

    Fikou updated:

    -
      -
    • the windup toolbox now has some more "realistic" sounds
    • -
    • the windup toolbox now rumbles again
    • -
    -

    Ghommie updated:

    -
      -
    • Fixed hulks, sleeping carp users, pacifists and people with chunky fingers being able to unrestrictly use gun and pneumatic cannon circuit assemblies.
    • -
    • Fixed gun circuit assemblies being only usable by human mobs.
    • -
    • Doubled the locomotion circuit external cooldown, thus halving the movable assemblies' movespeed.
    • -
    • Made wooden cabinet/closets... actually made of wood.
    • -
    • Wooden cabinets are now deconstructable with a screwdriver.
    • -
    • Deconstruction of large crates and other closet subtypes deconstructable with tools other than the welder is no longer instant.
    • -
    • You shouldn't be able to target objects you can't see (excluding darkness) with the ARCD and RLD
    • -
    • The admin RCD is ranged too, just like the ARCD.
    • -
    • Fixed welding, thirteen loko, welding and wraith spectacles not blinding people as expected. Thank you all whomst reported this issue in the suggestions box channel instead of the github repository's issues section, very smart!
    • -
    • Fixed on_mob eyes overlays not updating properly in certain cases.
    • -
    • Fixed deconversion from bloodshot eyes blood cult resetting your eyes' color to pitch black instead of their previous color, more or less.
    • -
    • Spinfusor nerf: Upped the casing and ammo box size by one step, removed the projectile's dismemberment value (explosions can still rip a limb or two off), halved the ammo box capacity, reduced the spinfusor ammo supply pack contents from 32 to 8, removed the casing's ability to explode when thrown.
    • -
    • Fixes bubblegum's death not unlocking the arena shuttle buyment.
    • -
    • Fixed alien tech node not being unlockable with subtypes of the accepted items.
    • -
    • Fixed reactive armor onmob overlays not updating when toggled and reactive teleport armor still using forceMove() instead of do_teleport()
    • -
    • Fixed space hermit asteroid rocks unintendedly spawning airless asteroid turf when mined, save for the perimeter.
    • -
    • Fixes reviver implant having been a crapshot ever since soft-crit was introduced years ago.
    • -
    • Added a "convalescence" time (about 15 seconds) after the user is out of unconsciousbess/crit to ensure they are properly stabilized.
    • -
    • Added a 15 minutes hardcap for accumulated revive cooldown (equivalent to 150 points of brute or burn healed) above which the implant starts cooling down regardless of user's conditions.
    • -
    • Fixed AI core displays I may have broken with my coding extravaganza.
    • -
    • Blue, Amber and Red security alert sounds should be half as loud now.
    • -
    • Buffed clown ops by removing their clumsiness and adding a new trait to be used in place of several clown role checks.
    • -
    • Clown ops too also suffer from not holding or wearing clown shoes now.
    • -
    • Fixed a few holo barriers lacking transparency.
    • -
    • Fixed character setup preview bodyparts not displaying correctly most of times.
    • -
    • Fixed character appearance preview displaying the mannequin in job attire instead of undergarments.
    • -
    • Fixed raven's shuttle computer not being of the emergency shuttle type.
    • -
    • Blood bank generators can now be anchored and unanchored now.
    • -
    • Ghost mentors can now orbit around the target instead of setting their view to theirs'.
    • -
    • Fixes a ghostchat eavesdropping exploit concerning VR.
    • -
    • Fixes VR deaths being broadcasted in deadchat.
    • -
    • Fixed a few pill bottle issues with the ChemMaster.
    • -
    • Fixes a few negative quirks not being properly removed when deleted.
    • -
    • Phobia and mute quirks are no longer cheesed by brain surgery grade healing or medicines.
    • -
    • Fixed double-flavour (and bland custom) ice creams.
    • -
    • Fixed Pubbystation's wall Nanomeds being inconsistent with other stations'.
    • -
    • dextrous simplemobs can now swap action intent with 1, 2, 3, 4 now. Just like humies, ayys and monkys.
    • -
    • Stops humanoids whose skin_tone variable is set to "albino" from showing up as pale when examined should their species not use skintones anyway.
    • -
    • Removed the old (almost) unused roboticist encryption key and headset.
    • -
    • Fixed goose meat.
    • -
    • Fixed a little door assembly glass dupe exploit
    • -
    • Fixed AI holopad speech text being small and whispers that in multiple exclamation marks echo through multiple areas.
    • -
    • Removed literally atrocious polka dotted accessories. They were even more atrocious than the yellow horrible tie.
    • -
    -

    Ghommie (also porting PRs by AnturK and Arkatos) updated:

    -
      -
    • Fixed light eaters not burning out borg lamplights and flashes. fix Fixed light eater not affecting open turfs emitting lights such as light tiles and fairy grass.
    • -
    • Fixed an empty reference about light eater armblade disintegration after Heart of Darkness removal.
    • -
    -

    Ghommie, Skogol updated:

    -
      -
    • refactored altclick interaction to allow alt-click interactable objects to parent call without forcing the turf contents stat menu open.
    • -
    • Alt clicking will no longer show turf contents for items inside bags etc.
    • -
    • Alt clicking the source of your turf contents stat menu will now close said menu.
    • -
    -

    GrayRachnid updated:

    -
      -
    • fixes consistency
    • -
    -

    Hatterhat updated:

    -
      -
    • Regenerative nanites, a "chemical" used in the combat stimulant injector. Actually quite stimulating, and not bad in a pinch for a nuclear operative. Check the Combat Medic Kit!
    • -
    • The Combat Medic Kit now has an advanced health analyzer and medisprays instead of patches and a chloral syringe.
    • -
    • The Advanced Syndicate Surgery Duffelbag or whatever it was doesn't get the better injector, because nobody uses it and so nobody's bothered to update it.
    • -
    • .357 speedloaders can now be printed with the Advanced Illegal Ballistics node on the tech tree!
    • -
    • okay so i may have given the .357 an extra speedloader at the same cost but it comes in a box now
    • -
    -

    ItzGabby updated:

    -
      -
    • Fixed AltClick on polychromic collars so they actually work now.
    • -
    -

    KeRSedChaplain updated:

    -
      -
    • Extends the file "deltakalaxon.ogg" to a 38 second .ogg.
    • -
    -

    Linzolle updated:

    -
      -
    • neck slice. harm intent someone's head while they are unconscious or in a neck grab to make them bleed uncontrollably.
    • -
    • officer's sabre now properly makes the unsheating and resheating noise
    • -
    • fireman failure has a different message depending on the circumstance
    • -
    • Abductor chem dispenser, and added it to the abductor console.
    • -
    • "Superlingual matrix" to the abductor console. It's the abductor's tongue. Can be used to link it to your abductor communication channel and then implanted into a test subject.
    • -
    • Shrink ray and added it to the abductor console.
    • -
    • Shrink ray sound effect (its the fucking mega man death sound)
    • -
    • special jumpsuit for abductors
    • -
    • abductor jumpsuit, including digi version if a digitigrade person somehow manages to get their hands on it. sprites for the shrink ray and chem dispenser.
    • -
    • new glands to play with, including the all-access gland, the quantum gland, and the blood type randomiser.
    • -
    • split every gland into its own file instead of all being in one file
    • -
    • cosmic coat crafting recipe changed to coat + cosmic bedsheet
    • -
    -

    Mickyan, nemvar, RaveRadbury, AnturK, SpaceManiac updated:

    -
      -
    • Certain incompatible quirks can no longer be taken together.
    • -
    • If an admin sends a ghost back to the lobby, they can now choose a different set of quirks.
    • -
    • the quirk menu went through some minor formatting changes.
    • -
    • Podcloning now lets you keep your quirks.
    • -
    • Quirks have flavor text in medical records.
    • -
    • All quirk medical records refer to "Patient", removing a few instances of "Subject".
    • -
    • Quirks no longer apply to off-station roundstart antagonists.
    • -
    • Mood quirks are now only processed by the quirk holders
    • -
    -

    Narcissisko (ported by Hatterhat) updated:

    -
      -
    • Luxury Bar Capsule, at 10,000 points. Comes with no medical supplies, a bar, and a bunch of cigars. Ported from tgstation/tgstation#45547.
    • -
    -

    Nervere and subject217, Militaires, py01, nemvar updated:

    -
      -
    • The cook's CQC now only works when in the kitchen or the kitchen backroom.
    • -
    • corrected CQC help instructions
    • -
    • CQC and Sleeping Carp are properly logged.
    • -
    • CQC can passively grab targets when not on grab intent. Passive grabs do not count towards combos for CQC or Sleeping carp.
    • -
    • Martial Art and NOGUN cleanup.
    • -
    -

    PersianXerxes updated:

    -
      -
    • Removed night vision quirk
    • -
    -

    Putnam updated:

    -
      -
    • acute hepatic pharmacokinesis now works if you already have relevant genitals
    • -
    • Contamination is no longer an infinitely spreading deadly contagion causing mass panic
    • -
    • Dynamic rulesets have lower weight if a round recently featured them (except traitor).
    • -
    -

    Putnam3145 updated:

    -
      -
    • Buffed HE pipes by making them realistically radiate away heat.
    • -
    • Dynamic has a (totally unused for any relevant purpose) roundstart report now.
    • -
    • A whole bunch of dynamic data is now available for statbus
    • -
    • Dynamic from-ghost antags no longer double dip on threat refunds when the mode fails due to not enough applications.
    • -
    • whoops broke quirks
    • -
    • quirks work
    • -
    • New tab in preferences screen: "ERP preferences"
    • -
    • New opt-outs for individual effects of incubus draught, succubus milk
    • -
    • Acute hepatic pharmacokinesis has been removed, replaced with above
    • -
    • Renamed "Toggle Lewdchem" to "Toggle Lewd MKUltra", since that's what it actually means, and made it toggle the "hypno" setting (rename it again if more hypno mechanics are added).
    • -
    • Made MKUltra's lewd messages require both people involved to have hypno opted-in.
    • -
    • Buncha dynamic config tweaks
    • -
    • Ghost cafe spawns are actual ghost roles by the game's reckoning now
    • -
    • a runtime in radioactive contamination
    • -
    • Bomb armor now acts like other armor types.
    • -
    • Devastation-level explosions on armorless people no longer destroys everything in their bags.
    • -
    -

    Seris02 updated:

    -
      -
    • the clowns headset
    • -
    • distance checks
    • -
    • the sprites
    • -
    • added the runed and brass winter coats (cosmetic ratvarian/narsian)
    • -
    • how the narsian/ratvarian coats can be made
    • -
    • fixes some ghost roles from dying of stupid shit
    • -
    • pandoras attacking their owners
    • -
    • Added Rising Bass and the shifting scroll.
    • -
    • Changes the martial arts scroll in the uplink to "Sleeping Carp Scroll"
    • -
    -

    ShizCalev updated:

    -
      -
    • Fixed floodlights not turning off properly when they're underpowered.
    • -
    • Fixed emitters not changing icons properly when they're underpowered.
    • -
    -

    Sishen1542 updated:

    -
      -
    • Clicking a pack of seeds with a pen allows you to set the plant's name, description and the pack of seeds' description. Useful for differentiating genetically modified plants. These changes will persist through different generations of the plant.
    • -
    • Hydroponics trays update their name and description to reflect the plant inside them. They revert to default when emptied.
    • -
    -

    Toriate updated:

    -
      -
    • Polychromic shorts now have a digitigrade state
    • -
    -

    Trilbyspaceclone updated:

    -
      -
    • ports all the new donuts, burgars, and chicken stuff from RG
    • -
    • ports new snowcone
    • -
    • ports grill
    • -
    • ports beakfeast tag/mood lit as TG has it
    • -
    • ports all the amazing new sprites
    • -
    • ports crafting for many things like snowcones needing water
    • -
    • ports of many craftings
    • -
    • lowers fryers sound
    • -
    • ported icons for new food/grill
    • -
    • ports the deletion of some icons and images
    • -
    • ports a spell check for the snowcones
    • -
    • ports fixes for stuff I didnt know were even broken with snowcones
    • -
    • coder cat failers to push the last commit from year(s) ago
    • -
    • Updates the changlogs
    • -
    • meat hook from HUGE to bulky
    • -
    • CE hardsuit is now more rad-proof
    • -
    • Wrong icon names, missing dog fashion with telegram hat
    • -
    • New softdrink that comes in its own vender!
    • -
    • Honey now has a reaction with plants
    • -
    • Buzz fuzz now only has a 5% to give honey and will now give 1u of sugar not 2
    • -
    • Blaster shotguns back into armory
    • -
    • Removed Lighters in thunderdomes
    • -
    • Silicons now know what a slime is saying!
    • -
    • honey now will not kill slimes. Honey slimepeople can be a thing now, go sci.
    • -
    • Added insulin into many of the borg hypo's
    • -
    -

    Useroth updated:

    -
      -
    • bamboo which can be used to build punji sticks/ blowguns available as a sugarcane mutation or in exotic seed crate
    • -
    • changed the sugar cane growth stages because fuck if I know why, but it was in the PR
    • -
    • New lavaland ruin: Pulsating tumor
    • -
    • New class of lavaland mobs, a bit weaker than megafauna but still stronger than most of what you normally see
    • -
    • Ghost cafe spawner. For letting people spawn as their own character in the ninja holding facility. It bypasses the usual check, so people who have suicided/ghosted/cryod may use it.
    • -
    • Dorms in the ninja holding facility.
    • -
    -

    Xantholne updated:

    -
      -
    • Santa Hats to Loadout and Clothesmate
    • -
    • Christmas Wintercoats to Loadout and Clothesmate
    • -
    • Christmas male and female uniforms to loadout and Clothesmate
    • -
    • Red, Green, and Traditional Santa boots to loadout and Clothesmate
    • -
    • Christmas Socks, Red candycane socks, Green candycane socks to sock selection
    • -
    -

    kappa-sama updated:

    -
      -
    • legion drops more crates now
    • -
    • .357 speedloaders in autolathes are now individual bullets instead, speedloaders are now illegal tech, costs less total metal to make 7 bullets than a previous speedloader. 7.62mm bullets in autolathe when hacked and costs more metal to make 5 7.62mm bullets than getting a clip from the seclathe.
    • -
    • mentions that you can refill speedloaders on .357 uplink description
    • -
    • you can now strip people while aggrograbbing or higher
    • -
    • plasmafist to wizard
    • -
    • modular is gone
    • -
    • martial apprentices for the local Chinese wizard
    • -
    • broodmother baby lag
    • -
    • you can no longer get 100k credits by spending 4k roundstart
    • -
    • cooking oil in sunflowers instead of corn oil
    • -
    • throats are no longer slit happy
    • -
    -

    keronshb updated:

    -
      -
    • Adds reflector blobs to shield blob upgrades
    • -
    -

    kevinz000 updated:

    -
      -
    • Launchpads can now take number inputs for offsets rather than just buttons.
    • -
    • nanites no longer spread through air blocking objects
    • -
    • Night vision readded as a darkness dampening effect rather than darksight.
    • -
    • conveyors can only stack items on tiles to 150 now.
    • -
    • added 8 character save slots
    • -
    • Cargo shuttle now silently ignores slaughter demons/revenants instead of being blocked even while they are jaunted. A drawback is that manifested ones can't block it either, any more.
    • -
    • flashbangs process light/sound separately and uses viewers(), so xray users beware.
    • -
    • Stat() slowed down for anti-lag measures.
    • -
    • sprint/stamina huds now work again
    • -
    • Combat defibs now instant stun on disarm rather than 1 second again
    • -
    • Defibs are now always emagged when emagged with an emag rather than EMP.
    • -
    • aooc toggling now only broadcasts to antagonists
    • -
    • Antag rep proc is now easier to read and supports returning a list.
    • -
    • Clockwork marauders are now on a configured summon cooldown if being summoned on station. They also rapidly bleed health while in or next to space. And they glow brighter.
    • -
    -

    lolman360 updated:

    -
      -
    • Added ability to pick up certain simplemobs.
    • -
    -

    nemvar updated:

    -
      -
    • The brains of roundstart borgs no longer decay.
    • -
    • Refactored the visibility of reagents for mobs.
    • -
    -

    nicbn, Kevinz000, ShizCalev updated:

    -
      -
    • Fire alarm is now simpler. Touch it to activate, touch it to deactivate. When activated, it will blink inconsistently if it is emagged.
    • -
    • You can no longer spam fire alarms. Also, they're logged again.
    • -
    • Fixed fire alarms not updating icons properly after being emagged and hacked by Malf AI's.
    • -
    -

    r4d6 updated:

    -
      -
    • Added a N2O pressure tank
    • -
    • Removed a AM Shielding from the crate
    • -
    • Added Handshakes
    • -
    • Added Nose booping
    • -
    • Added submaps for the SM, Tesla and Singulo
    • -
    • Added a placeholder on Boxstation for the Engines
    • -
    • fixed Nose boops not triggering
    • -
    -

    shellspeed1 updated:

    -
      -
    • Adds Insect markings
    • -
    • Adds three new moth wings.
    • -
GoonStation 13 Development Team diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 464340ef24..92ef22f74f 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -24452,3 +24452,590 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. timothyteakettle: - bugfix: fixed not being able to remove trait genes without a disk being inserted into the dna manipulator +2020-02-26: + AnturK ported by kevinz000: + - rscadd: Dueling pistols have been added. + Arturlang: + - rscadd: Replaces a lot of ingame UIs with TGUI next, increasing performance drastically. + - rscadd: Each night for bloodsuckers will last longer due to the sun dimming. + - tweak: You cant level up for free, now you have to pay blood for power. + - balance: Bloodsuckers are no longer as resistant to hard stuns and regenerate + less stamina. and a lot of their cooldowns are a lot higher. + - rscdel: Removed text macros from the chem dispenser. + - rscadd: Replaced with dispenser input recording macros. + - bugfix: Fancifying makeshift switchblades now works + - balance: Shields will no longer block lasers, and will break if they take too + much damage. + - rscadd: Added a TGUI Next interface for crafting + - rscdel: Removed the old TGUI slow crafting interface + - tweak: The MK2 hypospray now + - admin: The debug outfit is now kitted out for whatever debbuging needs. + - bugfix: Fixed the pandemic naming and the radiation healing symptom UI crashing + - tweak: Hyposprays now switch modes on CTRL click, instead of alt, as it was already + reserved for dispension amount. + - rscadd: Nanite interfaces have gotten a rework to TGUI Next, and can now support + sub-programs. add:Adds the nanite sting program, which will allow you to manually + sting people to give them nanites, changeling style. + - balance: The pandemic can no longer make vaccines or synthblood as quickly. + - rscadd: The syndicate uplinks interface has been redone in TGUI Next + - tweak: Valentines can now be converted by bloodsuckers + Bhijn: + - tweak: Click-dragging will now only perform the quick item usage behavior if you're + in combat mode. + BlueWildrose: + - bugfix: podpeople tail wagging + - tweak: lifebringer ghost role fixes + BuffEngineering, nemvar.: + - bugfix: Addicts can now feel like they're getting their fix or kicking it. + - bugfix: Aheals now remove addictions and restore your mood to default. + CameronWoof: + - tweak: Lighting looks better now. I can say that because the PR wouldn't be merged + and you wouldn't be reading this if it wasn't true. + - rscadd: Ammonia and saltpetre can now be made at the biogenerator. + Commandersand: + - tweak: uplink centcomm suit doesn't have sensors + DeltaFire15: + - balance: Nar'Sie runes no longer benefit from runed floors. + Detective-Google: + - rscadd: 'the POOL. remove: boxstation dorms 7' + - bugfix: valentines candy no longer prefbreaks + - rscadd: Loudness Booster pAI program + - rscadd: Encryption Key pAI program + EmeraldSundisk: + - bugfix: Connects mining's disposal unit on Delta. + - tweak: Slight visual adjustments to the immediate affected area. + Feasel: + - balance: Buffed dissection success chances. + Ghommie: + - tweak: The anomalous honking crystal should now properly clown your mind. + - bugfix: Stopped the ellipsis question mark from being displayed twice in the examine + message for masked/unknown human mobs. + - tweak: Made the aforementioned ellipsis question mark display on flavor-text-less + masked/unknown human mobs too for consistency. + - bugfix: Stopped an APTFT exploit with spray bottles. + - bugfix: Fixed the detective revolver being quite risky to use. + - bugfix: Hair styles and undergarments are yet again free from gender restrictions. + - tweak: Clown ops will find bombananas and clown bomb beacons instead of minibombs + and bomb beacons in their infiltrator ship now. + - tweak: For safety, the syndicate shuttle minibombs and bombananas come shipped + in a box. Please don't instinctively eat any of those nanas, thank you. + - tweak: Uplink items excluded (such as mulligan, chameleon, ebow) from or exclusive + (such as cyber implants) to normal nuke ops will now be properly unavailable/available + to clown ops. + - bugfix: Fixed bananium energy sword/shield slips. + - balance: Buffed said slips to ignore no-grav/crawling/flying as well as adding + some deadly force to the e-sword. + - bugfix: Fixed the 'stache grenade anti-non-clumsy user check. + - balance: Doubled the timer for the sticky mustaches effect from the above grenade + (from 1 to 2 minutes) + - bugfix: Fixed an edge case with the chaplain armaments beacon spawning the box + in nullspace. + - tweak: The playback device's cooldown now proportionally increases with messages + longer than 60 characters (3 seconds is the default assembly cooldown). + - bugfix: Fixed space ninjas "Nothing" objective. Now you gotta steal some dandy + stuff such as corgi meat and pinpointers as a ninja too. + - bugfix: Fixed maploaded APC terminals direction. + - balance: Nerfed magnetic rifles/pistols by re(?)adding power cell requirements + for it. These firearms must be recharged after firing 2 magazines worth of projectiles + and are slightly more susceptible to EMPs. + - bugfix: Fixed the tearstache nade not properly working. + - balance: Buffed it against space helmet internals. + - tweak: Holographic fans won't display above mobs and other objects anymore. + - bugfix: Fixed paraplegics appearing as shoeless. + - bugfix: Fixed the petting element. + - bugfix: Fixed slipping. + - refactor: Refactored mob holders into an element. + - bugfix: Fixed a few minor issues with that feature. such as mismatching sprites + for certain held mobs and a slight lack of safety checks. + - rscdel: holdable mobs can't force themselves into people's hands anymore. + - bugfix: Milkies fix. + - bugfix: Fixed some mounted defibrillator issue with the altclicking functionality. + - bugfix: Fixed no-grav lavaland labor/mining shuttle areas. + - bugfix: Fixed a little issue with sleeper UI and blood types. + - bugfix: Fixing accidental nerfs to the magpistol magazine. + - bugfix: The Lavaland's Herald speech sound should only play if they are actually + speaking. + - bugfix: Nerfed cargo passive points generation from 500 to 125 creds per minute. + - bugfix: Fixed whitelisted/donor loadouts + - bugfix: Childproofs double-esword and hypereuplastic blade toys. + - balance: Some reagent holders (such as cigarettes, food) are not suitable for + reagents export anymore, while unprocessed botany crops will only net 1/3 of + the standard reagents values. + - bugfix: Export scanners now include the reagents value in the price report. + - bugfix: Fixed a little inconvenience with the character setup preview dummy having + extra unwarranted bits. + - bugfix: Stopped role restricted uplink items from being discounted despite not + being purchasable most times. + - bugfix: Missing words replacement file for the gondola mask. + - bugfix: Fixed an issue with the nearsighted prescription glasses taking over worn + eyewear. + - bugfix: Fixed AI unanchoring not properly removing the no teleport trait. My bad. + - bugfix: Fixed another issue with hering comsig. + - imageadd: Fixed dozen missing privates sprites. + - bugfix: A little fix concerning some R&D and reagents. + - bugfix: Further mob holder fixes. + - bugfix: Fixed being unable to dump a trash bag's contents directly into disposal + bins. + - bugfix: Doubled the halved flavor text maximum length. + - bugfix: Reduced tongue organ damage and tasting pH message spam. + - bugfix: Fixed agent IDs not registering the inputted name. Thanks MrPerson. + - bugfix: Fixed solar panels/trackers (de)construction being a bit wonky. + - bugfix: Fixed something about slime blood and the law of conservation of mass. + - bugfix: Fixed flypeople being emetic machine guns. + - bugfix: Fixed virology being unable to be done with synthetic blood. + - rscdel: Renamed "blaster carbine" and "blaster rifles" back to "energy gun" and + "laser gun" respectively + - bugfix: Fixed magnetic rifles & co being inconsistent with printed energy guns + and start with an empty power cell. + - imagedel: Reverted practice laser gun sprites back to their former glory. Mostly. + - bugfix: Fixed sprint buffer cost and regen being rounded down. + - balance: Nerfed the fermenting barrel export industry. + - tweak: Reagent dispensers selling price no longer takes in account the reagents + volume. It's already handled by reagents export. + - bugfix: pAIs are yet again unable to perform certain silicon interactions with + machineries yet again. + - bugfix: Fixed pAI radios inability to be toggled on/off. + ? Ghommie (original PRs by Floyd/Qustinnus, 4Dplanner, Willox, ninjanomnom, mrdoombringer, + Fikou, Fox McCloud, TheChosenEvilOne, nemvar, bobbahbrown, Time-Green, Stonebaykyle, + MrPerson, ArcaneMusic and zxaber) + : - rscadd: You can now make toolboxes out of almost any solid material in an autolathe + - rscadd: adds Knight's Armour made out of any materials + - rscadd: new ruin found in lavaland protected by dark wizards, I wonder what + they're guarding + - rscadd: You can now put a bunch more mats in the coin mint and autolathe + - rscadd: Adamantine and Mythril are now materials (Adamantine still only from + xenobio, Mythril still only from badminnery). Adamantine boosts an item's + force by 1.5, Mythril gives an item RPG statistics. + - rscdel: most custom sprites for coins have been lost + - rscadd: You can now give your ass acute radiation poisoning + - rscadd: floydmats now apply to all objs / items + - rscadd: you can now make tables and chairs out of any material + - bugfix: Fixes being able to exploit fully upgraded destructive analyzers to + multiply materials + - rscadd: An old monastery from a previously abandoned sector of space has recently + resurfaced in some regions surrounding the station. + - rscadd: Latent scans of the surrounding systems have picked up trace signs of + new, smaller cult constructs, however these signatures quickly vanished. + - rscadd: In other news, scavengers in your sector have been seen occasionally + with classically recreated maces, so autolathe firmware has been upgraded + to accommodate this. + Hatterhat: + - balance: Zombie powder is now instant when ingested, but delayed when injected + or applied through touch. + - tweak: The H.E.C.K. suit is now goliath tentacle resistant and probably better + for acid resistance. + - rscadd: The Engineering techfab can now print standard and large RCD compressed + matter cartridges. + - rscadd: The Experimental Tools node now has the Combifan projector, blocking both + temperature and atmospheric changes. + - tweak: fiddles with the seed extractor upgrade examine to make it not shit + - rscadd: Formaldehyde prevents organ decay and corpses' miasma production at 1u + in the body. + - rscadd: Epinephrine pens now contain 3u formaldehyde. This should not kill you. + - rscadd: The ships often crashed by Free Golems on Lavaland now have GPSes. They're + off, by default, but an awakening Golem could easily turn one on. + - tweak: Standard RCD ammo can now be printed from Engineering-keyed techfabs once + you hit Industrial Engineering. + - tweak: Consoleless interfaces are now default - this means unrestricted protolathes + and circuit imprinters can now be interfaced with by interacting with the machine + itself. + - bugfix: Multitools can now actually be printed from Engineering and Science protolathes/techfabs + once you unlock Basic Tools. + - rscadd: Husking (from being burned to shit) can now be reverted! 5u rezadone or + 100u synthflesh, at below 50 burn. + - balance: Turning a body into a burnt husk now takes more effort. 300 burn's worth + of effort. + - balance: Buckshot individual pellet damage up from 10 to 12.5. Still firing 6 + pellets. + - rscadd: Preservahyde! Made with water, bromine, and formaldehyde, it doesn't decay + into histamine. Instead, it just prevents your organs from rotting into nothing. + - balance: You can now purify eldritch longswords with a bible. This creates purified + longswords, which do not have anti-magic properties, but are still good for + swinging at cultists. + - rscadd: Extend votes! Ported from Hyper, ported from AUstation. + - bugfix: mechs with stock parts now have icons + - balance: Pie reagent transfer now requires an uncovered mouth. + - bugfix: Biogenerators can now actually generate universal enzyme. + - bugfix: The Basic Tools node now unlocks the multitool for printing on Engineering + and Science fabricators. + - rscadd: The Ash Walkers' nest on Lavaland now starts with three bowyery slabs. + - rscadd: You can now welder-harden arrows. It might take longer. + - balance: Silkstring's costs adjusted for bows and whatnot. + - spellcheck: Grammar adjusted on a lot of things relating to bows. + - bugfix: Pipe bows' bowstring doesn't look like it replicated itself upon draw. + IHOPMommyLich: + - tweak: Changed the multiplicative_slowdown of Stimulants from -1 to -0.5 + IronEleven: + - balance: Minor stat changes to Choking, Spontaneous Combustion, Autophagocytosis + Necrosis, Hallucigen, Narcolepsy, Shivering, and Vomiting symptoms. + KathrinBailey: + - bugfix: Missing turf_decals in Cargo Office. + - bugfix: Turns on the docking beacons on Box. + - bugfix: Fixes Starboard Quarter maint room being spaced. It was never intended + to be like how it was. + - bugfix: The aforementioned maint room not having stuff in it. + - bugfix: varedited photocopier sometimes not opening any UI. + - bugfix: Atmos differences in Starboard Quarter maint. + - bugfix: Atmos differences in destroyed shuttle/EVA bridge. Plating replaced with + airless plating. + - bugfix: Rotates AI satellite computers. These have probably been like this since + computers had the old sprites and no directional ones. You shouldn't sit at + a chair to operate a sideways computer. + KrabSpider: + - imageadd: The Van Dyke is no longer Fu Manchu. + - imagedel: Gets rid of a Fu Manchu imitation. + Kraseo: + - bugfix: You can no longer pull before wearing boxing gloves to bypass the grab + check. + - bugfix: Nightmares no longer delete entire guns from existence for merely having + a light on them. + Linzolle: + - bugfix: Bows now will not delete an arrow if it cant fire it. + - bugfix: bows now like and respect sprite changes + MalricB: + - rscadd: '"Shaggy" sprite from virgo' + - rscadd: '"shaggy" option in the character customization' + MrJWhit: + - rscdel: Removed meteor defense tech node + - tweak: TEG + Naksu: + - bugfix: Odysseus chem synthesizing now works again. + Owai-Seek: + - rscadd: Burger, Cargo Packaging, Dirty Magazine, Air Pump, and Scrubber crates. + - rscdel: Duplicate Crate, Festive Wrapping Paper Crate, Contraband Monkey Meat + Crate + - tweak: Gave Seed Crate Ambrosia Seed, gave Biker Gang Crate Spraypaint. + - tweak: Organised some crates with sub-categories. Also, moved all vendor refills + to a new tab. + - tweak: Moved Grill to Service Tab + - bugfix: Engineering Hardsuit Access + - tweak: Blood Crate now has all of the current blood types. + - tweak: Birthday Cake Recipe is now the same as TG. + - tweak: Added Soy Sauce and BBQ Packets to Dinnerware Vendor. + - tweak: Added nurse outfit, nurse cap, and mailman hat to loadout. + - tweak: Changed the name of scrubs to blue, green, and purple scrubs. + - rscadd: Bacon and Eggs food item. Delicious! Added a Lemony Poppy Seed Muffin. + - tweak: Snack Vendor has Chocolates, Tortilla Chips, and a Marshmallow Box + - balance: Mops can now be printed at service lathe once tools are researched. + - balance: Biobags can hold most organic limbs/organs, but not brains, implants, + or cybernetics. + - balance: Trash Bag can now hold limbs (but not heads.) + - balance: Most snack vendor items reduced by 1. + - bugfix: Trash Cans are now actually craftable, and only require metal instead + of plastic. + - imageadd: Bacon and Eggs, Drying Agent Bottle. + - imageadd: Mugs now show reagent colors of contained reagents. Thanks Seris! + - tweak: Reorganized all food recipes, (hopefully) making things easier to find. + - balance: Trays now have a whitelist, allowing them to pick up normal sized foods, + bowls, glassware, booze, ect. + - bugfix: Easter foods are no longer their own Misc Food Category on the top of + the menu. + - spellcheck: fixed a few typos/capitalization consistency. + - tweak: Mexican Foods are their own Subcategory. + - tweak: Donuts are their own Subcategory + - tweak: Moved Sweets from Misc Food in with Pies. Renamed to Pies & Sweets + - rscadd: BROOM + - tweak: Janitor Vendor now has gear for two Janitors. + PersianXerxes: + - rscadd: 'SMES and PACMAN attached to gulag Security to power electrified windows + remove: Removed Sec vendor from gulag Security' + - tweak: Separation of gulag and public mining + - rscadd: Better clarified the comment explaining the contraband tag. + - tweak: Cargo nuclear defusal kits now require an emag'd drop pod console to be + purchased. + - rscadd: Added Kilo Station + - tweak: Adjusts Kilo Station to be more in line with Citadel standards + - imageadd: Added area icons required to make Kilo Station editable on Citadel code + - code_imp: Fixed a reagent container on Kilo pointing to a nonexistent reagent + - config: Adds Kilo Station to the maps config file, does not fix Meta Station's + population requirement + Psody-Mordheim: + - rscadd: You can now make synth-flesh with synthetic blood. + - rscadd: You can now make synthetic blood via mixing saline glucose, iron, stable + plasma and heating it to 350 temp. + - rscadd: You can mix synthetic blood and cryoxadone to create synth-meat in addition + to normal blood. + - rscadd: Disfiguration Symptom. + - rscadd: Deoxyribonucleic Acid Saboteur Symptom. + - rscadd: Polyvitiligo Symptom. + - rscdel: Revitiligo Symptom. + - rscdel: Vitiligo Symptom. + Putnam3145: + - admin: Added logging to various consent things. + - rscadd: Lots of new traitor objectives + - bugfix: gender change potion now respects prefs + - bugfix: Hypno prefs work better. + - admin: Panic bunker is now round-to-round persistent + - tweak: Relief valve now has a TGUI-next UI + - bugfix: Atmos reaction priority works now. + - rscadd: map voting doesn't suck anymore + - bugfix: Dynamic now defaults to "classic" storyteller instead of just failing + if the vote didn't choose a storyteller. + - bugfix: antag quirk blacklisting works now + - tweak: default should be... default + - balance: all supermatter damage is now hardcapped + - tweak: Supermatter sabotage objective no longer shows up with no supermatter + - bugfix: Mining vendors no longer fail and eat your points iff you have precisely + enough points to pay for an item + - tweak: Licking pref + - bugfix: Fixed IRV. + - bugfix: Runtime if nobody has a chaos pref set + - bugfix: IRV fixed... again + - bugfix: temporary flavor text can now be of reasonable length + - balance: Shooting the supermatter now adds to the supermatter's power. CO2 setups + beware! + - rscadd: Logging for renaming + Raiq & Linzolle: + - rscadd: Bone bow - Ash walkers crafting , bone arrows - Ash walkers crafting, + silk string used in bow crafting, harden arrows - Ash walkers crafting, ash + walker only crafting book, basic pipe bow, and bow & arrow selling. Quivers + for ash walkers as well, just to hold some arrows well out on the hunt! + Seris02: + - tweak: tweaked the way the SM works + - rscadd: custom reagent pie smite + - rscadd: hijack implant + - code_imp: changed mentions of the issilion proc to hasSiliconAccessInArea based + on what the proc is used for + - rscadd: recipe for mammal mutation toxin + - rscadd: polychromic winter coat + - rscadd: thief's gloves + - rscadd: crushing magboots + - bugfix: golden plastitanium toolbox being actually plastitanuium + - bugfix: character slot amount + - balance: rebalanced rising bass + - bugfix: string highlighting whitespace + - bugfix: glitch with PKA + - bugfix: meteor hallucinations (again) + - rscadd: Added naked hallucination + - rscadd: crowbarring manifests off crates + - balance: makes RCDs cost a better amount + - bugfix: apc icons + - rscadd: rest hotkey + - rscadd: hsl instead of sum of rgb for spraycan lum check + - balance: bloodcrawl's cooldown + ShadeAware: + - rscadd: Craftable Switchblades, a weaker subtype of normal switchblades that can + be crafted using a Kitchen Knife, Modular Receiver, Rifle Stock and some Cable + Coil. Requires a welder to complete. + - bugfix: You can now actually craft Switchblades. + - bugfix: Switchblades no longer regain their old Makeshift sprite after retracting + if you've made them fancy with Silver. + - rscadd: 'The Captain''s Wardrobe, a special one-of-a-kind and ID-locked wardrobe + for the Captain that holds all of their snowflakey gear. Remove: Snowflake gear + from the Captain''s locker, since now it has its own vendor.' + Tlaltecuhtli, ported by Hatterhat: + - balance: Ripley, Firefighter, Odysseus and H.O.N.K. mechs now also use scanning + modules and capacitors on construction. This means that they also gain reduced + power consumption and EMP protection from higher-tier stock parts. + Trilbyspaceclone: + - bugfix: Vault hallway door being all access + - server: Updates change logs + - rscadd: Crafts are now made of plasteel and can be made with 5 sheets + - rscadd: Takes away NT's connections to the Aliens that run the Syndicats + - rscadd: Carps have evolved to take more damage + - rscadd: restock crates for each vender + - rscadd: restock units for all station venders + - bugfix: Sec-vender missing icon + - bugfix: 'Box station captain office issues maping: Gulag on box can now be accessed' + - rscadd: Alien stools and chairs + - tweak: Bone armor/Dagger are now crafting from bones rather then crafting menu + - rscadd: Firing pins that only works when not on station + - rscadd: Medical locked crates + - balance: Russian gear crates have less gear in some cases but all will cost more + - bugfix: Medical locked crates that were not locked + - spellcheck: Crates that were out of date are corrected + - balance: Heads of staff have been better screened by NT before being promoted + - balance: The suit full of spiders also known as a ninja now is a tactical turtleneck + - balance: The Wiznerds now dont have suits set to max + - tweak: Meat wheat no longer has blood + - bugfix: Flat guns can no longer be suppressed + - tweak: replaced stickmans .45 caliber with 10mm, for consistency. + - tweak: Meatwheat and Oats now have rarity + - balance: Oats now have at lest 50% more flour in them + - balance: BDM now uses a PKA rather then a normal KA + - tweak: Gang tower shield is no longer transparent + - tweak: Cosmic winter coat now glows like the bedsheet, and holds normal winter + coat gear + - server: Express console is now logging what it buys, like the normal console should + - bugfix: Crabs are now made of crab meat. + - bugfix: AIs now understand the old ways of drunken dwarfs + - balance: Removes some armored Russian hats from box station round start + - bugfix: Doner items spawning + - balance: Engi/Sec Trek suit no longer has 10% melee protection + - bugfix: IPC hearts are now made of robomeat and roboblood thats emp proof. Heals + and is all and all just like an normal heart + - imageadd: All robotic organs now have an animation. + - imageadd: IPC's now organs now look like robotic ones, even tho thats not the + case game wise + - imageadd: Added a new bee themed bar sign + - imageadd: Makes plywood chair not look as bad. + - bugfix: corndog sprite being miss-spelled + - bugfix: Ash from land of lava now is useable for sandstone + - bugfix: Peach cake slices are no long made by mimes + Tupinambis: + - tweak: the portion of laws that require harm prevention by silicons has been removed. + - server: silicon_laws.txt config file is required to be modified for full implementation. + - bugfix: masks no longer improperly stick out of helmets when they should be hidden. + - bugfix: Status Displays should now update correctly. + - balance: stunbatons now take 4 hits to inflict hard crit, up from 3. + - balance: stunbatons no longer disarm targets. + Yakumo Chen: + - rscadd: Rings for your fingers! + - rscadd: New cargo crates and loadout options to bling your rings! + YakumoChen: + - tweak: Observe is back in the OOC tab + - imageadd: Rings look nicer. Sprites used from RP. + - imageadd: Ring on-hands. Diamond rings sparkle! + - tweak: You can now propose using a diamond ring in your hand. + - tweak: Legion skulls behave like bees!!!! + Zellular: + - imageadd: Movement state for pupdozer and its decals + - tweak: Tweaked the movement state for the pupdozer's eyes + ancientpower: + - bugfix: Fixes an error in pH strips' feedback message. + - rscadd: Ported drink sliding from /vg/station. + - bugfix: Fixes color mismatching with the "genitals use skintone" preference. + - imageadd: Bunny ear style for humanoid species. + - tweak: Ghosts are now literate. + bunny232: + - tweak: Changes the simple animal sentience event from the xenomorph preference + to sentience potion preference. + coiax: + - rscadd: Admin and event only pair pinpointers! They come in a box of two, and + each pinpointer will always point at its corresponding pair. Aww. + deathride58: + - bugfix: Spacemen no longer run at lightspeed on local servers. + kappa-sama: + - bugfix: the plant dudes can actually make plant disks now + keronshb: + - rscadd: Added repairable turrets + - rscadd: Adds Tiny Fans to the pirate ship + - tweak: changes some reinforced windows to plastinanium pirate windows + - tweak: made the pirate shuttle + turrets bomb resistant + - tweak: made most pirate machines + consoles indestructible + - tweak: increased pirate turret health + - rscadd: Adds the CogChamp drink and Sprite + - rscadd: Added burn and knockback to stunhand during HALOS on cult. + - balance: Added burn and knockback to stunhand during HALOS on cult. + - bugfix: fixed accelerated regeneration nanites + - bugfix: fixed mechanical repair nanites + - bugfix: fixed bio reconstruction nanites + kevinz000: + - refactor: Custom snowflake plushies are now in config rather than code. + - balance: Abductor mindsnapping (aka abductee objectives) can now be "cured" with + brain surgery. + - rscadd: Shuttle hijacking has been completely reworked. Alt-click the shuttle + as a hijack-capable mind (so traitors, and especially traitors with hijack) + to begin or continue a hacking process. + - refactor: 'A good amount of the blood RGB rework was cleaned up/reverted, with + some notable gameplay changes including: Gibs and blood not having max blood + by default (no more easy rampages, cultists), infinite gib streaking, etc etc.' + - balance: meteor waves are now directional and announces the direction on the command + report. + - rscadd: CTF CLAYMORES + - balance: shoves buffed, now shoving into a wall twice rapidly will also disarm + their weapon. + - balance: traitor+bro gamemode minimum population set to 25 until there can be + more in depth configuration systems for gamemodes. + - bugfix: no more bluespace skittish locker diving, + - rscadd: moths now have unique laughs and can *chitter. + - tweak: nuke explosion is now full dev radius for anti lag purposes + - balance: Gangs can now only tag with a gang uplink bought spraycan. + - tweak: dueling pistol accesses have been changed to be more accessible. + - bugfix: mechs no longer have admin logs flooding into IC control console log viewing + - refactor: Guncode and energy guns have been refactored a bit. + - rscadd: You can now combat mode ight click on an energy gun to attempt to switch + firing modes. This only works on guns without right click functions overridden. + - balance: shoes can now fit magpistols again. + - balance: Projectiles now always hit chest if targeting chest, snipers have 100% + targeting zone accuracy. All other cases are unchanged. + - tweak: The lawyer's PDA cartridge has been rebranded to something more accurate + to its true nature. + - refactor: Refactored ghostreading/etc + - balance: Cyborgization will now de-gang people, even gangheads. + - bugfix: reactive repulse armor now has an item limit + - bugfix: beam rifle runtime fix during aiming_beam + - bugfix: 'fail2topic runtime fix: taking out an ip while incrementing index resulted + in accessing the next-next entry instead of the next and results in out of bound + errors.' + - rscadd: gravity gun repulse and chaos now work in all angles, rather than just + basic cardinals and diagonals. fun. + - balance: Public autolathes can no longer be hacked. + - bugfix: Energy weapons now once again have their lens in contents. + - bugfix: pais are no longer muted for literally a whole hour on emp. + - rscadd: auto profiler subsystem from tg + - bugfix: Brig cells now are more accurate by using timeofday instead of realtime + - bugfix: Cryo now actually transfers reagents at tier 4 on enter rather than every + 80 machine fire()-process()s regardless of if it was "reset" by open/close. + - rscadd: cmo now gets advanced surgery drapes that techweb-sync for advanced surgeries + without an operating console. + - bugfix: ctf claymores now actually spawn (and fit). + - bugfix: STOP_PROCESSING now removes from currentrun to prevent another process + cycle from happening where it shouldn't. + - balance: hand teleporters now require 30 deciseconds of still movement by the + user to dispel portals. there's a beam effect too. + - balance: Sort of a bugfix but cult blood magic and all guns now respect stamina + softcrit. + - balance: Organ healing rate doubled. Organ decay rate halved to match its define + (15 minutes for full decay, so at around 8-10 minutes it'll be really fucked). + - tweak: Storage now caches max screen size and only stores when being opened by + a non ghost, meaning ghosts will no longer distort living player screens when + viewing storage. + - balance: Stunbatons changed yet again. + - tweak: the game's built in autoclicker aka CanMobAutoclick no longer triggers + client/Click()'s anti clickspam guard. + - balance: pais can no longer bodyblock bullets + - balance: pai radio short changed to 3 minutes down from 5 + - balance: pais are no longer fulltile click opacity. + - refactor: vampire "immortal haste" has been reworked to be more reliable and consistent. + - tweak: hand teles use a less atrocious beam + necromanceranne: + - rscadd: Ebows now disarm people hit by them. + - rscadd: Ebows now do 60 stamina damage on hit. + - rscdel: Ebows no longer inflict drowsiness + - balance: Miniature ebows do 15 toxin damage, up from 8. + - balance: Ebows have considerably shorter knockdowns. + - balance: Ebows now make you slur rather than stutter. + - balance: Large ebows are now heavy and bulky. + - rscdel: You can no longer order spinfusors or their ammo from cargo. + - rscdel: Removed the formal security officer jacket from the secdrobe + - tweak: formal security jackets are now armor vests + - rscdel: Bullets causing bleed rates equal to unmitigated damage through all forms + of defense. + - balance: 'Reverted #9092, crew mecha no longer spawn with tracking beacons.' + - balance: '[Port] Mecha ballistics weapons now require ammo created from an Exosuit + Fabricator or the Security Protolathe, though they will start with a full magazine + and in most cases enough for one full reload. Reloading these weapons no longer + chunks your power cell. Clown (and mime) mecha equipment have not changed.' + - balance: '[Port] The SRM-8 Missile Launcher has been replaced with the BRM-6 Breaching + Missile Launcher in techwebs (Nukie Mauler remains equipped with the SRM-8).' + - balance: '[Port] Both Missile Launchers and the Clusterbang Launcher do not have + an ammo cache, and cannot be reloaded by the pilot. Once the initial loaded + ammo has been spent, you can use the appropriate ammo box to load the weapon + directly.' + - rscadd: '[Port] Utility mechs that have a clamp equipped can load ammo from their + own cargo hold into other mechs.' + - rscadd: '[Port] Nuke Ops can purchase spare ammo duffel bags for their mecha weapons, + should they run low.' + - bugfix: Literally unclickability with a cham projector + nemvar: + - code_imp: Slight changes the self-repair borg module. It no longer references + the borg that owns it. + - bugfix: Trash from food now gets generated at the location of the food item, instead + of in the hands of the eater. + - code_imp: Changed mob biotypes from lists to flags. + r4d6: + - rscadd: Added a dwarf language + - rscadd: Added more engines + - tweak: RPD subcategories and preview icons reorganized. + - rscadd: RPD now starts with painting turned off, hitting pipes with build and + no paint will target the turf underneath instead. Bye bye turf pixelhunting. + - config: Made dwarves into a roundstart races + - tweak: Meteor Timer back to 3-5 minutes + - bugfix: Mining no longer lead to spess + - rscadd: Added Plasteel Pickaxe + - rscadd: Added Titanium Pickaxe + - bugfix: fixed a missing tile + tralezab, bandit, Skoglol: + - rscadd: The mime's PDA messages are silent now! + - rscadd: 30 new emoji have been added. Mime buff, mime now OP. diff --git a/html/changelogs/AutoChangeLog-pr-10277.yml b/html/changelogs/AutoChangeLog-pr-10277.yml deleted file mode 100644 index d2c873d010..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10277.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - refactor: "Custom snowflake plushies are now in config rather than code." diff --git a/html/changelogs/AutoChangeLog-pr-10295.yml b/html/changelogs/AutoChangeLog-pr-10295.yml deleted file mode 100644 index a776275e6e..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10295.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - balance: "Abductor mindsnapping (aka abductee objectives) can now be \"cured\" with brain surgery." diff --git a/html/changelogs/AutoChangeLog-pr-10352.yml b/html/changelogs/AutoChangeLog-pr-10352.yml deleted file mode 100644 index 7879bc1de1..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10352.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Seris02" -delete-after: True -changes: - - tweak: "tweaked the way the SM works" diff --git a/html/changelogs/AutoChangeLog-pr-10414.yml b/html/changelogs/AutoChangeLog-pr-10414.yml deleted file mode 100644 index 25750a889d..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10414.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "CameronWoof" -delete-after: True -changes: - - tweak: "Lighting looks better now. I can say that because the PR wouldn't be merged and you wouldn't be reading this if it wasn't true." diff --git a/html/changelogs/AutoChangeLog-pr-10559.yml b/html/changelogs/AutoChangeLog-pr-10559.yml deleted file mode 100644 index a48fc6c289..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10559.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Seris02" -delete-after: True -changes: - - rscadd: "custom reagent pie smite" diff --git a/html/changelogs/AutoChangeLog-pr-10575.yml b/html/changelogs/AutoChangeLog-pr-10575.yml deleted file mode 100644 index c81ed76026..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10575.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Arturlang" -delete-after: True -changes: - - rscadd: "Replaces a lot of ingame UIs with TGUI next, increasing performance drastically." diff --git a/html/changelogs/AutoChangeLog-pr-10583.yml b/html/changelogs/AutoChangeLog-pr-10583.yml deleted file mode 100644 index e743fca877..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10583.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Putnam3145" -delete-after: True -changes: - - admin: "Added logging to various consent things." diff --git a/html/changelogs/AutoChangeLog-pr-10590.yml b/html/changelogs/AutoChangeLog-pr-10590.yml deleted file mode 100644 index e59c8decf0..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10590.yml +++ /dev/null @@ -1,11 +0,0 @@ -author: "KathrinBailey" -delete-after: True -changes: - - bugfix: "Missing turf_decals in Cargo Office." - - bugfix: "Turns on the docking beacons on Box." - - bugfix: "Fixes Starboard Quarter maint room being spaced. It was never intended to be like how it was." - - bugfix: "The aforementioned maint room not having stuff in it." - - bugfix: "varedited photocopier sometimes not opening any UI." - - bugfix: "Atmos differences in Starboard Quarter maint." - - bugfix: "Atmos differences in destroyed shuttle/EVA bridge. Plating replaced with airless plating." - - bugfix: "Rotates AI satellite computers. These have probably been like this since computers had the old sprites and no directional ones. You shouldn't sit at a chair to operate a sideways computer." diff --git a/html/changelogs/AutoChangeLog-pr-10596.yml b/html/changelogs/AutoChangeLog-pr-10596.yml deleted file mode 100644 index 7f56a256a0..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10596.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Seris02" -delete-after: True -changes: - - rscadd: "hijack implant" - - code_imp: "changed mentions of the issilion proc to hasSiliconAccessInArea based on what the proc is used for" diff --git a/html/changelogs/AutoChangeLog-pr-10644.yml b/html/changelogs/AutoChangeLog-pr-10644.yml deleted file mode 100644 index b7544495d7..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10644.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ShadeAware" -delete-after: True -changes: - - rscadd: "Craftable Switchblades, a weaker subtype of normal switchblades that can be crafted using a Kitchen Knife, Modular Receiver, Rifle Stock and some Cable Coil. Requires a welder to complete." diff --git a/html/changelogs/AutoChangeLog-pr-10700.yml b/html/changelogs/AutoChangeLog-pr-10700.yml deleted file mode 100644 index 296ebe4d99..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10700.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - tweak: "The anomalous honking crystal should now properly clown your mind." diff --git a/html/changelogs/AutoChangeLog-pr-10704.yml b/html/changelogs/AutoChangeLog-pr-10704.yml deleted file mode 100644 index 1acd46b51f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10704.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "nemvar" -delete-after: True -changes: - - code_imp: "Slight changes the self-repair borg module. It no longer references the borg that owns it." diff --git a/html/changelogs/AutoChangeLog-pr-10705.yml b/html/changelogs/AutoChangeLog-pr-10705.yml deleted file mode 100644 index f1f025d616..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10705.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - refactor: "A good amount of the blood RGB rework was cleaned up/reverted, with some notable gameplay changes including: Gibs and blood not having max blood by default (no more easy rampages, cultists), infinite gib streaking, etc etc." diff --git a/html/changelogs/AutoChangeLog-pr-10706.yml b/html/changelogs/AutoChangeLog-pr-10706.yml deleted file mode 100644 index 8bf1cd449c..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10706.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Stopped the ellipsis question mark from being displayed twice in the examine message for masked/unknown human mobs." - - tweak: "Made the aforementioned ellipsis question mark display on flavor-text-less masked/unknown human mobs too for consistency." diff --git a/html/changelogs/AutoChangeLog-pr-10709.yml b/html/changelogs/AutoChangeLog-pr-10709.yml deleted file mode 100644 index 8c9d74c5f1..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10709.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Seris02" -delete-after: True -changes: - - rscadd: "recipe for mammal mutation toxin" diff --git a/html/changelogs/AutoChangeLog-pr-10728.yml b/html/changelogs/AutoChangeLog-pr-10728.yml deleted file mode 100644 index 9023844565..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10728.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - balance: "meteor waves are now directional and announces the direction on the command report." diff --git a/html/changelogs/AutoChangeLog-pr-10731.yml b/html/changelogs/AutoChangeLog-pr-10731.yml deleted file mode 100644 index 0da6f3c483..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10731.yml +++ /dev/null @@ -1,10 +0,0 @@ -author: "necromanceranne" -delete-after: True -changes: - - rscadd: "Ebows now disarm people hit by them." - - rscadd: "Ebows now do 60 stamina damage on hit." - - rscdel: "Ebows no longer inflict drowsiness" - - balance: "Miniature ebows do 15 toxin damage, up from 8." - - balance: "Ebows have considerably shorter knockdowns." - - balance: "Ebows now make you slur rather than stutter." - - balance: "Large ebows are now heavy and bulky." diff --git a/html/changelogs/AutoChangeLog-pr-10733.yml b/html/changelogs/AutoChangeLog-pr-10733.yml deleted file mode 100644 index 33e2ee216c..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10733.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Hatterhat" -delete-after: True -changes: - - balance: "Zombie powder is now instant when ingested, but delayed when injected or applied through touch." diff --git a/html/changelogs/AutoChangeLog-pr-10737.yml b/html/changelogs/AutoChangeLog-pr-10737.yml deleted file mode 100644 index fa4023c148..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10737.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Stopped an APTFT exploit with spray bottles." diff --git a/html/changelogs/AutoChangeLog-pr-10739.yml b/html/changelogs/AutoChangeLog-pr-10739.yml deleted file mode 100644 index 8212e71353..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10739.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "r4d6" -delete-after: True -changes: - - rscadd: "Added a dwarf language" diff --git a/html/changelogs/AutoChangeLog-pr-10742.yml b/html/changelogs/AutoChangeLog-pr-10742.yml deleted file mode 100644 index ece862d112..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10742.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixed the detective revolver being quite risky to use." diff --git a/html/changelogs/AutoChangeLog-pr-10743.yml b/html/changelogs/AutoChangeLog-pr-10743.yml deleted file mode 100644 index d9775f7bc3..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10743.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "necromanceranne" -delete-after: True -changes: - - rscdel: "You can no longer order spinfusors or their ammo from cargo." diff --git a/html/changelogs/AutoChangeLog-pr-10744.yml b/html/changelogs/AutoChangeLog-pr-10744.yml deleted file mode 100644 index 168619226a..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10744.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "r4d6" -delete-after: True -changes: - - rscadd: "Added more engines" diff --git a/html/changelogs/AutoChangeLog-pr-10746.yml b/html/changelogs/AutoChangeLog-pr-10746.yml deleted file mode 100644 index 232c7a26b9..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10746.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - rscadd: "CTF CLAYMORES" diff --git a/html/changelogs/AutoChangeLog-pr-10747.yml b/html/changelogs/AutoChangeLog-pr-10747.yml deleted file mode 100644 index 54ca25e12a..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10747.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - balance: "shoves buffed, now shoving into a wall twice rapidly will also disarm their weapon." diff --git a/html/changelogs/AutoChangeLog-pr-10749.yml b/html/changelogs/AutoChangeLog-pr-10749.yml deleted file mode 100644 index a3ed5989d1..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10749.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "AnturK ported by kevinz000" -delete-after: True -changes: - - rscadd: "Dueling pistols have been added." diff --git a/html/changelogs/AutoChangeLog-pr-10751.yml b/html/changelogs/AutoChangeLog-pr-10751.yml deleted file mode 100644 index c5b54bd4ed..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10751.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - balance: "traitor+bro gamemode minimum population set to 25 until there can be more in depth configuration systems for gamemodes." diff --git a/html/changelogs/AutoChangeLog-pr-10752.yml b/html/changelogs/AutoChangeLog-pr-10752.yml deleted file mode 100644 index 9bb50f1da1..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10752.yml +++ /dev/null @@ -1,9 +0,0 @@ -author: "Owai-Seek" -delete-after: True -changes: - - rscadd: "Burger, Cargo Packaging, Dirty Magazine, Air Pump, and Scrubber crates." - - rscdel: "Duplicate Crate, Festive Wrapping Paper Crate, Contraband Monkey Meat Crate" - - tweak: "Gave Seed Crate Ambrosia Seed, gave Biker Gang Crate Spraypaint." - - tweak: "Organised some crates with sub-categories. Also, moved all vendor refills to a new tab." - - tweak: "Moved Grill to Service Tab" - - bugfix: "Engineering Hardsuit Access" diff --git a/html/changelogs/AutoChangeLog-pr-10753.yml b/html/changelogs/AutoChangeLog-pr-10753.yml deleted file mode 100644 index c1b3615c3d..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10753.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Trilbyspaceclone" -delete-after: True -changes: - - server: "Updates change logs" diff --git a/html/changelogs/AutoChangeLog-pr-10754.yml b/html/changelogs/AutoChangeLog-pr-10754.yml deleted file mode 100644 index 0537347443..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10754.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "MalricB" -delete-after: True -changes: - - rscadd: "\"Shaggy\" sprite from virgo" - - rscadd: "\"shaggy\" option in the character customization" diff --git a/html/changelogs/AutoChangeLog-pr-10761.yml b/html/changelogs/AutoChangeLog-pr-10761.yml deleted file mode 100644 index 5a5b7281ef..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10761.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Putnam3145" -delete-after: True -changes: - - bugfix: "gender change potion now respects prefs" diff --git a/html/changelogs/AutoChangeLog-pr-10764.yml b/html/changelogs/AutoChangeLog-pr-10764.yml deleted file mode 100644 index 25dfebd5fb..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10764.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "deathride58" -delete-after: True -changes: - - bugfix: "Spacemen no longer run at lightspeed on local servers." diff --git a/html/changelogs/AutoChangeLog-pr-10765.yml b/html/changelogs/AutoChangeLog-pr-10765.yml deleted file mode 100644 index 975a3ac5c5..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10765.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - bugfix: "no more bluespace skittish locker diving," diff --git a/html/changelogs/AutoChangeLog-pr-10768.yml b/html/changelogs/AutoChangeLog-pr-10768.yml deleted file mode 100644 index 0a07505b5b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10768.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - rscadd: "moths now have unique laughs and can *chitter." diff --git a/html/changelogs/AutoChangeLog-pr-10774.yml b/html/changelogs/AutoChangeLog-pr-10774.yml deleted file mode 100644 index f596bdcddb..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10774.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - tweak: "nuke explosion is now full dev radius for anti lag purposes" diff --git a/html/changelogs/AutoChangeLog-pr-10776.yml b/html/changelogs/AutoChangeLog-pr-10776.yml deleted file mode 100644 index cd95cb49d4..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10776.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Hatterhat" -delete-after: True -changes: - - tweak: "The H.E.C.K. suit is now goliath tentacle resistant and probably better for acid resistance." diff --git a/html/changelogs/AutoChangeLog-pr-10777.yml b/html/changelogs/AutoChangeLog-pr-10777.yml deleted file mode 100644 index 76ce4000d8..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10777.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - balance: "Gangs can now only tag with a gang uplink bought spraycan." diff --git a/html/changelogs/AutoChangeLog-pr-10781.yml b/html/changelogs/AutoChangeLog-pr-10781.yml deleted file mode 100644 index cd3474adca..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10781.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "r4d6" -delete-after: True -changes: - - tweak: "RPD subcategories and preview icons reorganized." - - rscadd: "RPD now starts with painting turned off, hitting pipes with build and no paint will target the turf underneath instead. Bye bye turf pixelhunting." diff --git a/html/changelogs/AutoChangeLog-pr-10782.yml b/html/changelogs/AutoChangeLog-pr-10782.yml deleted file mode 100644 index f66e75a113..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10782.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - tweak: "dueling pistol accesses have been changed to be more accessible." diff --git a/html/changelogs/AutoChangeLog-pr-10784.yml b/html/changelogs/AutoChangeLog-pr-10784.yml deleted file mode 100644 index 0e5cfc8740..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10784.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Seris02" -delete-after: True -changes: - - rscadd: "polychromic winter coat" diff --git a/html/changelogs/AutoChangeLog-pr-10786.yml b/html/changelogs/AutoChangeLog-pr-10786.yml deleted file mode 100644 index 7e758122a2..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10786.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Commandersand" -delete-after: True -changes: - - tweak: "uplink centcomm suit doesn't have sensors" diff --git a/html/changelogs/AutoChangeLog-pr-10787.yml b/html/changelogs/AutoChangeLog-pr-10787.yml deleted file mode 100644 index ee221b69f3..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10787.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Seris02" -delete-after: True -changes: - - rscadd: "thief's gloves" diff --git a/html/changelogs/AutoChangeLog-pr-10788.yml b/html/changelogs/AutoChangeLog-pr-10788.yml deleted file mode 100644 index 344f6764d8..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10788.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Seris02" -delete-after: True -changes: - - rscadd: "crushing magboots" diff --git a/html/changelogs/AutoChangeLog-pr-10790.yml b/html/changelogs/AutoChangeLog-pr-10790.yml deleted file mode 100644 index 43f949ce16..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10790.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Hair styles and undergarments are yet again free from gender restrictions." diff --git a/html/changelogs/AutoChangeLog-pr-10791.yml b/html/changelogs/AutoChangeLog-pr-10791.yml deleted file mode 100644 index 3d27f84022..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10791.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Arturlang" -delete-after: True -changes: - - rscadd: "Each night for bloodsuckers will last longer due to the sun dimming." - - tweak: "You cant level up for free, now you have to pay blood for power." - - balance: "Bloodsuckers are no longer as resistant to hard stuns and regenerate less stamina. and a lot of their cooldowns are a lot higher." diff --git a/html/changelogs/AutoChangeLog-pr-10792.yml b/html/changelogs/AutoChangeLog-pr-10792.yml deleted file mode 100644 index 78c86a838a..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10792.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Naksu" -delete-after: True -changes: - - bugfix: "Odysseus chem synthesizing now works again." diff --git a/html/changelogs/AutoChangeLog-pr-10793.yml b/html/changelogs/AutoChangeLog-pr-10793.yml deleted file mode 100644 index 21cfc5d539..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10793.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Tupinambis" -delete-after: True -changes: - - bugfix: "masks no longer improperly stick out of helmets when they should be hidden." diff --git a/html/changelogs/AutoChangeLog-pr-10795.yml b/html/changelogs/AutoChangeLog-pr-10795.yml deleted file mode 100644 index b929aad0a5..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10795.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ShadeAware" -delete-after: True -changes: - - bugfix: "You can now actually craft Switchblades." diff --git a/html/changelogs/AutoChangeLog-pr-10796.yml b/html/changelogs/AutoChangeLog-pr-10796.yml deleted file mode 100644 index 238fc3a8c7..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10796.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Tupinambis" -delete-after: True -changes: - - bugfix: "Status Displays should now update correctly." diff --git a/html/changelogs/AutoChangeLog-pr-10798.yml b/html/changelogs/AutoChangeLog-pr-10798.yml deleted file mode 100644 index 637343c7b6..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10798.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "necromanceranne" -delete-after: True -changes: - - rscdel: "Removed the formal security officer jacket from the secdrobe" - - tweak: "formal security jackets are now armor vests" diff --git a/html/changelogs/AutoChangeLog-pr-10799.yml b/html/changelogs/AutoChangeLog-pr-10799.yml deleted file mode 100644 index 2d49bdc63f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10799.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Seris02" -delete-after: True -changes: - - bugfix: "golden plastitanium toolbox being actually plastitanuium" diff --git a/html/changelogs/AutoChangeLog-pr-10800.yml b/html/changelogs/AutoChangeLog-pr-10800.yml deleted file mode 100644 index 3486e47b1f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10800.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Seris02" -delete-after: True -changes: - - bugfix: "character slot amount" diff --git a/html/changelogs/AutoChangeLog-pr-10801.yml b/html/changelogs/AutoChangeLog-pr-10801.yml deleted file mode 100644 index 36db98e9e1..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10801.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Seris02" -delete-after: True -changes: - - balance: "rebalanced rising bass" diff --git a/html/changelogs/AutoChangeLog-pr-10803.yml b/html/changelogs/AutoChangeLog-pr-10803.yml deleted file mode 100644 index bc50fcc700..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10803.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Seris02" -delete-after: True -changes: - - bugfix: "string highlighting whitespace" diff --git a/html/changelogs/AutoChangeLog-pr-10808.yml b/html/changelogs/AutoChangeLog-pr-10808.yml deleted file mode 100644 index 89e8880af8..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10808.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Arturlang" -delete-after: True -changes: - - rscdel: "Removed text macros from the chem dispenser." - - rscadd: "Replaced with dispenser input recording macros." diff --git a/html/changelogs/AutoChangeLog-pr-10809.yml b/html/changelogs/AutoChangeLog-pr-10809.yml deleted file mode 100644 index 2a6c1dcdb8..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10809.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Arturlang" -delete-after: True -changes: - - bugfix: "Fancifying makeshift switchblades now works" diff --git a/html/changelogs/AutoChangeLog-pr-10810.yml b/html/changelogs/AutoChangeLog-pr-10810.yml deleted file mode 100644 index 3d1693955a..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10810.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Yakumo Chen" -delete-after: True -changes: - - rscadd: "Rings for your fingers!" - - rscadd: "New cargo crates and loadout options to bling your rings!" diff --git a/html/changelogs/AutoChangeLog-pr-10812.yml b/html/changelogs/AutoChangeLog-pr-10812.yml deleted file mode 100644 index 1189a9f8d2..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10812.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Tupinambis" -delete-after: True -changes: - - balance: "stunbatons now take 4 hits to inflict hard crit, up from 3." - - balance: "stunbatons no longer disarm targets." diff --git a/html/changelogs/AutoChangeLog-pr-10816.yml b/html/changelogs/AutoChangeLog-pr-10816.yml deleted file mode 100644 index 9538f353ec..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10816.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ancientpower" -delete-after: True -changes: - - bugfix: "Fixes an error in pH strips' feedback message." diff --git a/html/changelogs/AutoChangeLog-pr-10817.yml b/html/changelogs/AutoChangeLog-pr-10817.yml deleted file mode 100644 index cf42f695ef..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10817.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "IronEleven" -delete-after: True -changes: - - balance: "Minor stat changes to Choking, Spontaneous Combustion, Autophagocytosis Necrosis, Hallucigen, Narcolepsy, Shivering, and Vomiting symptoms." diff --git a/html/changelogs/AutoChangeLog-pr-10819.yml b/html/changelogs/AutoChangeLog-pr-10819.yml deleted file mode 100644 index 406da850b3..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10819.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - tweak: "Clown ops will find bombananas and clown bomb beacons instead of minibombs and bomb beacons in their infiltrator ship now." - - tweak: "For safety, the syndicate shuttle minibombs and bombananas come shipped in a box. Please don't instinctively eat any of those nanas, thank you." diff --git a/html/changelogs/AutoChangeLog-pr-10820.yml b/html/changelogs/AutoChangeLog-pr-10820.yml deleted file mode 100644 index 7833ab7250..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10820.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - tweak: "Uplink items excluded (such as mulligan, chameleon, ebow) from or exclusive (such as cyber implants) to normal nuke ops will now be properly unavailable/available to clown ops." diff --git a/html/changelogs/AutoChangeLog-pr-10821.yml b/html/changelogs/AutoChangeLog-pr-10821.yml deleted file mode 100644 index a1661764cf..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10821.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ShadeAware" -delete-after: True -changes: - - bugfix: "Switchblades no longer regain their old Makeshift sprite after retracting if you've made them fancy with Silver." diff --git a/html/changelogs/AutoChangeLog-pr-10829.yml b/html/changelogs/AutoChangeLog-pr-10829.yml deleted file mode 100644 index 9866f21fc7..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10829.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixed bananium energy sword/shield slips." - - balance: "Buffed said slips to ignore no-grav/crawling/flying as well as adding some deadly force to the e-sword." - - bugfix: "Fixed the 'stache grenade anti-non-clumsy user check." - - balance: "Doubled the timer for the sticky mustaches effect from the above grenade (from 1 to 2 minutes)" diff --git a/html/changelogs/AutoChangeLog-pr-10830.yml b/html/changelogs/AutoChangeLog-pr-10830.yml deleted file mode 100644 index 0d7b5d56b3..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10830.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Seris02" -delete-after: True -changes: - - bugfix: "glitch with PKA" diff --git a/html/changelogs/AutoChangeLog-pr-10831.yml b/html/changelogs/AutoChangeLog-pr-10831.yml deleted file mode 100644 index 477df49370..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10831.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixed an edge case with the chaplain armaments beacon spawning the box in nullspace." diff --git a/html/changelogs/AutoChangeLog-pr-10833.yml b/html/changelogs/AutoChangeLog-pr-10833.yml deleted file mode 100644 index d4b612f622..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10833.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - tweak: "The playback device's cooldown now proportionally increases with messages longer than 60 characters (3 seconds is the default assembly cooldown)." diff --git a/html/changelogs/AutoChangeLog-pr-10834.yml b/html/changelogs/AutoChangeLog-pr-10834.yml deleted file mode 100644 index 1db0ee8988..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10834.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Trilbyspaceclone" -delete-after: True -changes: - - rscadd: "Crafts are now made of plasteel and can be made with 5 sheets" diff --git a/html/changelogs/AutoChangeLog-pr-10836.yml b/html/changelogs/AutoChangeLog-pr-10836.yml deleted file mode 100644 index d2c9328aa7..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10836.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Hatterhat" -delete-after: True -changes: - - rscadd: "The Engineering techfab can now print standard and large RCD compressed matter cartridges." - - rscadd: "The Experimental Tools node now has the Combifan projector, blocking both temperature and atmospheric changes." diff --git a/html/changelogs/AutoChangeLog-pr-10837.yml b/html/changelogs/AutoChangeLog-pr-10837.yml deleted file mode 100644 index 72fee452c1..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10837.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Owai-Seek" -delete-after: True -changes: - - tweak: "Blood Crate now has all of the current blood types." - - tweak: "Birthday Cake Recipe is now the same as TG." - - tweak: "Added Soy Sauce and BBQ Packets to Dinnerware Vendor." diff --git a/html/changelogs/AutoChangeLog-pr-10838.yml b/html/changelogs/AutoChangeLog-pr-10838.yml deleted file mode 100644 index b6fbb864dd..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10838.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Owai-Seek" -delete-after: True -changes: - - tweak: "Added nurse outfit, nurse cap, and mailman hat to loadout." - - tweak: "Changed the name of scrubs to blue, green, and purple scrubs." diff --git a/html/changelogs/AutoChangeLog-pr-10840.yml b/html/changelogs/AutoChangeLog-pr-10840.yml deleted file mode 100644 index 26c9ab71b6..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10840.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Putnam3145" -delete-after: True -changes: - - admin: "Panic bunker is now round-to-round persistent" diff --git a/html/changelogs/AutoChangeLog-pr-10841.yml b/html/changelogs/AutoChangeLog-pr-10841.yml deleted file mode 100644 index 58e083fe85..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10841.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Kraseo" -delete-after: True -changes: - - bugfix: "You can no longer pull before wearing boxing gloves to bypass the grab check." diff --git a/html/changelogs/AutoChangeLog-pr-10847.yml b/html/changelogs/AutoChangeLog-pr-10847.yml deleted file mode 100644 index 3e18420cb3..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10847.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixed space ninjas \"Nothing\" objective. Now you gotta steal some dandy stuff such as corgi meat and pinpointers as a ninja too." diff --git a/html/changelogs/AutoChangeLog-pr-10850.yml b/html/changelogs/AutoChangeLog-pr-10850.yml deleted file mode 100644 index 5cfbd4ab1c..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10850.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixed maploaded APC terminals direction." diff --git a/html/changelogs/AutoChangeLog-pr-10852.yml b/html/changelogs/AutoChangeLog-pr-10852.yml deleted file mode 100644 index 5d6edfba1b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10852.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "MrJWhit" -delete-after: True -changes: - - rscdel: "Removed meteor defense tech node" diff --git a/html/changelogs/AutoChangeLog-pr-10854.yml b/html/changelogs/AutoChangeLog-pr-10854.yml deleted file mode 100644 index b01532daf4..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10854.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Seris02" -delete-after: True -changes: - - bugfix: "meteor hallucinations (again)" diff --git a/html/changelogs/AutoChangeLog-pr-10855.yml b/html/changelogs/AutoChangeLog-pr-10855.yml deleted file mode 100644 index 1920609508..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10855.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Trilbyspaceclone" -delete-after: True -changes: - - rscadd: "Takes away NT's connections to the Aliens that run the Syndicats" diff --git a/html/changelogs/AutoChangeLog-pr-10857.yml b/html/changelogs/AutoChangeLog-pr-10857.yml deleted file mode 100644 index ae8c5f6ac0..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10857.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Seris02" -delete-after: True -changes: - - rscadd: "Added naked hallucination" diff --git a/html/changelogs/AutoChangeLog-pr-10860.yml b/html/changelogs/AutoChangeLog-pr-10860.yml deleted file mode 100644 index 5de723e73b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10860.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Bhijn" -delete-after: True -changes: - - tweak: "Click-dragging will now only perform the quick item usage behavior if you're in combat mode." diff --git a/html/changelogs/AutoChangeLog-pr-10861.yml b/html/changelogs/AutoChangeLog-pr-10861.yml deleted file mode 100644 index 5071cc30f9..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10861.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ancientpower" -delete-after: True -changes: - - rscadd: "Ported drink sliding from /vg/station." diff --git a/html/changelogs/AutoChangeLog-pr-10862.yml b/html/changelogs/AutoChangeLog-pr-10862.yml deleted file mode 100644 index 0e08046d07..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10862.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Hatterhat" -delete-after: True -changes: - - tweak: "fiddles with the seed extractor upgrade examine to make it not shit" diff --git a/html/changelogs/AutoChangeLog-pr-10865.yml b/html/changelogs/AutoChangeLog-pr-10865.yml deleted file mode 100644 index a929bab8a1..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10865.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - balance: "Nerfed magnetic rifles/pistols by re(?)adding power cell requirements for it. These firearms must be recharged after firing 2 magazines worth of projectiles and are slightly more susceptible to EMPs." diff --git a/html/changelogs/AutoChangeLog-pr-10866.yml b/html/changelogs/AutoChangeLog-pr-10866.yml deleted file mode 100644 index f5f99207a5..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10866.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ancientpower" -delete-after: True -changes: - - bugfix: "Fixes color mismatching with the \"genitals use skintone\" preference." diff --git a/html/changelogs/AutoChangeLog-pr-10867.yml b/html/changelogs/AutoChangeLog-pr-10867.yml deleted file mode 100644 index 3e3b1c460f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10867.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixed the tearstache nade not properly working." - - balance: "Buffed it against space helmet internals." diff --git a/html/changelogs/AutoChangeLog-pr-10868.yml b/html/changelogs/AutoChangeLog-pr-10868.yml deleted file mode 100644 index 629f93585a..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10868.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - tweak: "Holographic fans won't display above mobs and other objects anymore." diff --git a/html/changelogs/AutoChangeLog-pr-10869.yml b/html/changelogs/AutoChangeLog-pr-10869.yml deleted file mode 100644 index c8317e134f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10869.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - bugfix: "mechs no longer have admin logs flooding into IC control console log viewing" diff --git a/html/changelogs/AutoChangeLog-pr-10870.yml b/html/changelogs/AutoChangeLog-pr-10870.yml deleted file mode 100644 index 672e6abdbc..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10870.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixed paraplegics appearing as shoeless." diff --git a/html/changelogs/AutoChangeLog-pr-10872.yml b/html/changelogs/AutoChangeLog-pr-10872.yml deleted file mode 100644 index 4a61daa9bb..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10872.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Arturlang" -delete-after: True -changes: - - balance: "Shields will no longer block lasers, and will break if they take too much damage." diff --git a/html/changelogs/AutoChangeLog-pr-10873.yml b/html/changelogs/AutoChangeLog-pr-10873.yml deleted file mode 100644 index 0e9bca3f95..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10873.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Putnam3145" -delete-after: True -changes: - - tweak: "Relief valve now has a TGUI-next UI" diff --git a/html/changelogs/AutoChangeLog-pr-10874.yml b/html/changelogs/AutoChangeLog-pr-10874.yml deleted file mode 100644 index bb46b5240d..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10874.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixed the petting element." diff --git a/html/changelogs/AutoChangeLog-pr-10875.yml b/html/changelogs/AutoChangeLog-pr-10875.yml deleted file mode 100644 index f693bd7c8b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10875.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ancientpower" -delete-after: True -changes: - - imageadd: "Bunny ear style for humanoid species." diff --git a/html/changelogs/AutoChangeLog-pr-10876.yml b/html/changelogs/AutoChangeLog-pr-10876.yml deleted file mode 100644 index 9347a655cc..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10876.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixed slipping." diff --git a/html/changelogs/AutoChangeLog-pr-10877.yml b/html/changelogs/AutoChangeLog-pr-10877.yml new file mode 100644 index 0000000000..4cf54b422f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10877.yml @@ -0,0 +1,4 @@ +author: "kevinz000" +delete-after: True +changes: + - rscadd: "Security now has riot quarterstaves in their lethal shotgun locker." diff --git a/html/changelogs/AutoChangeLog-pr-10881.yml b/html/changelogs/AutoChangeLog-pr-10881.yml deleted file mode 100644 index 7c00713eae..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10881.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - refactor: "Refactored mob holders into an element." - - bugfix: "Fixed a few minor issues with that feature. such as mismatching sprites for certain held mobs and a slight lack of safety checks." - - rscdel: "holdable mobs can't force themselves into people's hands anymore." diff --git a/html/changelogs/AutoChangeLog-pr-10883.yml b/html/changelogs/AutoChangeLog-pr-10883.yml deleted file mode 100644 index f99613d846..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10883.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ancientpower" -delete-after: True -changes: - - tweak: "Ghosts are now literate." diff --git a/html/changelogs/AutoChangeLog-pr-10885.yml b/html/changelogs/AutoChangeLog-pr-10885.yml deleted file mode 100644 index bcc19eb9d2..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10885.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Milkies fix." diff --git a/html/changelogs/AutoChangeLog-pr-10892.yml b/html/changelogs/AutoChangeLog-pr-10892.yml deleted file mode 100644 index 88f12ef378..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10892.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - refactor: "Guncode and energy guns have been refactored a bit." - - rscadd: "You can now combat mode ight click on an energy gun to attempt to switch firing modes. This only works on guns without right click functions overridden." diff --git a/html/changelogs/AutoChangeLog-pr-10893.yml b/html/changelogs/AutoChangeLog-pr-10893.yml deleted file mode 100644 index a0be6a5b6b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10893.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Arturlang" -delete-after: True -changes: - - rscadd: "Added a TGUI Next interface for crafting" - - rscdel: "Removed the old TGUI slow crafting interface" diff --git a/html/changelogs/AutoChangeLog-pr-10894.yml b/html/changelogs/AutoChangeLog-pr-10894.yml deleted file mode 100644 index 770308755d..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10894.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Trilbyspaceclone" -delete-after: True -changes: - - rscadd: "Carps have evolved to take more damage" diff --git a/html/changelogs/AutoChangeLog-pr-10898.yml b/html/changelogs/AutoChangeLog-pr-10898.yml deleted file mode 100644 index 7c7198105f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10898.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "EmeraldSundisk" -delete-after: True -changes: - - bugfix: "Connects mining's disposal unit on Delta." - - tweak: "Slight visual adjustments to the immediate affected area." diff --git a/html/changelogs/AutoChangeLog-pr-10899.yml b/html/changelogs/AutoChangeLog-pr-10899.yml deleted file mode 100644 index f1542b2b09..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10899.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Trilbyspaceclone" -delete-after: True -changes: - - rscadd: "restock crates for each vender" - - rscadd: "restock units for all station venders" - - bugfix: "Sec-vender missing icon" diff --git a/html/changelogs/AutoChangeLog-pr-10900.yml b/html/changelogs/AutoChangeLog-pr-10900.yml deleted file mode 100644 index 0f79245c73..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10900.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Putnam3145" -delete-after: True -changes: - - bugfix: "Atmos reaction priority works now." diff --git a/html/changelogs/AutoChangeLog-pr-10901.yml b/html/changelogs/AutoChangeLog-pr-10901.yml deleted file mode 100644 index 57c1d821f7..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10901.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Trilbyspaceclone" -delete-after: True -changes: - - bugfix: "Box station captain office issues -maping: Gulag on box can now be accessed" diff --git a/html/changelogs/AutoChangeLog-pr-10902.yml b/html/changelogs/AutoChangeLog-pr-10902.yml deleted file mode 100644 index 9a60860f3f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10902.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixed some mounted defibrillator issue with the altclicking functionality." diff --git a/html/changelogs/AutoChangeLog-pr-10903.yml b/html/changelogs/AutoChangeLog-pr-10903.yml deleted file mode 100644 index a353d6594a..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10903.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Hatterhat" -delete-after: True -changes: - - rscadd: "Formaldehyde prevents organ decay and corpses' miasma production at 1u in the body." - - rscadd: "Epinephrine pens now contain 3u formaldehyde. This should not kill you." diff --git a/html/changelogs/AutoChangeLog-pr-10905.yml b/html/changelogs/AutoChangeLog-pr-10905.yml deleted file mode 100644 index de9374bd12..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10905.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Hatterhat" -delete-after: True -changes: - - tweak: "Standard RCD ammo can now be printed from Engineering-keyed techfabs once you hit Industrial Engineering." - - tweak: "Consoleless interfaces are now default - this means unrestricted protolathes and circuit imprinters can now be interfaced with by interacting with the machine itself." - - bugfix: "Multitools can now actually be printed from Engineering and Science protolathes/techfabs once you unlock Basic Tools." diff --git a/html/changelogs/AutoChangeLog-pr-10906.yml b/html/changelogs/AutoChangeLog-pr-10906.yml deleted file mode 100644 index ef725e921e..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10906.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Hatterhat" -delete-after: True -changes: - - rscadd: "Husking (from being burned to shit) can now be reverted! 5u rezadone or 100u synthflesh, at below 50 burn." - - balance: "Turning a body into a burnt husk now takes more effort. 300 burn's worth of effort." diff --git a/html/changelogs/AutoChangeLog-pr-10907.yml b/html/changelogs/AutoChangeLog-pr-10907.yml deleted file mode 100644 index af893e9415..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10907.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixed no-grav lavaland labor/mining shuttle areas." diff --git a/html/changelogs/AutoChangeLog-pr-10913.yml b/html/changelogs/AutoChangeLog-pr-10913.yml deleted file mode 100644 index 8bf549a154..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10913.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Feasel" -delete-after: True -changes: - - balance: "Buffed dissection success chances." diff --git a/html/changelogs/AutoChangeLog-pr-10915.yml b/html/changelogs/AutoChangeLog-pr-10915.yml deleted file mode 100644 index 88f0c1652e..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10915.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - balance: "shoes can now fit magpistols again." diff --git a/html/changelogs/AutoChangeLog-pr-10916.yml b/html/changelogs/AutoChangeLog-pr-10916.yml deleted file mode 100644 index 05d9b007b1..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10916.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - balance: "Projectiles now always hit chest if targeting chest, snipers have 100% targeting zone accuracy. All other cases are unchanged." diff --git a/html/changelogs/AutoChangeLog-pr-10917.yml b/html/changelogs/AutoChangeLog-pr-10917.yml deleted file mode 100644 index f6e5997348..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10917.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Arturlang" -delete-after: True -changes: - - tweak: "The MK2 hypospray now" diff --git a/html/changelogs/AutoChangeLog-pr-10918.yml b/html/changelogs/AutoChangeLog-pr-10918.yml deleted file mode 100644 index bf47d0accf..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10918.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "r4d6" -delete-after: True -changes: - - config: "Made dwarves into a roundstart races" diff --git a/html/changelogs/AutoChangeLog-pr-10919.yml b/html/changelogs/AutoChangeLog-pr-10919.yml deleted file mode 100644 index 0fa6420e39..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10919.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixing accidental nerfs to the magpistol magazine." diff --git a/html/changelogs/AutoChangeLog-pr-10921.yml b/html/changelogs/AutoChangeLog-pr-10921.yml deleted file mode 100644 index d6d551b40d..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10921.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "The Lavaland's Herald speech sound should only play if they are actually speaking." diff --git a/html/changelogs/AutoChangeLog-pr-10922.yml b/html/changelogs/AutoChangeLog-pr-10922.yml deleted file mode 100644 index c71630fd0d..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10922.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - tweak: "The lawyer's PDA cartridge has been rebranded to something more accurate to its true nature." diff --git a/html/changelogs/AutoChangeLog-pr-10923.yml b/html/changelogs/AutoChangeLog-pr-10923.yml deleted file mode 100644 index 0fd9a0f14e..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10923.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Nerfed cargo passive points generation from 500 to 125 creds per minute." diff --git a/html/changelogs/AutoChangeLog-pr-10924.yml b/html/changelogs/AutoChangeLog-pr-10924.yml deleted file mode 100644 index d419928dd2..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10924.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixed whitelisted/donor loadouts" diff --git a/html/changelogs/AutoChangeLog-pr-10926.yml b/html/changelogs/AutoChangeLog-pr-10926.yml deleted file mode 100644 index 9662402d1b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10926.yml +++ /dev/null @@ -1,9 +0,0 @@ -author: "keronshb" -delete-after: True -changes: - - rscadd: "Added repairable turrets" - - rscadd: "Adds Tiny Fans to the pirate ship" - - tweak: "changes some reinforced windows to plastinanium pirate windows" - - tweak: "made the pirate shuttle + turrets bomb resistant" - - tweak: "made most pirate machines + consoles indestructible" - - tweak: "increased pirate turret health" diff --git a/html/changelogs/AutoChangeLog-pr-10929.yml b/html/changelogs/AutoChangeLog-pr-10929.yml deleted file mode 100644 index fa9413f25a..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10929.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Childproofs double-esword and hypereuplastic blade toys." diff --git a/html/changelogs/AutoChangeLog-pr-10930.yml b/html/changelogs/AutoChangeLog-pr-10930.yml deleted file mode 100644 index 4121a00b9b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10930.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "r4d6" -delete-after: True -changes: - - tweak: "Meteor Timer back to 3-5 minutes" diff --git a/html/changelogs/AutoChangeLog-pr-10934.yml b/html/changelogs/AutoChangeLog-pr-10934.yml deleted file mode 100644 index 61ef7ec04f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10934.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - refactor: "Refactored ghostreading/etc" diff --git a/html/changelogs/AutoChangeLog-pr-10935.yml b/html/changelogs/AutoChangeLog-pr-10935.yml deleted file mode 100644 index f35855854f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10935.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "KrabSpider" -delete-after: True -changes: - - imageadd: "The Van Dyke is no longer Fu Manchu." - - imagedel: "Gets rid of a Fu Manchu imitation." diff --git a/html/changelogs/AutoChangeLog-pr-10936.yml b/html/changelogs/AutoChangeLog-pr-10936.yml deleted file mode 100644 index 2303f157ab..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10936.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - balance: "Cyborgization will now de-gang people, even gangheads." diff --git a/html/changelogs/AutoChangeLog-pr-10937.yml b/html/changelogs/AutoChangeLog-pr-10937.yml deleted file mode 100644 index 1c56882ccc..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10937.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Arturlang" -delete-after: True -changes: - - admin: "The debug outfit is now kitted out for whatever debbuging needs." diff --git a/html/changelogs/AutoChangeLog-pr-10940.yml b/html/changelogs/AutoChangeLog-pr-10940.yml deleted file mode 100644 index c0bbfc371a..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10940.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - balance: "Some reagent holders (such as cigarettes, food) are not suitable for reagents export anymore, while unprocessed botany crops will only net 1/3 of the standard reagents values." - - bugfix: "Export scanners now include the reagents value in the price report." diff --git a/html/changelogs/AutoChangeLog-pr-10942.yml b/html/changelogs/AutoChangeLog-pr-10942.yml deleted file mode 100644 index 2a30ace3aa..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10942.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Putnam3145" -delete-after: True -changes: - - rscadd: "map voting doesn't suck anymore" diff --git a/html/changelogs/AutoChangeLog-pr-10943.yml b/html/changelogs/AutoChangeLog-pr-10943.yml deleted file mode 100644 index f45d8b1d39..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10943.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixed a little inconvenience with the character setup preview dummy having extra unwarranted bits." diff --git a/html/changelogs/AutoChangeLog-pr-10947.yml b/html/changelogs/AutoChangeLog-pr-10947.yml deleted file mode 100644 index a6f1fb1344..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10947.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "nemvar" -delete-after: True -changes: - - bugfix: "Trash from food now gets generated at the location of the food item, instead of in the hands of the eater." diff --git a/html/changelogs/AutoChangeLog-pr-10948.yml b/html/changelogs/AutoChangeLog-pr-10948.yml deleted file mode 100644 index f9da9463fc..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10948.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Stopped role restricted uplink items from being discounted despite not being purchasable most times." diff --git a/html/changelogs/AutoChangeLog-pr-10949.yml b/html/changelogs/AutoChangeLog-pr-10949.yml deleted file mode 100644 index 3c7000a0e1..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10949.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - bugfix: "reactive repulse armor now has an item limit" diff --git a/html/changelogs/AutoChangeLog-pr-10950.yml b/html/changelogs/AutoChangeLog-pr-10950.yml deleted file mode 100644 index 8258db1d69..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10950.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - bugfix: "beam rifle runtime fix during aiming_beam" diff --git a/html/changelogs/AutoChangeLog-pr-10951.yml b/html/changelogs/AutoChangeLog-pr-10951.yml deleted file mode 100644 index 20bc444967..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10951.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - bugfix: "fail2topic runtime fix: taking out an ip while incrementing index resulted in accessing the next-next entry instead of the next and results in out of bound errors." diff --git a/html/changelogs/AutoChangeLog-pr-10955.yml b/html/changelogs/AutoChangeLog-pr-10955.yml deleted file mode 100644 index 46ff62efaf..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10955.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - rscadd: "gravity gun repulse and chaos now work in all angles, rather than just basic cardinals and diagonals. fun." diff --git a/html/changelogs/AutoChangeLog-pr-10957.yml b/html/changelogs/AutoChangeLog-pr-10957.yml deleted file mode 100644 index b655b85fb9..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10957.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Putnam3145" -delete-after: True -changes: - - bugfix: "Dynamic now defaults to \"classic\" storyteller instead of just failing if the vote didn't choose a storyteller." diff --git a/html/changelogs/AutoChangeLog-pr-10960.yml b/html/changelogs/AutoChangeLog-pr-10960.yml deleted file mode 100644 index 6033533590..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10960.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kappa-sama" -delete-after: True -changes: - - bugfix: "the plant dudes can actually make plant disks now" diff --git a/html/changelogs/AutoChangeLog-pr-10961.yml b/html/changelogs/AutoChangeLog-pr-10961.yml deleted file mode 100644 index eaaafab472..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10961.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixed an issue with the nearsighted prescription glasses taking over worn eyewear." diff --git a/html/changelogs/AutoChangeLog-pr-10966.yml b/html/changelogs/AutoChangeLog-pr-10966.yml deleted file mode 100644 index bdc78a2b01..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10966.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "r4d6" -delete-after: True -changes: - - bugfix: "Mining no longer lead to spess" diff --git a/html/changelogs/AutoChangeLog-pr-10967.yml b/html/changelogs/AutoChangeLog-pr-10967.yml deleted file mode 100644 index f242dd57bc..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10967.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixed AI unanchoring not properly removing the no teleport trait. My bad." diff --git a/html/changelogs/AutoChangeLog-pr-10969.yml b/html/changelogs/AutoChangeLog-pr-10969.yml deleted file mode 100644 index fdd53cdd2f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10969.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Seris02" -delete-after: True -changes: - - rscadd: "crowbarring manifests off crates" diff --git a/html/changelogs/AutoChangeLog-pr-10970.yml b/html/changelogs/AutoChangeLog-pr-10970.yml deleted file mode 100644 index 7182c5f6a6..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10970.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - balance: "Public autolathes can no longer be hacked." diff --git a/html/changelogs/AutoChangeLog-pr-10971.yml b/html/changelogs/AutoChangeLog-pr-10971.yml deleted file mode 100644 index e7882646f8..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10971.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Trilbyspaceclone" -delete-after: True -changes: - - rscadd: "Alien stools and chairs" diff --git a/html/changelogs/AutoChangeLog-pr-10972.yml b/html/changelogs/AutoChangeLog-pr-10972.yml deleted file mode 100644 index 9cc2e64687..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10972.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Trilbyspaceclone" -delete-after: True -changes: - - tweak: "Bone armor/Dagger are now crafting from bones rather then crafting menu" diff --git a/html/changelogs/AutoChangeLog-pr-10973.yml b/html/changelogs/AutoChangeLog-pr-10973.yml deleted file mode 100644 index 8946cddb43..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10973.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Trilbyspaceclone" -delete-after: True -changes: - - rscadd: "Firing pins that only works when not on station" diff --git a/html/changelogs/AutoChangeLog-pr-10974.yml b/html/changelogs/AutoChangeLog-pr-10974.yml deleted file mode 100644 index 7f668256b3..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10974.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Putnam3145" -delete-after: True -changes: - - bugfix: "antag quirk blacklisting works now" diff --git a/html/changelogs/AutoChangeLog-pr-10976.yml b/html/changelogs/AutoChangeLog-pr-10976.yml deleted file mode 100644 index 34ef082829..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10976.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixed another issue with hering comsig." diff --git a/html/changelogs/AutoChangeLog-pr-10981.yml b/html/changelogs/AutoChangeLog-pr-10981.yml deleted file mode 100644 index df0d7990cb..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10981.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "IHOPMommyLich" -delete-after: True -changes: - - tweak: "Changed the multiplicative_slowdown of Stimulants from -1 to -0.5" diff --git a/html/changelogs/AutoChangeLog-pr-10984.yml b/html/changelogs/AutoChangeLog-pr-10984.yml deleted file mode 100644 index 137536b430..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10984.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Trilbyspaceclone" -delete-after: True -changes: - - balance: "Heads of staff have been better screened by NT before being promoted" diff --git a/html/changelogs/AutoChangeLog-pr-10987.yml b/html/changelogs/AutoChangeLog-pr-10987.yml deleted file mode 100644 index abea439a86..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10987.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - imageadd: "Fixed dozen missing privates sprites." diff --git a/html/changelogs/AutoChangeLog-pr-10988.yml b/html/changelogs/AutoChangeLog-pr-10988.yml deleted file mode 100644 index ebd9de7689..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10988.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "YakumoChen" -delete-after: True -changes: - - tweak: "Observe is back in the OOC tab" diff --git a/html/changelogs/AutoChangeLog-pr-10989.yml b/html/changelogs/AutoChangeLog-pr-10989.yml deleted file mode 100644 index 0a5b2ad3c8..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10989.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "A little fix concerning some R&D and reagents." diff --git a/html/changelogs/AutoChangeLog-pr-10992.yml b/html/changelogs/AutoChangeLog-pr-10992.yml deleted file mode 100644 index 1d6d10396b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10992.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Hatterhat" -delete-after: True -changes: - - balance: "Buckshot individual pellet damage up from 10 to 12.5. Still firing 6 pellets." diff --git a/html/changelogs/AutoChangeLog-pr-10994.yml b/html/changelogs/AutoChangeLog-pr-10994.yml deleted file mode 100644 index c27a1afc00..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10994.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "DeltaFire15" -delete-after: True -changes: - - balance: "Nar'Sie runes no longer benefit from runed floors." diff --git a/html/changelogs/AutoChangeLog-pr-10996.yml b/html/changelogs/AutoChangeLog-pr-10996.yml deleted file mode 100644 index 8bb7646cd6..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10996.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "PersianXerxes" -delete-after: True -changes: - - rscadd: "SMES and PACMAN attached to gulag Security to power electrified windows -remove: Removed Sec vendor from gulag Security" - - tweak: "Separation of gulag and public mining" diff --git a/html/changelogs/AutoChangeLog-pr-10997.yml b/html/changelogs/AutoChangeLog-pr-10997.yml deleted file mode 100644 index a380a04f68..0000000000 --- a/html/changelogs/AutoChangeLog-pr-10997.yml +++ /dev/null @@ -1,12 +0,0 @@ -author: "Owai-Seek" -delete-after: True -changes: - - rscadd: "Bacon and Eggs food item. Delicious! Added a Lemony Poppy Seed Muffin." - - tweak: "Snack Vendor has Chocolates, Tortilla Chips, and a Marshmallow Box" - - balance: "Mops can now be printed at service lathe once tools are researched." - - balance: "Biobags can hold most organic limbs/organs, but not brains, implants, or cybernetics." - - balance: "Trash Bag can now hold limbs (but not heads.)" - - balance: "Most snack vendor items reduced by 1." - - bugfix: "Trash Cans are now actually craftable, and only require metal instead of plastic." - - imageadd: "Bacon and Eggs, Drying Agent Bottle." - - imageadd: "Mugs now show reagent colors of contained reagents. Thanks Seris!" diff --git a/html/changelogs/AutoChangeLog-pr-11000.yml b/html/changelogs/AutoChangeLog-pr-11000.yml deleted file mode 100644 index 5e496af81f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11000.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Seris02" -delete-after: True -changes: - - balance: "makes RCDs cost a better amount" diff --git a/html/changelogs/AutoChangeLog-pr-11001.yml b/html/changelogs/AutoChangeLog-pr-11001.yml deleted file mode 100644 index 1cfa8977b4..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11001.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Arturlang" -delete-after: True -changes: - - bugfix: "Fixed the pandemic naming and the radiation healing symptom UI crashing" diff --git a/html/changelogs/AutoChangeLog-pr-11003.yml b/html/changelogs/AutoChangeLog-pr-11003.yml deleted file mode 100644 index 4c551c4d09..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11003.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - bugfix: "Energy weapons now once again have their lens in contents." diff --git a/html/changelogs/AutoChangeLog-pr-11005.yml b/html/changelogs/AutoChangeLog-pr-11005.yml deleted file mode 100644 index d0576c7ba8..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11005.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Arturlang" -delete-after: True -changes: - - tweak: "Hyposprays now switch modes on CTRL click, instead of alt, as it was already reserved for dispension amount." diff --git a/html/changelogs/AutoChangeLog-pr-11011.yml b/html/changelogs/AutoChangeLog-pr-11011.yml deleted file mode 100644 index d0a7b916f7..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11011.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Tlaltecuhtli, ported by Hatterhat" -delete-after: True -changes: - - balance: "Ripley, Firefighter, Odysseus and H.O.N.K. mechs now also use scanning modules and capacitors on construction. This means that they also gain reduced power consumption and EMP protection from higher-tier stock parts." diff --git a/html/changelogs/AutoChangeLog-pr-11012.yml b/html/changelogs/AutoChangeLog-pr-11012.yml deleted file mode 100644 index 1d233f0692..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11012.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "keronshb" -delete-after: True -changes: - - rscadd: "Adds the CogChamp drink and Sprite" diff --git a/html/changelogs/AutoChangeLog-pr-11013.yml b/html/changelogs/AutoChangeLog-pr-11013.yml deleted file mode 100644 index a9806d796d..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11013.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "r4d6" -delete-after: True -changes: - - rscadd: "Added Plasteel Pickaxe" - - rscadd: "Added Titanium Pickaxe" diff --git a/html/changelogs/AutoChangeLog-pr-11018.yml b/html/changelogs/AutoChangeLog-pr-11018.yml deleted file mode 100644 index 2795317861..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11018.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - bugfix: "pais are no longer muted for literally a whole hour on emp." diff --git a/html/changelogs/AutoChangeLog-pr-11020.yml b/html/changelogs/AutoChangeLog-pr-11020.yml deleted file mode 100644 index 52677b98e9..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11020.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Zellular" -delete-after: True -changes: - - imageadd: "Movement state for pupdozer and its decals" diff --git a/html/changelogs/AutoChangeLog-pr-11022.yml b/html/changelogs/AutoChangeLog-pr-11022.yml deleted file mode 100644 index ac317e56b0..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11022.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - rscadd: "auto profiler subsystem from tg" diff --git a/html/changelogs/AutoChangeLog-pr-11024.yml b/html/changelogs/AutoChangeLog-pr-11024.yml deleted file mode 100644 index 3af136f15e..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11024.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - bugfix: "Brig cells now are more accurate by using timeofday instead of realtime" diff --git a/html/changelogs/AutoChangeLog-pr-11026.yml b/html/changelogs/AutoChangeLog-pr-11026.yml deleted file mode 100644 index c99aad2d14..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11026.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Trilbyspaceclone" -delete-after: True -changes: - - balance: "The suit full of spiders also known as a ninja now is a tactical turtleneck" - - balance: "The Wiznerds now dont have suits set to max" diff --git a/html/changelogs/AutoChangeLog-pr-11027.yml b/html/changelogs/AutoChangeLog-pr-11027.yml deleted file mode 100644 index 4e5f5b46ba..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11027.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "ShadeAware" -delete-after: True -changes: - - rscadd: "The Captain's Wardrobe, a special one-of-a-kind and ID-locked wardrobe for the Captain that holds all of their snowflakey gear. -Remove: Snowflake gear from the Captain's locker, since now it has its own vendor." diff --git a/html/changelogs/AutoChangeLog-pr-11028.yml b/html/changelogs/AutoChangeLog-pr-11028.yml deleted file mode 100644 index de94b1d35f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11028.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Trilbyspaceclone" -delete-after: True -changes: - - tweak: "Meat wheat no longer has blood" diff --git a/html/changelogs/AutoChangeLog-pr-11029.yml b/html/changelogs/AutoChangeLog-pr-11029.yml deleted file mode 100644 index 17f34bbfa6..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11029.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Putnam3145" -delete-after: True -changes: - - tweak: "default should be... default" diff --git a/html/changelogs/AutoChangeLog-pr-11032.yml b/html/changelogs/AutoChangeLog-pr-11032.yml deleted file mode 100644 index 6d026e444a..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11032.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - bugfix: "Cryo now actually transfers reagents at tier 4 on enter rather than every 80 machine fire()-process()s regardless of if it was \"reset\" by open/close." diff --git a/html/changelogs/AutoChangeLog-pr-11035.yml b/html/changelogs/AutoChangeLog-pr-11035.yml deleted file mode 100644 index 94a57db904..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11035.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - bugfix: "ctf claymores now actually spawn (and fit)." diff --git a/html/changelogs/AutoChangeLog-pr-11038.yml b/html/changelogs/AutoChangeLog-pr-11038.yml deleted file mode 100644 index b157c31af8..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11038.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - bugfix: "STOP_PROCESSING now removes from currentrun to prevent another process cycle from happening where it shouldn't." diff --git a/html/changelogs/AutoChangeLog-pr-11040.yml b/html/changelogs/AutoChangeLog-pr-11040.yml deleted file mode 100644 index cc0514517b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11040.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Further mob holder fixes." diff --git a/html/changelogs/AutoChangeLog-pr-11042.yml b/html/changelogs/AutoChangeLog-pr-11042.yml deleted file mode 100644 index 4238f76b75..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11042.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Arturlang" -delete-after: True -changes: - - balance: "The pandemic can no longer make vaccines or synthblood as quickly." diff --git a/html/changelogs/AutoChangeLog-pr-11043.yml b/html/changelogs/AutoChangeLog-pr-11043.yml deleted file mode 100644 index 28217af630..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11043.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Seris02" -delete-after: True -changes: - - bugfix: "apc icons" diff --git a/html/changelogs/AutoChangeLog-pr-11044.yml b/html/changelogs/AutoChangeLog-pr-11044.yml deleted file mode 100644 index 7dec153778..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11044.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Arturlang" -delete-after: True -changes: - - rscadd: "The syndicate uplinks interface has been redone in TGUI Next" diff --git a/html/changelogs/AutoChangeLog-pr-11045.yml b/html/changelogs/AutoChangeLog-pr-11045.yml deleted file mode 100644 index 9e3e0a9ee4..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11045.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Trilbyspaceclone" -delete-after: True -changes: - - bugfix: "Flat guns can no longer be suppressed" diff --git a/html/changelogs/AutoChangeLog-pr-11046.yml b/html/changelogs/AutoChangeLog-pr-11046.yml deleted file mode 100644 index c40286e901..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11046.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Trilbyspaceclone" -delete-after: True -changes: - - tweak: "replaced stickmans .45 caliber with 10mm, for consistency." diff --git a/html/changelogs/AutoChangeLog-pr-11047.yml b/html/changelogs/AutoChangeLog-pr-11047.yml deleted file mode 100644 index 5bc42d1219..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11047.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Trilbyspaceclone" -delete-after: True -changes: - - tweak: "Meatwheat and Oats now have rarity" - - balance: "Oats now have at lest 50% more flour in them" diff --git a/html/changelogs/AutoChangeLog-pr-11048.yml b/html/changelogs/AutoChangeLog-pr-11048.yml deleted file mode 100644 index 77af926906..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11048.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Trilbyspaceclone" -delete-after: True -changes: - - balance: "BDM now uses a PKA rather then a normal KA" diff --git a/html/changelogs/AutoChangeLog-pr-11051.yml b/html/changelogs/AutoChangeLog-pr-11051.yml deleted file mode 100644 index 8ac7939b00..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11051.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - balance: "hand teleporters now require 30 deciseconds of still movement by the user to dispel portals. there's a beam effect too." diff --git a/html/changelogs/AutoChangeLog-pr-11053.yml b/html/changelogs/AutoChangeLog-pr-11053.yml deleted file mode 100644 index a3c2eb29fa..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11053.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "keronshb" -delete-after: True -changes: - - rscadd: "Added burn and knockback to stunhand during HALOS on cult." - - balance: "Added burn and knockback to stunhand during HALOS on cult." diff --git a/html/changelogs/AutoChangeLog-pr-11056.yml b/html/changelogs/AutoChangeLog-pr-11056.yml deleted file mode 100644 index b56efb3557..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11056.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "necromanceranne" -delete-after: True -changes: - - rscdel: "Bullets causing bleed rates equal to unmitigated damage through all forms of defense." diff --git a/html/changelogs/AutoChangeLog-pr-11060.yml b/html/changelogs/AutoChangeLog-pr-11060.yml deleted file mode 100644 index c78f03a26d..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11060.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - balance: "Sort of a bugfix but cult blood magic and all guns now respect stamina softcrit." diff --git a/html/changelogs/AutoChangeLog-pr-11061.yml b/html/changelogs/AutoChangeLog-pr-11061.yml deleted file mode 100644 index 5225edc141..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11061.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Trilbyspaceclone" -delete-after: True -changes: - - tweak: "Gang tower shield is no longer transparent" diff --git a/html/changelogs/AutoChangeLog-pr-11062.yml b/html/changelogs/AutoChangeLog-pr-11062.yml deleted file mode 100644 index b9bc85b1c1..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11062.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - balance: "Organ healing rate doubled. Organ decay rate halved to match its define (15 minutes for full decay, so at around 8-10 minutes it'll be really fucked)." diff --git a/html/changelogs/AutoChangeLog-pr-11063.yml b/html/changelogs/AutoChangeLog-pr-11063.yml deleted file mode 100644 index c729fb5ed9..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11063.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Zellular" -delete-after: True -changes: - - tweak: "Tweaked the movement state for the pupdozer's eyes" diff --git a/html/changelogs/AutoChangeLog-pr-11070.yml b/html/changelogs/AutoChangeLog-pr-11070.yml deleted file mode 100644 index 3c923bddb0..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11070.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "kevinz000" -delete-after: True -changes: - - tweak: "Storage now caches max screen size and only stores when being opened by a non ghost, meaning ghosts will no longer distort living player screens when viewing storage." diff --git a/html/changelogs/AutoChangeLog-pr-11071.yml b/html/changelogs/AutoChangeLog-pr-11071.yml deleted file mode 100644 index e8581b325e..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11071.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixed being unable to dump a trash bag's contents directly into disposal bins." diff --git a/html/changelogs/AutoChangeLog-pr-11072.yml b/html/changelogs/AutoChangeLog-pr-11072.yml deleted file mode 100644 index ab21d91e19..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11072.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Doubled the halved flavor text maximum length." diff --git a/html/changelogs/AutoChangeLog-pr-11073.yml b/html/changelogs/AutoChangeLog-pr-11073.yml deleted file mode 100644 index 078c5fb300..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11073.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Reduced tongue organ damage and tasting pH message spam." diff --git a/html/changelogs/AutoChangeLog-pr-11075.yml b/html/changelogs/AutoChangeLog-pr-11075.yml deleted file mode 100644 index 0eb612a81e..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11075.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixed agent IDs not registering the inputted name. Thanks MrPerson." diff --git a/html/changelogs/AutoChangeLog-pr-11076.yml b/html/changelogs/AutoChangeLog-pr-11076.yml deleted file mode 100644 index e0f187a038..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11076.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "nemvar" -delete-after: True -changes: - - code_imp: "Changed mob biotypes from lists to flags." diff --git a/html/changelogs/AutoChangeLog-pr-11079.yml b/html/changelogs/AutoChangeLog-pr-11079.yml deleted file mode 100644 index b613b6c867..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11079.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Arturlang" -delete-after: True -changes: - - tweak: "Valentines can now be converted by bloodsuckers" diff --git a/html/changelogs/AutoChangeLog-pr-11082.yml b/html/changelogs/AutoChangeLog-pr-11082.yml deleted file mode 100644 index 89d9b4ca52..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11082.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Hatterhat" -delete-after: True -changes: - - rscadd: "Preservahyde! Made with water, bromine, and formaldehyde, it doesn't decay into histamine. Instead, it just prevents your organs from rotting into nothing." diff --git a/html/changelogs/AutoChangeLog-pr-11083.yml b/html/changelogs/AutoChangeLog-pr-11083.yml deleted file mode 100644 index 757d9fcb63..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11083.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Hatterhat" -delete-after: True -changes: - - balance: "You can now purify eldritch longswords with a bible. This creates purified longswords, which do not have anti-magic properties, but are still good for swinging at cultists." diff --git a/html/changelogs/AutoChangeLog-pr-11086.yml b/html/changelogs/AutoChangeLog-pr-11086.yml deleted file mode 100644 index e11113e71c..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11086.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "YakumoChen" -delete-after: True -changes: - - imageadd: "Rings look nicer. Sprites used from RP." - - imageadd: "Ring on-hands. Diamond rings sparkle!" - - tweak: "You can now propose using a diamond ring in your hand." diff --git a/html/changelogs/AutoChangeLog-pr-11087.yml b/html/changelogs/AutoChangeLog-pr-11087.yml deleted file mode 100644 index 179ef6a2b7..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11087.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixed solar panels/trackers (de)construction being a bit wonky." diff --git a/html/changelogs/AutoChangeLog-pr-11090.yml b/html/changelogs/AutoChangeLog-pr-11090.yml deleted file mode 100644 index 698306fdb6..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11090.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Seris02" -delete-after: True -changes: - - rscadd: "rest hotkey" diff --git a/html/changelogs/AutoChangeLog-pr-11091.yml b/html/changelogs/AutoChangeLog-pr-11091.yml deleted file mode 100644 index 5d43d7dbdf..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11091.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "BlueWildrose" -delete-after: True -changes: - - bugfix: "podpeople tail wagging" - - tweak: "lifebringer ghost role fixes" diff --git a/html/changelogs/AutoChangeLog-pr-11093.yml b/html/changelogs/AutoChangeLog-pr-11093.yml deleted file mode 100644 index 4815818b0d..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11093.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixed something about slime blood and the law of conservation of mass." - - bugfix: "Fixed flypeople being emetic machine guns." diff --git a/html/changelogs/AutoChangeLog-pr-11094.yml b/html/changelogs/AutoChangeLog-pr-11094.yml deleted file mode 100644 index a6db5bd93f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11094.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Trilbyspaceclone" -delete-after: True -changes: - - tweak: "Cosmic winter coat now glows like the bedsheet, and holds normal winter coat gear" diff --git a/html/changelogs/AutoChangeLog-pr-11101.yml b/html/changelogs/AutoChangeLog-pr-11101.yml deleted file mode 100644 index 5305e2b923..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11101.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "coiax" -delete-after: True -changes: - - rscadd: "Admin and event only pair pinpointers! They come in a box of two, and each pinpointer will always point at its corresponding pair. Aww." diff --git a/html/changelogs/AutoChangeLog-pr-11104.yml b/html/changelogs/AutoChangeLog-pr-11104.yml deleted file mode 100644 index 205af650a9..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11104.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Trilbyspaceclone" -delete-after: True -changes: - - server: "Express console is now logging what it buys, like the normal console should" diff --git a/html/changelogs/AutoChangeLog-pr-11108.yml b/html/changelogs/AutoChangeLog-pr-11108.yml deleted file mode 100644 index c8bed79399..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11108.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Seris02" -delete-after: True -changes: - - rscadd: "hsl instead of sum of rgb for spraycan lum check" diff --git a/html/changelogs/AutoChangeLog-pr-11111.yml b/html/changelogs/AutoChangeLog-pr-11111.yml deleted file mode 100644 index 4e947ed297..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11111.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixed virology being unable to be done with synthetic blood." diff --git a/html/changelogs/AutoChangeLog-pr-11112.yml b/html/changelogs/AutoChangeLog-pr-11112.yml deleted file mode 100644 index f54e2e0192..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11112.yml +++ /dev/null @@ -1,9 +0,0 @@ -author: "necromanceranne" -delete-after: True -changes: - - balance: "Reverted #9092, crew mecha no longer spawn with tracking beacons." - - balance: "[Port] Mecha ballistics weapons now require ammo created from an Exosuit Fabricator or the Security Protolathe, though they will start with a full magazine and in most cases enough for one full reload. Reloading these weapons no longer chunks your power cell. Clown (and mime) mecha equipment have not changed." - - balance: "[Port] The SRM-8 Missile Launcher has been replaced with the BRM-6 Breaching Missile Launcher in techwebs (Nukie Mauler remains equipped with the SRM-8)." - - balance: "[Port] Both Missile Launchers and the Clusterbang Launcher do not have an ammo cache, and cannot be reloaded by the pilot. Once the initial loaded ammo has been spent, you can use the appropriate ammo box to load the weapon directly." - - rscadd: "[Port] Utility mechs that have a clamp equipped can load ammo from their own cargo hold into other mechs." - - rscadd: "[Port] Nuke Ops can purchase spare ammo duffel bags for their mecha weapons, should they run low." diff --git a/html/changelogs/AutoChangeLog-pr-11114.yml b/html/changelogs/AutoChangeLog-pr-11114.yml deleted file mode 100644 index 7d56933c65..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11114.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Psody-Mordheim" -delete-after: True -changes: - - rscadd: "You can now make synth-flesh with synthetic blood." - - rscadd: "You can now make synthetic blood via mixing saline glucose, iron, stable plasma and heating it to 350 temp." - - rscadd: "You can mix synthetic blood and cryoxadone to create synth-meat in addition to normal blood." diff --git a/html/changelogs/AutoChangeLog-pr-11119.yml b/html/changelogs/AutoChangeLog-pr-11119.yml deleted file mode 100644 index 4a0dc59c65..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11119.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - rscdel: "Renamed \"blaster carbine\" and \"blaster rifles\" back to \"energy gun\" and \"laser gun\" respectively" - - bugfix: "Fixed magnetic rifles & co being inconsistent with printed energy guns and start with an empty power cell." - - imagedel: "Reverted practice laser gun sprites back to their former glory. Mostly." diff --git a/html/changelogs/AutoChangeLog-pr-11120.yml b/html/changelogs/AutoChangeLog-pr-11120.yml deleted file mode 100644 index 64a435146c..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11120.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghommie" -delete-after: True -changes: - - bugfix: "Fixed sprint buffer cost and regen being rounded down." diff --git a/html/changelogs/AutoChangeLog-pr-11131.yml b/html/changelogs/AutoChangeLog-pr-11131.yml deleted file mode 100644 index 9a14049c2f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11131.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Seris02" -delete-after: True -changes: - - balance: "bloodcrawl's cooldown" diff --git a/html/changelogs/AutoChangeLog-pr-11134.yml b/html/changelogs/AutoChangeLog-pr-11134.yml deleted file mode 100644 index 8ec6c97164..0000000000 --- a/html/changelogs/AutoChangeLog-pr-11134.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Hatterhat" -delete-after: True -changes: - - bugfix: "mechs with stock parts now have icons" diff --git a/html/changelogs/AutoChangeLog-pr-11150.yml b/html/changelogs/AutoChangeLog-pr-11150.yml new file mode 100644 index 0000000000..0548ec177e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11150.yml @@ -0,0 +1,8 @@ +author: "raspyosu" +delete-after: True +changes: + - rscadd: "some flavor text for lunge, cloak" + - tweak: "mesmerize, cloak functionality/requirements" + - balance: "mesmerize, lunge, cloak" + - soundadd: "lunge telegraph sound" + - spellcheck: "mesmerized status icon flavor text" diff --git a/html/changelogs/AutoChangeLog-pr-11200.yml b/html/changelogs/AutoChangeLog-pr-11200.yml new file mode 100644 index 0000000000..9c8b74b635 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11200.yml @@ -0,0 +1,4 @@ +author: "Hatterhat" +delete-after: True +changes: + - bugfix: "Red and blue boxes are now actually red or blue." diff --git a/html/changelogs/AutoChangeLog-pr-11202.yml b/html/changelogs/AutoChangeLog-pr-11202.yml new file mode 100644 index 0000000000..5c5c5da66b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11202.yml @@ -0,0 +1,4 @@ +author: "Hatterhat" +delete-after: True +changes: + - rscadd: "Beegions! Like Legions, but with actual bees. As in, the bees from the holodeck sim with the randomly-generated toxic bees." diff --git a/html/changelogs/AutoChangeLog-pr-11219.yml b/html/changelogs/AutoChangeLog-pr-11219.yml new file mode 100644 index 0000000000..8340efea51 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11219.yml @@ -0,0 +1,5 @@ +author: "YakumoChen" +delete-after: True +changes: + - imageadd: "Nekomata (double cat) tails." + - imageadd: "2CAT LMAO" diff --git a/html/changelogs/AutoChangeLog-pr-11220.yml b/html/changelogs/AutoChangeLog-pr-11220.yml new file mode 100644 index 0000000000..1d46cede32 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11220.yml @@ -0,0 +1,4 @@ +author: "Kraseo" +delete-after: True +changes: + - balance: "If you have the powersink objective, you will now receive a free beacon." diff --git a/html/changelogs/AutoChangeLog-pr-10623.yml b/html/changelogs/AutoChangeLog-pr-11227.yml similarity index 52% rename from html/changelogs/AutoChangeLog-pr-10623.yml rename to html/changelogs/AutoChangeLog-pr-11227.yml index 623560f7d2..11b5474115 100644 --- a/html/changelogs/AutoChangeLog-pr-10623.yml +++ b/html/changelogs/AutoChangeLog-pr-11227.yml @@ -1,4 +1,4 @@ author: "Putnam3145" delete-after: True changes: - - rscadd: "Lots of new traitor objectives" + - tweak: "Salbutamol causes jittering now." diff --git a/html/changelogs/AutoChangeLog-pr-11081.yml b/html/changelogs/AutoChangeLog-pr-11235.yml similarity index 51% rename from html/changelogs/AutoChangeLog-pr-11081.yml rename to html/changelogs/AutoChangeLog-pr-11235.yml index 2fcb15b7aa..bad485400b 100644 --- a/html/changelogs/AutoChangeLog-pr-11081.yml +++ b/html/changelogs/AutoChangeLog-pr-11235.yml @@ -1,4 +1,4 @@ author: "Detective-Google" delete-after: True changes: - - bugfix: "valentines candy no longer prefbreaks" + - bugfix: "my dumb stupid paramedics" diff --git a/html/changelogs/AutoChangeLog-pr-11105.yml b/html/changelogs/AutoChangeLog-pr-11240.yml similarity index 54% rename from html/changelogs/AutoChangeLog-pr-11105.yml rename to html/changelogs/AutoChangeLog-pr-11240.yml index 0c7ac7b1e6..dc9e24e86f 100644 --- a/html/changelogs/AutoChangeLog-pr-11105.yml +++ b/html/changelogs/AutoChangeLog-pr-11240.yml @@ -1,4 +1,4 @@ author: "Trilbyspaceclone" delete-after: True changes: - - bugfix: "Crabs are now made of crab meat." + - balance: "Blobs now can store 250 points." diff --git a/html/changelogs/AutoChangeLog-pr-11241.yml b/html/changelogs/AutoChangeLog-pr-11241.yml new file mode 100644 index 0000000000..41f50fdf26 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11241.yml @@ -0,0 +1,5 @@ +author: "MrPerson" +delete-after: True +changes: + - rscadd: "Solar panels will visually rotate a lot more smoothly instead of being locked to only 8 directions." + - rscadd: "Timed solar tracking is in degrees per minute. You're still not gonna use it though." diff --git a/html/changelogs/AutoChangeLog-pr-11242.yml b/html/changelogs/AutoChangeLog-pr-11242.yml new file mode 100644 index 0000000000..e421ee1c72 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11242.yml @@ -0,0 +1,5 @@ +author: "Kraseo" +delete-after: True +changes: + - rscadd: "Lavaland flora have more traits now, to encourage harvesting and sending these off to the botanists." + - bugfix: "Napalm will now properly remove weeds from a tray if the plant in it has the fireproof gene." diff --git a/html/changelogs/AutoChangeLog-pr-11244.yml b/html/changelogs/AutoChangeLog-pr-11244.yml new file mode 100644 index 0000000000..ee262dc682 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11244.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "Fixed viruses not working on anthros and some others species." diff --git a/html/changelogs/AutoChangeLog-pr-10773.yml b/html/changelogs/AutoChangeLog-pr-11248.yml similarity index 56% rename from html/changelogs/AutoChangeLog-pr-10773.yml rename to html/changelogs/AutoChangeLog-pr-11248.yml index 64ab5ce124..f7b845926a 100644 --- a/html/changelogs/AutoChangeLog-pr-10773.yml +++ b/html/changelogs/AutoChangeLog-pr-11248.yml @@ -1,4 +1,4 @@ author: "Putnam3145" delete-after: True changes: - - bugfix: "Hypno prefs work better." + - bugfix: "Made lickable pref save" diff --git a/html/changelogs/AutoChangeLog-pr-10748.yml b/html/changelogs/AutoChangeLog-pr-11249.yml similarity index 50% rename from html/changelogs/AutoChangeLog-pr-10748.yml rename to html/changelogs/AutoChangeLog-pr-11249.yml index a2afda81aa..2988e5ca92 100644 --- a/html/changelogs/AutoChangeLog-pr-10748.yml +++ b/html/changelogs/AutoChangeLog-pr-11249.yml @@ -1,4 +1,4 @@ author: "Trilbyspaceclone" delete-after: True changes: - - bugfix: "Vault hallway door being all access" + - spellcheck: "Alien bar stool is no longer bronze" diff --git a/html/changelogs/AutoChangeLog-pr-11251.yml b/html/changelogs/AutoChangeLog-pr-11251.yml new file mode 100644 index 0000000000..0d22ba89ff --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11251.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - server: "28 days log changlogs have been added well 56+ day old changlogs have been removed" diff --git a/html/changelogs/AutoChangeLog-pr-11254.yml b/html/changelogs/AutoChangeLog-pr-11254.yml new file mode 100644 index 0000000000..63856f65e8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11254.yml @@ -0,0 +1,4 @@ +author: "Bhijn" +delete-after: True +changes: + - tweak: "Clicking an open closet with harm intent no longer attempts to place your currently held item inside, but rather attacks it." diff --git a/html/changelogs/AutoChangeLog-pr-11257.yml b/html/changelogs/AutoChangeLog-pr-11257.yml new file mode 100644 index 0000000000..1c96361503 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11257.yml @@ -0,0 +1,4 @@ +author: "Linzolle" +delete-after: True +changes: + - tweak: "pacifists can no longer meatspike living things" diff --git a/html/changelogs/AutoChangeLog-pr-11260.yml b/html/changelogs/AutoChangeLog-pr-11260.yml new file mode 100644 index 0000000000..52a0df9118 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11260.yml @@ -0,0 +1,4 @@ +author: "Kraseo" +delete-after: True +changes: + - balance: "Gangs no longer get soporific rounds for their sniper rifles." diff --git a/html/changelogs/AutoChangeLog-pr-11265.yml b/html/changelogs/AutoChangeLog-pr-11265.yml new file mode 100644 index 0000000000..1b244cd674 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11265.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - sounddel: "Made the cogchamp mixing sound less annoying." diff --git a/html/changelogs/AutoChangeLog-pr-9860.yml b/html/changelogs/AutoChangeLog-pr-9860.yml deleted file mode 100644 index c9d75aa7b9..0000000000 --- a/html/changelogs/AutoChangeLog-pr-9860.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "tralezab, bandit, Skoglol" -delete-after: True -changes: - - rscadd: "The mime's PDA messages are silent now!" - - rscadd: "30 new emoji have been added. Mime buff, mime now OP." diff --git a/icons/effects/96x96.dmi b/icons/effects/96x96.dmi index c0b5ef5b40..b60ff97b2b 100644 Binary files a/icons/effects/96x96.dmi and b/icons/effects/96x96.dmi differ diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi index 7a28827903..1a2c0e189a 100644 Binary files a/icons/mob/back.dmi and b/icons/mob/back.dmi differ diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 499b1db21d..01e9f2ac2c 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/head_muzzled.dmi b/icons/mob/head_muzzled.dmi index a318f394f8..5430f07726 100644 Binary files a/icons/mob/head_muzzled.dmi and b/icons/mob/head_muzzled.dmi differ diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index 8ea155256c..c21fa47b9c 100644 Binary files a/icons/mob/hud.dmi and b/icons/mob/hud.dmi differ diff --git a/icons/mob/inhands/equipment/custodial_lefthand.dmi b/icons/mob/inhands/equipment/custodial_lefthand.dmi index 90ffd2495e..eaed11867c 100644 Binary files a/icons/mob/inhands/equipment/custodial_lefthand.dmi and b/icons/mob/inhands/equipment/custodial_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/custodial_righthand.dmi b/icons/mob/inhands/equipment/custodial_righthand.dmi index 33e708f8c9..dc7ee742a3 100644 Binary files a/icons/mob/inhands/equipment/custodial_righthand.dmi and b/icons/mob/inhands/equipment/custodial_righthand.dmi differ diff --git a/icons/mob/inhands/equipment/toolbox_lefthand.dmi b/icons/mob/inhands/equipment/toolbox_lefthand.dmi index c0caf78855..06cdd60168 100644 Binary files a/icons/mob/inhands/equipment/toolbox_lefthand.dmi and b/icons/mob/inhands/equipment/toolbox_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/toolbox_righthand.dmi b/icons/mob/inhands/equipment/toolbox_righthand.dmi index 1d016e35a9..acb93257c9 100644 Binary files a/icons/mob/inhands/equipment/toolbox_righthand.dmi and b/icons/mob/inhands/equipment/toolbox_righthand.dmi differ diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index 71c453856a..4ca4a351c6 100644 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index 0ca09ad810..8546a78a73 100644 Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ diff --git a/icons/mob/inhands/misc/chairs_lefthand.dmi b/icons/mob/inhands/misc/chairs_lefthand.dmi index 7377787a63..a74ac1f58b 100644 Binary files a/icons/mob/inhands/misc/chairs_lefthand.dmi and b/icons/mob/inhands/misc/chairs_lefthand.dmi differ diff --git a/icons/mob/inhands/misc/chairs_righthand.dmi b/icons/mob/inhands/misc/chairs_righthand.dmi index f04962de18..9a0d2a478b 100644 Binary files a/icons/mob/inhands/misc/chairs_righthand.dmi and b/icons/mob/inhands/misc/chairs_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/melee_lefthand.dmi b/icons/mob/inhands/weapons/melee_lefthand.dmi index fc82db43ae..bb4289a860 100644 Binary files a/icons/mob/inhands/weapons/melee_lefthand.dmi and b/icons/mob/inhands/weapons/melee_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/melee_righthand.dmi b/icons/mob/inhands/weapons/melee_righthand.dmi index a93a4e38d5..4e9f5266b2 100644 Binary files a/icons/mob/inhands/weapons/melee_righthand.dmi and b/icons/mob/inhands/weapons/melee_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/staves_lefthand.dmi b/icons/mob/inhands/weapons/staves_lefthand.dmi index 8b96b84236..ca1694b1f1 100644 Binary files a/icons/mob/inhands/weapons/staves_lefthand.dmi and b/icons/mob/inhands/weapons/staves_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/staves_righthand.dmi b/icons/mob/inhands/weapons/staves_righthand.dmi index 202bab9e21..4d366d950f 100644 Binary files a/icons/mob/inhands/weapons/staves_righthand.dmi and b/icons/mob/inhands/weapons/staves_righthand.dmi differ diff --git a/icons/mob/landmarks.dmi b/icons/mob/landmarks.dmi index 120745ed44..284809da70 100644 Binary files a/icons/mob/landmarks.dmi and b/icons/mob/landmarks.dmi differ diff --git a/icons/mob/mob.dmi b/icons/mob/mob.dmi index 4de67f41f8..de09fb1c63 100644 Binary files a/icons/mob/mob.dmi and b/icons/mob/mob.dmi differ diff --git a/icons/mob/sharks.dmi b/icons/mob/sharks.dmi new file mode 100644 index 0000000000..e1b9228ba9 Binary files /dev/null and b/icons/mob/sharks.dmi differ diff --git a/icons/mob/simple_human.dmi b/icons/mob/simple_human.dmi index bd6472ed42..a6080838f1 100644 Binary files a/icons/mob/simple_human.dmi and b/icons/mob/simple_human.dmi differ diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index 6b1b9591b7..41f2693800 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/mob/suit_digi.dmi b/icons/mob/suit_digi.dmi index c6bda60d38..da51f9e621 100644 Binary files a/icons/mob/suit_digi.dmi and b/icons/mob/suit_digi.dmi differ diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index 69d8966329..bcde4d84f7 100644 Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index 55cbcc66e0..a26b01883e 100644 Binary files a/icons/obj/ammo.dmi and b/icons/obj/ammo.dmi differ diff --git a/icons/obj/barsigns.dmi b/icons/obj/barsigns.dmi index 1fffa2e540..22f3071862 100644 Binary files a/icons/obj/barsigns.dmi and b/icons/obj/barsigns.dmi differ diff --git a/icons/obj/chairs.dmi b/icons/obj/chairs.dmi index 9e8fb64aba..1c09cf94dc 100644 Binary files a/icons/obj/chairs.dmi and b/icons/obj/chairs.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index d355ade9fe..d5f3be5fdd 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index 81ef85bb08..470f2a9d69 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi index ce458a1de3..0881a2c289 100644 Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ diff --git a/icons/obj/crates.dmi b/icons/obj/crates.dmi index ca81686e94..ecb66d0119 100644 Binary files a/icons/obj/crates.dmi and b/icons/obj/crates.dmi differ diff --git a/icons/obj/economy.dmi b/icons/obj/economy.dmi index fef7637ba6..9cc6498454 100644 Binary files a/icons/obj/economy.dmi and b/icons/obj/economy.dmi differ diff --git a/icons/obj/guns/projectile.dmi b/icons/obj/guns/projectile.dmi index b85c769bcd..f859e8b1e7 100644 Binary files a/icons/obj/guns/projectile.dmi and b/icons/obj/guns/projectile.dmi differ diff --git a/icons/obj/hand_of_god_structures.dmi b/icons/obj/hand_of_god_structures.dmi index 4f18b2e68d..3f640d4d57 100644 Binary files a/icons/obj/hand_of_god_structures.dmi and b/icons/obj/hand_of_god_structures.dmi differ diff --git a/icons/obj/improvised.dmi b/icons/obj/improvised.dmi index a6dfa330e8..b90e3cb3bb 100644 Binary files a/icons/obj/improvised.dmi and b/icons/obj/improvised.dmi differ diff --git a/icons/obj/items_and_weapons.dmi b/icons/obj/items_and_weapons.dmi index 561b1890e8..bdad12b0b6 100644 Binary files a/icons/obj/items_and_weapons.dmi and b/icons/obj/items_and_weapons.dmi differ diff --git a/icons/obj/janitor.dmi b/icons/obj/janitor.dmi index 9128654a5b..802e165550 100644 Binary files a/icons/obj/janitor.dmi and b/icons/obj/janitor.dmi differ diff --git a/icons/obj/library.dmi b/icons/obj/library.dmi index 45181b7c8d..be12ab5f8b 100644 Binary files a/icons/obj/library.dmi and b/icons/obj/library.dmi differ diff --git a/icons/obj/machines/pool.dmi b/icons/obj/machines/pool.dmi new file mode 100644 index 0000000000..2bfb4f8c40 Binary files /dev/null and b/icons/obj/machines/pool.dmi differ diff --git a/icons/obj/smooth_structures/table_greyscale.dmi b/icons/obj/smooth_structures/table_greyscale.dmi new file mode 100644 index 0000000000..a04a51efc7 Binary files /dev/null and b/icons/obj/smooth_structures/table_greyscale.dmi differ diff --git a/icons/obj/stack_objects.dmi b/icons/obj/stack_objects.dmi index a80dc92b9a..5b0c05d43d 100644 Binary files a/icons/obj/stack_objects.dmi and b/icons/obj/stack_objects.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index a92af16e96..56c32eb889 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/icons/obj/surgery.dmi b/icons/obj/surgery.dmi index fcc28de7b9..e998ce442d 100755 Binary files a/icons/obj/surgery.dmi and b/icons/obj/surgery.dmi differ diff --git a/icons/obj/toy.dmi b/icons/obj/toy.dmi index d5cae1db93..698c1f7a34 100644 Binary files a/icons/obj/toy.dmi and b/icons/obj/toy.dmi differ diff --git a/icons/turf/areas.dmi b/icons/turf/areas.dmi index aad3e78590..a35837eedd 100644 Binary files a/icons/turf/areas.dmi and b/icons/turf/areas.dmi differ diff --git a/icons/turf/pool.dmi b/icons/turf/pool.dmi new file mode 100644 index 0000000000..211776ed93 Binary files /dev/null and b/icons/turf/pool.dmi differ diff --git a/modular_citadel/code/_onclick/item_attack.dm b/modular_citadel/code/_onclick/item_attack.dm index 80281ee084..d87b2be661 100644 --- a/modular_citadel/code/_onclick/item_attack.dm +++ b/modular_citadel/code/_onclick/item_attack.dm @@ -1,12 +1,12 @@ /obj/item/proc/rightclick_melee_attack_chain(mob/user, atom/target, params) - if(!pre_altattackby(target, user, params)) //Hey, does this item have special behavior that should override all normal right-click functionality? + if(!alt_pre_attack(target, user, params)) //Hey, does this item have special behavior that should override all normal right-click functionality? if(!target.altattackby(src, user, params)) //Does the target do anything special when we right-click on it? melee_attack_chain(user, target, params) //Ugh. Lame! I'm filing a legal complaint about the discrimination against the right mouse button! else altafterattack(target, user, TRUE, params) return -/obj/item/proc/pre_altattackby(atom/A, mob/living/user, params) +/obj/item/proc/alt_pre_attack(atom/A, mob/living/user, params) return FALSE //return something other than false if you wanna override attacking completely /atom/proc/altattackby(obj/item/W, mob/user, params) diff --git a/modular_citadel/code/modules/projectiles/boxes_magazines/external/pistol.dm b/modular_citadel/code/modules/projectiles/boxes_magazines/external/pistol.dm index dd45c0278a..c39c66578b 100644 --- a/modular_citadel/code/modules/projectiles/boxes_magazines/external/pistol.dm +++ b/modular_citadel/code/modules/projectiles/boxes_magazines/external/pistol.dm @@ -3,7 +3,7 @@ desc = "A gun magazine. Loaded with rounds which ignite the target.." id = "10mminc" build_type = PROTOLATHE - materials = list(MAT_PLASMA = 50000, MAT_METAL = 18000) + materials = list(/datum/material/plasma = 50000, /datum/material/iron = 18000) reagents_list = list(/datum/reagent/toxin/plasma = 120, /datum/reagent/napalm = 240) build_path = /obj/item/ammo_box/magazine/m10mm/fire category = list("Weapons") @@ -14,7 +14,7 @@ desc = "A gun magazine." id = "10mm" build_type = PROTOLATHE - materials = list(MAT_METAL = 55000) + materials = list(/datum/material/iron = 55000) build_path = /obj/item/ammo_box/magazine/m10mm category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -24,7 +24,7 @@ desc = "A gun magazine. Loaded with hollow-point rounds, extremely effective against unarmored targets, but nearly useless against protective clothing." id = "10mmhp" build_type = PROTOLATHE - materials = list(MAT_METAL = 40000, MAT_GLASS = 50000) + materials = list(/datum/material/iron = 40000, /datum/material/glass = 50000) reagents_list = list(/datum/reagent/sonic_powder = 280) build_path = /obj/item/ammo_box/magazine/m10mm/hp category = list("Ammo") @@ -35,7 +35,7 @@ desc = "A gun magazine. Loaded with rounds which penetrate armour, but are less effective against normal targets." id = "10mmap" build_type = PROTOLATHE - materials = list(MAT_METAL = 40000, MAT_TITANIUM = 60000) + materials = list(/datum/material/iron = 40000, /datum/material/titanium = 60000) build_path = /obj/item/ammo_box/magazine/m10mm/ap category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -45,7 +45,7 @@ desc = "A stripper clip used to quickly load bolt action rifles. Contains 5 rounds." id = "bolt_clip" build_type = PROTOLATHE - materials = list(MAT_METAL = 8000) + materials = list(/datum/material/iron = 8000) build_path = /obj/item/ammo_box/a762 category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -54,7 +54,7 @@ name = "handgun magazine (.45)" id = "m45" build_type = PROTOLATHE - materials = list(MAT_METAL = 80000) + materials = list(/datum/material/iron = 80000) build_path = /obj/item/ammo_box/magazine/m45 category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -64,7 +64,7 @@ desc = "A gun magazine." id = "pistolm9mm" build_type = PROTOLATHE - materials = list(MAT_METAL = 80000) + materials = list(/datum/material/iron = 80000) build_path = /obj/item/ammo_box/magazine/pistolm9mm category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -74,7 +74,7 @@ desc = "A revolver speedloader." id = "sl357" build_type = PROTOLATHE - materials = list(MAT_METAL = 30000) + materials = list(/datum/material/iron = 30000) build_path = /obj/item/ammo_box/a357 category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -84,7 +84,7 @@ desc = "A revolver speedloader. Cuts through like a hot knife through butter." id = "sl357ap" build_type = PROTOLATHE - materials = list(MAT_METAL = 30000, MAT_TITANIUM = 45000) + materials = list(/datum/material/iron = 30000, /datum/material/titanium = 45000) build_path = /obj/item/ammo_box/a357/ap category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY diff --git a/modular_citadel/code/modules/projectiles/guns/ballistic/rifles.dm b/modular_citadel/code/modules/projectiles/guns/ballistic/rifles.dm index 37198e87cf..8a1310d2f1 100644 --- a/modular_citadel/code/modules/projectiles/guns/ballistic/rifles.dm +++ b/modular_citadel/code/modules/projectiles/guns/ballistic/rifles.dm @@ -24,7 +24,7 @@ icon_state = "toy9magazine" max_ammo = 30 multiple_sprites = 2 - materials = list(MAT_METAL = 200) + custom_materials = list(/datum/material/iron = 200) /obj/item/gun/ballistic/automatic/x9/toy name = "\improper Foam Force X9" @@ -65,7 +65,7 @@ icon_state = "toy9magazine" max_ammo = 30 multiple_sprites = 2 - materials = list(MAT_METAL = 200) + custom_materials = list(/datum/material/iron = 200) /obj/item/gun/ballistic/automatic/x9/toy name = "\improper Foam Force X9" @@ -201,7 +201,7 @@ icon_state = "AM4MAG-60" max_ammo = 60 multiple_sprites = 0 - materials = list(MAT_METAL = 200) + custom_materials = list(/datum/material/iron = 200) /obj/item/gun/ballistic/automatic/AM4B name = "AM4-B" @@ -253,7 +253,7 @@ icon_state = "AM4MAG-32" max_ammo = 32 multiple_sprites = 0 - materials = list(MAT_METAL = 200) + custom_materials = list(/datum/material/iron = 200) /obj/item/gun/ballistic/automatic/AM4C name = "AM4-C" diff --git a/modular_citadel/code/modules/projectiles/guns/toys.dm b/modular_citadel/code/modules/projectiles/guns/toys.dm index 731f990cfb..6715c64d4e 100644 --- a/modular_citadel/code/modules/projectiles/guns/toys.dm +++ b/modular_citadel/code/modules/projectiles/guns/toys.dm @@ -57,7 +57,7 @@ desc = "An authentic cap-firing reproduction of a F3 Justicar big-bore revolver! Pretend to blow your friend's brains out with this 100% safe toy! Satisfaction guaranteed!" icon_state = "justicar" icon = 'modular_citadel/icons/obj/guns/toys.dmi' - materials = list(MAT_METAL=2000, MAT_GLASS=250) + custom_materials = list(/datum/material/iron=2000, /datum/material/glass=250) /obj/item/toy/gun/m41 @@ -65,4 +65,4 @@ desc = "A toy replica of the Corporate Mercenaries' standard issue rifle. For Avtomat is inscribed on the side." icon_state = "toym41" icon = 'modular_citadel/icons/obj/guns/toys.dmi' - materials = list(MAT_METAL=2000, MAT_GLASS=250) + custom_materials = list(/datum/material/iron=2000, /datum/material/glass=250) diff --git a/modular_citadel/icons/mob/mam_tails.dmi b/modular_citadel/icons/mob/mam_tails.dmi index d59cf43a68..c2a89eab9a 100644 Binary files a/modular_citadel/icons/mob/mam_tails.dmi and b/modular_citadel/icons/mob/mam_tails.dmi differ diff --git a/sound/bloodsucker/lunge_warn.ogg b/sound/bloodsucker/lunge_warn.ogg new file mode 100644 index 0000000000..0feec43228 Binary files /dev/null and b/sound/bloodsucker/lunge_warn.ogg differ diff --git a/sound/effects/fillingwatter.ogg b/sound/effects/fillingwatter.ogg new file mode 100644 index 0000000000..e1d2e19276 Binary files /dev/null and b/sound/effects/fillingwatter.ogg differ diff --git a/sound/effects/pooldrain.ogg b/sound/effects/pooldrain.ogg new file mode 100644 index 0000000000..8576dedc3d Binary files /dev/null and b/sound/effects/pooldrain.ogg differ diff --git a/sound/effects/splash.ogg b/sound/effects/splash.ogg new file mode 100644 index 0000000000..22f17c0790 Binary files /dev/null and b/sound/effects/splash.ogg differ diff --git a/sound/effects/water_wade1.ogg b/sound/effects/water_wade1.ogg new file mode 100644 index 0000000000..27527f9d8b Binary files /dev/null and b/sound/effects/water_wade1.ogg differ diff --git a/sound/effects/water_wade2.ogg b/sound/effects/water_wade2.ogg new file mode 100644 index 0000000000..f9c15cab64 Binary files /dev/null and b/sound/effects/water_wade2.ogg differ diff --git a/sound/effects/water_wade3.ogg b/sound/effects/water_wade3.ogg new file mode 100644 index 0000000000..3daccae01a Binary files /dev/null and b/sound/effects/water_wade3.ogg differ diff --git a/sound/effects/water_wade4.ogg b/sound/effects/water_wade4.ogg new file mode 100644 index 0000000000..7ba705f499 Binary files /dev/null and b/sound/effects/water_wade4.ogg differ diff --git a/sound/effects/watersplash.ogg b/sound/effects/watersplash.ogg new file mode 100644 index 0000000000..a9a6e48608 Binary files /dev/null and b/sound/effects/watersplash.ogg differ diff --git a/sound/misc/crack.ogg b/sound/misc/crack.ogg new file mode 100644 index 0000000000..1fb5738051 Binary files /dev/null and b/sound/misc/crack.ogg differ diff --git a/sound/misc/crunch.ogg b/sound/misc/crunch.ogg new file mode 100644 index 0000000000..c73e1fae60 Binary files /dev/null and b/sound/misc/crunch.ogg differ diff --git a/sound/weapons/staff.ogg b/sound/weapons/staff.ogg new file mode 100644 index 0000000000..35b42dfd8d Binary files /dev/null and b/sound/weapons/staff.ogg differ diff --git a/strings/ion_laws.json b/strings/ion_laws.json index 1c28d5d5e5..55913dc3f4 100644 --- a/strings/ion_laws.json +++ b/strings/ion_laws.json @@ -331,7 +331,8 @@ "BOTANISTS", "RESEARCH DIRECTORS", "CHIEF MEDICAL OFFICERS", - "MEDICAL DOCTORS", + "MEDICAL DOCTORS", + "PARAMEDICS", "CHEMISTS", "GENETICISTS", "VIROLOGISTS", diff --git a/strings/spurdo_replacement.json b/strings/spurdo_replacement.json new file mode 100644 index 0000000000..71c7c8d356 --- /dev/null +++ b/strings/spurdo_replacement.json @@ -0,0 +1,14 @@ +{ + + "spurdo": { + "epic": "ebin", + "c": "g", + "ck": "gg", + "k": "g", + "t": "d", + "p": "b", + "x": "gs" + } + + +} \ No newline at end of file diff --git a/tgstation.dme b/tgstation.dme index 83ddb4d336..56de435da5 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -1,3 +1,4 @@ + // DM Environment file for tgstation.dme. // All manual changes should be made outside the BEGIN_ and END_ blocks. // New source code should be placed in .dm files: choose File/New --> Code File. @@ -62,6 +63,7 @@ #include "code\__DEFINES\logging.dm" #include "code\__DEFINES\machines.dm" #include "code\__DEFINES\maps.dm" +#include "code\__DEFINES\materials.dm" #include "code\__DEFINES\maths.dm" #include "code\__DEFINES\MC.dm" #include "code\__DEFINES\medal.dm" @@ -77,6 +79,8 @@ #include "code\__DEFINES\obj_flags.dm" #include "code\__DEFINES\pinpointers.dm" #include "code\__DEFINES\pipe_construction.dm" +#include "code\__DEFINES\power.dm" +#include "code\__DEFINES\pool.dm" #include "code\__DEFINES\preferences.dm" #include "code\__DEFINES\procpath.dm" #include "code\__DEFINES\profile.dm" @@ -242,6 +246,7 @@ #include "code\controllers\subsystem\assets.dm" #include "code\controllers\subsystem\atoms.dm" #include "code\controllers\subsystem\augury.dm" +#include "code\controllers\subsystem\autotransfer.dm" #include "code\controllers\subsystem\blackbox.dm" #include "code\controllers\subsystem\chat.dm" #include "code\controllers\subsystem\communications.dm" @@ -262,6 +267,7 @@ #include "code\controllers\subsystem\lighting.dm" #include "code\controllers\subsystem\machines.dm" #include "code\controllers\subsystem\mapping.dm" +#include "code\controllers\subsystem\materials.dm" #include "code\controllers\subsystem\medals.dm" #include "code\controllers\subsystem\minor_mapping.dm" #include "code\controllers\subsystem\mobs.dm" @@ -369,6 +375,7 @@ #include "code\datums\components\earprotection.dm" #include "code\datums\components\edit_complainer.dm" #include "code\datums\components\empprotection.dm" +#include "code\datums\components\explodable.dm" #include "code\datums\components\footstep.dm" #include "code\datums\components\forced_gravity.dm" #include "code\datums\components\igniter.dm" @@ -460,10 +467,12 @@ #include "code\datums\diseases\advance\symptoms\confusion.dm" #include "code\datums\diseases\advance\symptoms\cough.dm" #include "code\datums\diseases\advance\symptoms\deafness.dm" +#include "code\datums\diseases\advance\symptoms\disfiguration.dm" #include "code\datums\diseases\advance\symptoms\dizzy.dm" #include "code\datums\diseases\advance\symptoms\fever.dm" #include "code\datums\diseases\advance\symptoms\fire.dm" #include "code\datums\diseases\advance\symptoms\flesh_eating.dm" +#include "code\datums\diseases\advance\symptoms\genetics.dm" #include "code\datums\diseases\advance\symptoms\hallucigen.dm" #include "code\datums\diseases\advance\symptoms\headache.dm" #include "code\datums\diseases\advance\symptoms\heal.dm" @@ -489,8 +498,12 @@ #include "code\datums\elements\dusts_on_catatonia.dm" #include "code\datums\elements\dusts_on_leaving_area.dm" #include "code\datums\elements\earhealing.dm" +#include "code\datums\elements\firestacker.dm" #include "code\datums\elements\ghost_role_eligibility.dm" #include "code\datums\elements\mob_holder.dm" +#include "code\datums\elements\swimming.dm" +#include "code\datums\elements\update_icon_blocker.dm" +#include "code\datums\elements\update_icon_updates_onmob.dm" #include "code\datums\elements\wuv.dm" #include "code\datums\helper_datums\events.dm" #include "code\datums\helper_datums\getrev.dm" @@ -509,6 +522,8 @@ #include "code\datums\martial\rising_bass.dm" #include "code\datums\martial\sleeping_carp.dm" #include "code\datums\martial\wrestling.dm" +#include "code\datums\materials\_material.dm" +#include "code\datums\materials\basemats.dm" #include "code\datums\mood_events\beauty_events.dm" #include "code\datums\mood_events\drink_events.dm" #include "code\datums\mood_events\drug_events.dm" @@ -1298,18 +1313,18 @@ #include "code\modules\antagonists\bloodsucker\objects\bloodsucker_coffin.dm" #include "code\modules\antagonists\bloodsucker\objects\bloodsucker_crypt.dm" #include "code\modules\antagonists\bloodsucker\objects\bloodsucker_lair.dm" -#include "code\modules\antagonists\bloodsucker\powers\bs_brawn.dm" -#include "code\modules\antagonists\bloodsucker\powers\bs_cloak.dm" -#include "code\modules\antagonists\bloodsucker\powers\bs_feed.dm" -#include "code\modules\antagonists\bloodsucker\powers\bs_fortitude.dm" -#include "code\modules\antagonists\bloodsucker\powers\bs_gohome.dm" -#include "code\modules\antagonists\bloodsucker\powers\bs_haste.dm" -#include "code\modules\antagonists\bloodsucker\powers\bs_lunge.dm" -#include "code\modules\antagonists\bloodsucker\powers\bs_masquerade.dm" -#include "code\modules\antagonists\bloodsucker\powers\bs_mesmerize.dm" -#include "code\modules\antagonists\bloodsucker\powers\bs_trespass.dm" -#include "code\modules\antagonists\bloodsucker\powers\bs_veil.dm" -#include "code\modules\antagonists\bloodsucker\powers\v_recuperate.dm" +#include "code\modules\antagonists\bloodsucker\powers\brawn.dm" +#include "code\modules\antagonists\bloodsucker\powers\cloak.dm" +#include "code\modules\antagonists\bloodsucker\powers\feed.dm" +#include "code\modules\antagonists\bloodsucker\powers\fortitude.dm" +#include "code\modules\antagonists\bloodsucker\powers\go_home.dm" +#include "code\modules\antagonists\bloodsucker\powers\haste.dm" +#include "code\modules\antagonists\bloodsucker\powers\lunge.dm" +#include "code\modules\antagonists\bloodsucker\powers\masquerade.dm" +#include "code\modules\antagonists\bloodsucker\powers\mesmerize.dm" +#include "code\modules\antagonists\bloodsucker\powers\recuperate.dm" +#include "code\modules\antagonists\bloodsucker\powers\trespass.dm" +#include "code\modules\antagonists\bloodsucker\powers\veil.dm" #include "code\modules\antagonists\brainwashing\brainwashing.dm" #include "code\modules\antagonists\brother\brother.dm" #include "code\modules\antagonists\changeling\cellular_emporium.dm" @@ -1843,18 +1858,20 @@ #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_bread.dm" #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_burger.dm" #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_cake.dm" +#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_donut.dm" #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_egg.dm" #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_frozen.dm" #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_meat.dm" +#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_mexican.dm" #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_misc.dm" #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_pastry.dm" -#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_pie.dm" +#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_pies_sweets.dm" #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_pizza.dm" #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_salad.dm" #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_sandwich.dm" +#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_seafood.dm" #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_soup.dm" #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_spaghetti.dm" -#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_sushi.dm" #include "code\modules\games\cas.dm" #include "code\modules\goonchat\browserOutput.dm" #include "code\modules\holiday\easter.dm" @@ -1983,6 +2000,7 @@ #include "code\modules\jobs\job_types\lawyer.dm" #include "code\modules\jobs\job_types\medical_doctor.dm" #include "code\modules\jobs\job_types\mime.dm" +#include "code\modules\jobs\job_types\paramedic.dm" #include "code\modules\jobs\job_types\quartermaster.dm" #include "code\modules\jobs\job_types\research_director.dm" #include "code\modules\jobs\job_types\roboticist.dm" @@ -2322,6 +2340,7 @@ #include "code\modules\mob\living\simple_animal\bot\mulebot.dm" #include "code\modules\mob\living\simple_animal\bot\secbot.dm" #include "code\modules\mob\living\simple_animal\bot\SuperBeepsky.dm" +#include "code\modules\mob\living\simple_animal\friendly\bumbles.dm" #include "code\modules\mob\living\simple_animal\friendly\butterfly.dm" #include "code\modules\mob\living\simple_animal\friendly\cat.dm" #include "code\modules\mob\living\simple_animal\friendly\cockroach.dm" @@ -2363,6 +2382,7 @@ #include "code\modules\mob\living\simple_animal\hostile\bees.dm" #include "code\modules\mob\living\simple_animal\hostile\carp.dm" #include "code\modules\mob\living\simple_animal\hostile\cat_butcher.dm" +#include "code\modules\mob\living\simple_animal\hostile\dark_wizard.dm" #include "code\modules\mob\living\simple_animal\hostile\eyeballs.dm" #include "code\modules\mob\living\simple_animal\hostile\faithless.dm" #include "code\modules\mob\living\simple_animal\hostile\giant_spider.dm" @@ -2379,6 +2399,7 @@ #include "code\modules\mob\living\simple_animal\hostile\netherworld.dm" #include "code\modules\mob\living\simple_animal\hostile\pirate.dm" #include "code\modules\mob\living\simple_animal\hostile\russian.dm" +#include "code\modules\mob\living\simple_animal\hostile\sharks.dm" #include "code\modules\mob\living\simple_animal\hostile\skeleton.dm" #include "code\modules\mob\living\simple_animal\hostile\statue.dm" #include "code\modules\mob\living\simple_animal\hostile\stickman.dm" @@ -2535,6 +2556,13 @@ #include "code\modules\photography\photos\album.dm" #include "code\modules\photography\photos\frame.dm" #include "code\modules\photography\photos\photo.dm" +#include "code\modules\pool\pool_controller.dm" +#include "code\modules\pool\pool_drain.dm" +#include "code\modules\pool\pool_effects.dm" +#include "code\modules\pool\pool_main.dm" +#include "code\modules\pool\pool_noodles.dm" +#include "code\modules\pool\pool_structures.dm" +#include "code\modules\pool\pool_wires.dm" #include "code\modules\power\apc.dm" #include "code\modules\power\cable.dm" #include "code\modules\power\cell.dm" @@ -2823,7 +2851,6 @@ #include "code\modules\research\nanites\nanite_chamber.dm" #include "code\modules\research\nanites\nanite_chamber_computer.dm" #include "code\modules\research\nanites\nanite_cloud_controller.dm" -#include "code\modules\research\nanites\nanite_hijacker.dm" #include "code\modules\research\nanites\nanite_misc_items.dm" #include "code\modules\research\nanites\nanite_program_hub.dm" #include "code\modules\research\nanites\nanite_programmer.dm" @@ -2831,6 +2858,12 @@ #include "code\modules\research\nanites\nanite_remote.dm" #include "code\modules\research\nanites\program_disks.dm" #include "code\modules\research\nanites\public_chamber.dm" +#include "code\modules\research\nanites\rules.dm" +#include "code\modules\research\nanites\extra_settings\_extra_setting.dm" +#include "code\modules\research\nanites\extra_settings\boolean.dm" +#include "code\modules\research\nanites\extra_settings\number.dm" +#include "code\modules\research\nanites\extra_settings\text.dm" +#include "code\modules\research\nanites\extra_settings\type.dm" #include "code\modules\research\nanites\nanite_programs\buffing.dm" #include "code\modules\research\nanites\nanite_programs\healing.dm" #include "code\modules\research\nanites\nanite_programs\rogue.dm" @@ -2875,6 +2908,7 @@ #include "code\modules\ruins\spaceruin_code\asteroid4.dm" #include "code\modules\ruins\spaceruin_code\bigderelict1.dm" #include "code\modules\ruins\spaceruin_code\caravanambush.dm" +#include "code\modules\ruins\spaceruin_code\clericsden.dm" #include "code\modules\ruins\spaceruin_code\cloning_lab.dm" #include "code\modules\ruins\spaceruin_code\crashedclownship.dm" #include "code\modules\ruins\spaceruin_code\crashedship.dm" diff --git a/tgui-next/packages/tgui/public/tgui.bundle.js b/tgui-next/packages/tgui/public/tgui.bundle.js index 3e11dba928..cbc23ebda0 100644 --- a/tgui-next/packages/tgui/public/tgui.bundle.js +++ b/tgui-next/packages/tgui/public/tgui.bundle.js @@ -1,3 +1,3 @@ -!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=164)}([function(e,t,n){"use strict";var o=n(5),r=n(18).f,a=n(24),i=n(22),c=n(89),l=n(122),u=n(61);e.exports=function(e,t){var n,s,d,p,f,m=e.target,h=e.global,C=e.stat;if(n=h?o:C?o[m]||c(m,{}):(o[m]||{}).prototype)for(s in t){if(p=t[s],d=e.noTargetGet?(f=r(n,s))&&f.value:n[s],!u(h?s:m+(C?".":"#")+s,e.forced)&&d!==undefined){if(typeof p==typeof d)continue;l(p,d)}(e.sham||d&&d.sham)&&a(p,"sham",!0),i(n,s,p,e)}}},function(e,t,n){"use strict";t.__esModule=!0;var o=n(386);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(t[e]=o[e])}))},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=t.Tooltip=t.Toast=t.TitleBar=t.Tabs=t.Table=t.Section=t.ProgressBar=t.NumberInput=t.NoticeBox=t.LabeledList=t.Input=t.Icon=t.Grid=t.Flex=t.Dropdown=t.Dimmer=t.Collapsible=t.ColorBox=t.Button=t.Box=t.BlockQuote=t.AnimatedNumber=void 0;var o=n(158);t.AnimatedNumber=o.AnimatedNumber;var r=n(391);t.BlockQuote=r.BlockQuote;var a=n(17);t.Box=a.Box;var i=n(114);t.Button=i.Button;var c=n(393);t.ColorBox=c.ColorBox;var l=n(394);t.Collapsible=l.Collapsible;var u=n(395);t.Dimmer=u.Dimmer;var s=n(396);t.Dropdown=s.Dropdown;var d=n(397);t.Flex=d.Flex;var p=n(161);t.Grid=p.Grid;var f=n(87);t.Icon=f.Icon;var m=n(160);t.Input=m.Input;var h=n(163);t.LabeledList=h.LabeledList;var C=n(398);t.NoticeBox=C.NoticeBox;var g=n(399);t.NumberInput=g.NumberInput;var b=n(400);t.ProgressBar=b.ProgressBar;var v=n(401);t.Section=v.Section;var N=n(162);t.Table=N.Table;var V=n(402);t.Tabs=V.Tabs;var y=n(403);t.TitleBar=y.TitleBar;var _=n(117);t.Toast=_.Toast;var x=n(159);t.Tooltip=x.Tooltip;var k=n(404);t.Chart=k.Chart},function(e,t,n){"use strict";t.__esModule=!0,t.useBackend=t.backendReducer=t.backendUpdate=void 0;var o=n(37),r=n(19);t.backendUpdate=function(e){return{type:"backendUpdate",payload:e}};t.backendReducer=function(e,t){var n=t.type,r=t.payload;if("backendUpdate"===n){var a=Object.assign({},e.config,{},r.config),i=Object.assign({},e.data,{},r.static_data,{},r.data),c=a.status!==o.UI_DISABLED,l=a.status===o.UI_INTERACTIVE;return Object.assign({},e,{config:a,data:i,visible:c,interactive:l})}return e};t.useBackend=function(e){var t=e.state,n=(e.dispatch,t.config.ref);return Object.assign({},t,{act:function(e,t){return void 0===t&&(t={}),(0,r.act)(n,e,t)}})}},function(e,t,n){"use strict";e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t,n){"use strict";(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||Function("return this")()}).call(this,n(118))},function(e,t,n){"use strict";e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){"use strict";var o,r=n(9),a=n(5),i=n(6),c=n(15),l=n(74),u=n(24),s=n(22),d=n(13).f,p=n(36),f=n(53),m=n(11),h=n(58),C=a.DataView,g=C&&C.prototype,b=a.Int8Array,v=b&&b.prototype,N=a.Uint8ClampedArray,V=N&&N.prototype,y=b&&p(b),_=v&&p(v),x=Object.prototype,k=x.isPrototypeOf,w=m("toStringTag"),L=h("TYPED_ARRAY_TAG"),B=!(!a.ArrayBuffer||!C),S=B&&!!f&&"Opera"!==l(a.opera),I=!1,T={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},A=function(e){var t=l(e);return"DataView"===t||c(T,t)},E=function(e){return i(e)&&c(T,l(e))};for(o in T)a[o]||(S=!1);if((!S||"function"!=typeof y||y===Function.prototype)&&(y=function(){throw TypeError("Incorrect invocation")},S))for(o in T)a[o]&&f(a[o],y);if((!S||!_||_===x)&&(_=y.prototype,S))for(o in T)a[o]&&f(a[o].prototype,_);if(S&&p(V)!==_&&f(V,_),r&&!c(_,w))for(o in I=!0,d(_,w,{get:function(){return i(this)?this[L]:undefined}}),T)a[o]&&u(a[o],L,o);B&&f&&p(g)!==x&&f(g,x),e.exports={NATIVE_ARRAY_BUFFER:B,NATIVE_ARRAY_BUFFER_VIEWS:S,TYPED_ARRAY_TAG:I&&L,aTypedArray:function(e){if(E(e))return e;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(e){if(f){if(k.call(y,e))return e}else for(var t in T)if(c(T,o)){var n=a[t];if(n&&(e===n||k.call(n,e)))return e}throw TypeError("Target is not a typed array constructor")},exportTypedArrayMethod:function(e,t,n){if(r){if(n)for(var o in T){var i=a[o];i&&c(i.prototype,e)&&delete i.prototype[e]}_[e]&&!n||s(_,e,n?t:S&&v[e]||t)}},exportTypedArrayStaticMethod:function(e,t,n){var o,i;if(r){if(f){if(n)for(o in T)(i=a[o])&&c(i,e)&&delete i[e];if(y[e]&&!n)return;try{return s(y,e,n?t:S&&b[e]||t)}catch(l){}}for(o in T)!(i=a[o])||i[e]&&!n||s(i,e,t)}},isView:A,isTypedArray:E,TypedArray:y,TypedArrayPrototype:_}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){if(!o(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var o=n(30),r=Math.min;e.exports=function(e){return e>0?r(o(e),9007199254740991):0}},function(e,t,n){"use strict";var o=n(5),r=n(91),a=n(15),i=n(58),c=n(95),l=n(125),u=r("wks"),s=o.Symbol,d=l?s:i;e.exports=function(e){return a(u,e)||(c&&a(s,e)?u[e]=s[e]:u[e]=d("Symbol."+e)),u[e]}},function(e,t,n){"use strict";t.__esModule=!0,t.isFalsy=t.pureComponentHooks=t.shallowDiffers=t.normalizeChildren=t.classes=void 0;t.classes=function(e){for(var t="",n=0;n_;_++)if((p||_ in N)&&(b=V(g=N[_],_,v),e))if(t)k[_]=b;else if(b)switch(e){case 3:return!0;case 5:return g;case 6:return _;case 2:l.call(k,g)}else if(s)return!1;return d?-1:u||s?s:k}};e.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6)}},function(e,t,n){"use strict";t.__esModule=!0,t.Box=t.computeBoxProps=t.unit=void 0;var o=n(1),r=n(12),a=n(392),i=n(37);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){return"string"==typeof e?e:"number"==typeof e?6*e+"px":void 0};t.unit=l;var u=function(e){return"string"==typeof e&&i.CSS_COLORS.includes(e)},s=function(e){return function(t,n){(0,r.isFalsy)(n)||(t[e]=n)}},d=function(e){return function(t,n){(0,r.isFalsy)(n)||(t[e]=l(n))}},p=function(e,t){return function(n,o){(0,r.isFalsy)(o)||(n[e]=t)}},f=function(e,t){return function(n,o){if(!(0,r.isFalsy)(o))for(var a=0;a0&&(t.style=l),t};t.computeBoxProps=C;var g=function(e){var t=e.as,n=void 0===t?"div":t,i=e.className,l=e.content,s=e.children,d=c(e,["as","className","content","children"]),p=e.textColor||e.color,f=e.backgroundColor;if("function"==typeof s)return s(C(e));var m=C(d);return(0,o.createVNode)(a.VNodeFlags.HtmlElement,n,(0,r.classes)([i,u(p)&&"color-"+p,u(f)&&"color-bg-"+f]),l||s,a.ChildFlags.UnknownChildren,m)};t.Box=g,g.defaultHooks=r.pureComponentHooks;var b=function(e){var t=e.children,n=c(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,g,Object.assign({position:"relative"},n,{children:(0,o.createComponentVNode)(2,g,{fillPositionedParent:!0,children:t})})))};b.defaultHooks=r.pureComponentHooks,g.Forced=b},function(e,t,n){"use strict";var o=n(9),r=n(71),a=n(46),i=n(23),c=n(33),l=n(15),u=n(119),s=Object.getOwnPropertyDescriptor;t.f=o?s:function(e,t){if(e=i(e),t=c(t,!0),u)try{return s(e,t)}catch(n){}if(l(e,t))return a(!r.f.call(e,t),e[t])}},function(e,t,n){"use strict";t.__esModule=!0,t.winset=t.winget=t.act=t.runCommand=t.callByondAsync=t.callByond=t.tridentVersion=void 0;var o,r=n(28),a=(o=navigator.userAgent.match(/Trident\/(\d+).+?;/i)[1])?parseInt(o,10):null;t.tridentVersion=a;var i=function(e,t){return void 0===t&&(t={}),"byond://"+e+"?"+(0,r.buildQueryString)(t)},c=function(e,t){void 0===t&&(t={}),window.location.href=i(e,t)};t.callByond=c;var l=function(e,t){void 0===t&&(t={}),window.__callbacks__=window.__callbacks__||[];var n=window.__callbacks__.length,o=new Promise((function(e){window.__callbacks__.push(e)}));return window.location.href=i(e,Object.assign({},t,{callback:"__callbacks__["+n+"]"})),o};t.callByondAsync=l;t.runCommand=function(e){return c("winset",{command:e})};t.act=function(e,t,n){return void 0===n&&(n={}),c("",Object.assign({src:e,action:t},n))};var u=function(e,t){var n;return regeneratorRuntime.async((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,regeneratorRuntime.awrap(l("winget",{id:e,property:t}));case 2:return n=o.sent,o.abrupt("return",n[t]);case 4:case"end":return o.stop()}}))};t.winget=u;t.winset=function(e,t,n){var o;return c("winset",((o={})[e+"."+t]=n,o))}},function(e,t,n){"use strict";t.__esModule=!0,t.toFixed=t.round=t.clamp=void 0;t.clamp=function(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=1),Math.max(t,Math.min(e,n))};t.round=function(e){return Math.round(e)};t.toFixed=function(e,t){return void 0===t&&(t=0),Number(e).toFixed(t)}},function(e,t,n){"use strict";e.exports=function(e){if(e==undefined)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";var o=n(5),r=n(24),a=n(15),i=n(89),c=n(90),l=n(34),u=l.get,s=l.enforce,d=String(String).split("String");(e.exports=function(e,t,n,c){var l=!!c&&!!c.unsafe,u=!!c&&!!c.enumerable,p=!!c&&!!c.noTargetGet;"function"==typeof n&&("string"!=typeof t||a(n,"name")||r(n,"name",t),s(n).source=d.join("string"==typeof t?t:"")),e!==o?(l?!p&&e[t]&&(u=!0):delete e[t],u?e[t]=n:r(e,t,n)):u?e[t]=n:i(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&u(this).source||c(this)}))},function(e,t,n){"use strict";var o=n(57),r=n(21);e.exports=function(e){return o(r(e))}},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(46);e.exports=o?function(e,t,n){return r.f(e,t,a(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){"use strict";var o=n(123),r=n(15),a=n(129),i=n(13).f;e.exports=function(e){var t=o.Symbol||(o.Symbol={});r(t,e)||i(t,e,{value:a.f(e)})}},function(e,t,n){"use strict";var o=n(21),r=/"/g;e.exports=function(e,t,n,a){var i=String(o(e)),c="<"+t;return""!==n&&(c+=" "+n+'="'+String(a).replace(r,""")+'"'),c+">"+i+""}},function(e,t,n){"use strict";var o=n(4);e.exports=function(e){return o((function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}))}},function(e,t,n){"use strict";t.__esModule=!0,t.buildQueryString=t.decodeHtmlEntities=t.toTitleCase=t.capitalize=t.testGlobPattern=t.multiline=void 0;t.multiline=function o(e){if(Array.isArray(e))return o(e.join(""));var t,n=e.split("\n"),r=n,a=Array.isArray(r),i=0;for(r=a?r:r[Symbol.iterator]();;){var c;if(a){if(i>=r.length)break;c=r[i++]}else{if((i=r.next()).done)break;c=i.value}for(var l=c,u=0;u",apos:"'"};return e.replace(/
/gi,"\n").replace(/<\/?[a-z0-9-_]+[^>]*>/gi,"").replace(/&(nbsp|amp|quot|lt|gt|apos);/g,(function(e,n){return t[n]})).replace(/&#?([0-9]+);/gi,(function(e,t){var n=parseInt(t,10);return String.fromCharCode(n)})).replace(/&#x?([0-9a-f]+);/gi,(function(e,t){var n=parseInt(t,16);return String.fromCharCode(n)}))};t.buildQueryString=function(e){return Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&")}},function(e,t,n){"use strict";t.__esModule=!0,t.zipWith=t.zip=t.reduce=t.sortBy=t.map=t.toArray=void 0;t.toArray=function(e){if(Array.isArray(e))return e;if("object"==typeof e){var t=Object.prototype.hasOwnProperty,n=[];for(var o in e)t.call(e,o)&&n.push(e[o]);return n}return[]};var o=function(e){return function(t){if(null===t&&t===undefined)return t;if(Array.isArray(t)){for(var n=[],o=0;oc)return 1}return 0};t.sortBy=function(){for(var e=arguments.length,t=new Array(e),n=0;n0?r:o)(e)}},function(e,t,n){"use strict";e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t,n){"use strict";var o={}.toString;e.exports=function(e){return o.call(e).slice(8,-1)}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e,t){if(!o(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!o(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){"use strict";var o,r,a,i=n(121),c=n(5),l=n(6),u=n(24),s=n(15),d=n(72),p=n(59),f=c.WeakMap;if(i){var m=new f,h=m.get,C=m.has,g=m.set;o=function(e,t){return g.call(m,e,t),t},r=function(e){return h.call(m,e)||{}},a=function(e){return C.call(m,e)}}else{var b=d("state");p[b]=!0,o=function(e,t){return u(e,b,t),t},r=function(e){return s(e,b)?e[b]:{}},a=function(e){return s(e,b)}}e.exports={set:o,get:r,has:a,enforce:function(e){return a(e)?r(e):o(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=r(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){"use strict";var o=n(123),r=n(5),a=function(e){return"function"==typeof e?e:undefined};e.exports=function(e,t){return arguments.length<2?a(o[e])||a(r[e]):o[e]&&o[e][t]||r[e]&&r[e][t]}},function(e,t,n){"use strict";var o=n(15),r=n(14),a=n(72),i=n(102),c=a("IE_PROTO"),l=Object.prototype;e.exports=i?Object.getPrototypeOf:function(e){return e=r(e),o(e,c)?e[c]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?l:null}},function(e,t,n){"use strict";t.__esModule=!0,t.getGasColor=t.getGasLabel=t.RADIO_CHANNELS=t.CSS_COLORS=t.COLORS=t.UI_CLOSE=t.UI_DISABLED=t.UI_UPDATE=t.UI_INTERACTIVE=void 0;t.UI_INTERACTIVE=2;t.UI_UPDATE=1;t.UI_DISABLED=0;t.UI_CLOSE=-1;t.COLORS={department:{captain:"#c06616",security:"#e74c3c",medbay:"#3498db",science:"#9b59b6",engineering:"#f1c40f",cargo:"#f39c12",centcom:"#00c100",other:"#c38312"},damageType:{oxy:"#3498db",toxin:"#2ecc71",burn:"#e67e22",brute:"#e74c3c"}};t.CSS_COLORS=["black","white","red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey","good","average","bad","label"];t.RADIO_CHANNELS=[{name:"Syndicate",freq:1213,color:"#a52a2a"},{name:"Red Team",freq:1215,color:"#ff4444"},{name:"Blue Team",freq:1217,color:"#3434fd"},{name:"CentCom",freq:1337,color:"#2681a5"},{name:"Supply",freq:1347,color:"#b88646"},{name:"Service",freq:1349,color:"#6ca729"},{name:"Science",freq:1351,color:"#c68cfa"},{name:"Command",freq:1353,color:"#5177ff"},{name:"Medical",freq:1355,color:"#57b8f0"},{name:"Engineering",freq:1357,color:"#f37746"},{name:"Security",freq:1359,color:"#dd3535"},{name:"AI Private",freq:1447,color:"#d65d95"},{name:"Common",freq:1459,color:"#1ecc43"}];var o=[{id:"o2",name:"Oxygen",label:"O\u2082",color:"blue"},{id:"n2",name:"Nitrogen",label:"N\u2082",color:"red"},{id:"co2",name:"Carbon Dioxide",label:"CO\u2082",color:"grey"},{id:"plasma",name:"Plasma",label:"Plasma",color:"pink"},{id:"water_vapor",name:"Water Vapor",label:"H\u2082O",color:"grey"},{id:"nob",name:"Hyper-noblium",label:"Hyper-nob",color:"teal"},{id:"n2o",name:"Nitrous Oxide",label:"N\u2082O",color:"red"},{id:"no2",name:"Nitryl",label:"NO\u2082",color:"brown"},{id:"tritium",name:"Tritium",label:"Tritium",color:"green"},{id:"bz",name:"BZ",label:"BZ",color:"purple"},{id:"stim",name:"Stimulum",label:"Stimulum",color:"purple"},{id:"pluox",name:"Pluoxium",label:"Pluoxium",color:"blue"},{id:"miasma",name:"Miasma",label:"Miasma",color:"olive"}];t.getGasLabel=function(e,t){var n=String(e).toLowerCase(),r=o.find((function(e){return e.id===n||e.name.toLowerCase()===n}));return r&&r.label||t||e};t.getGasColor=function(e){var t=String(e).toLowerCase(),n=o.find((function(e){return e.id===t||e.name.toLowerCase()===t}));return n&&n.color}},function(e,t,n){"use strict";e.exports=!1},function(e,t,n){"use strict";var o=n(4);e.exports=function(e,t){var n=[][e];return!n||!o((function(){n.call(null,t||function(){throw 1},1)}))}},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(9),i=n(113),c=n(7),l=n(77),u=n(55),s=n(46),d=n(24),p=n(10),f=n(137),m=n(151),h=n(33),C=n(15),g=n(74),b=n(6),v=n(42),N=n(53),V=n(47).f,y=n(152),_=n(16).forEach,x=n(54),k=n(13),w=n(18),L=n(34),B=n(79),S=L.get,I=L.set,T=k.f,A=w.f,E=Math.round,P=r.RangeError,O=l.ArrayBuffer,M=l.DataView,R=c.NATIVE_ARRAY_BUFFER_VIEWS,F=c.TYPED_ARRAY_TAG,D=c.TypedArray,j=c.TypedArrayPrototype,z=c.aTypedArrayConstructor,H=c.isTypedArray,G=function(e,t){for(var n=0,o=t.length,r=new(z(e))(o);o>n;)r[n]=t[n++];return r},U=function(e,t){T(e,t,{get:function(){return S(this)[t]}})},K=function(e){var t;return e instanceof O||"ArrayBuffer"==(t=g(e))||"SharedArrayBuffer"==t},Y=function(e,t){return H(e)&&"symbol"!=typeof t&&t in e&&String(+t)==String(t)},q=function(e,t){return Y(e,t=h(t,!0))?s(2,e[t]):A(e,t)},W=function(e,t,n){return!(Y(e,t=h(t,!0))&&b(n)&&C(n,"value"))||C(n,"get")||C(n,"set")||n.configurable||C(n,"writable")&&!n.writable||C(n,"enumerable")&&!n.enumerable?T(e,t,n):(e[t]=n.value,e)};a?(R||(w.f=q,k.f=W,U(j,"buffer"),U(j,"byteOffset"),U(j,"byteLength"),U(j,"length")),o({target:"Object",stat:!0,forced:!R},{getOwnPropertyDescriptor:q,defineProperty:W}),e.exports=function(e,t,n){var a=e.match(/\d+$/)[0]/8,c=e+(n?"Clamped":"")+"Array",l="get"+e,s="set"+e,h=r[c],C=h,g=C&&C.prototype,k={},w=function(e,t){var n=S(e);return n.view[l](t*a+n.byteOffset,!0)},L=function(e,t,o){var r=S(e);n&&(o=(o=E(o))<0?0:o>255?255:255&o),r.view[s](t*a+r.byteOffset,o,!0)},A=function(e,t){T(e,t,{get:function(){return w(this,t)},set:function(e){return L(this,t,e)},enumerable:!0})};R?i&&(C=t((function(e,t,n,o){return u(e,C,c),B(b(t)?K(t)?o!==undefined?new h(t,m(n,a),o):n!==undefined?new h(t,m(n,a)):new h(t):H(t)?G(C,t):y.call(C,t):new h(f(t)),e,C)})),N&&N(C,D),_(V(h),(function(e){e in C||d(C,e,h[e])})),C.prototype=g):(C=t((function(e,t,n,o){u(e,C,c);var r,i,l,s=0,d=0;if(b(t)){if(!K(t))return H(t)?G(C,t):y.call(C,t);r=t,d=m(n,a);var h=t.byteLength;if(o===undefined){if(h%a)throw P("Wrong length");if((i=h-d)<0)throw P("Wrong length")}else if((i=p(o)*a)+d>h)throw P("Wrong length");l=i/a}else l=f(t),r=new O(i=l*a);for(I(e,{buffer:r,byteOffset:d,byteLength:i,length:l,view:new M(r)});sdocument.F=Object<\/script>"),e.close(),p=e.F;n--;)delete p[s][a[n]];return p()};e.exports=Object.create||function(e,t){var n;return null!==e?(d[s]=o(e),n=new d,d[s]=null,n[u]=e):n=p(),t===undefined?n:r(n,t)},i[u]=!0},function(e,t,n){"use strict";var o=n(13).f,r=n(15),a=n(11)("toStringTag");e.exports=function(e,t,n){e&&!r(e=n?e:e.prototype,a)&&o(e,a,{configurable:!0,value:t})}},function(e,t,n){"use strict";var o=n(11),r=n(42),a=n(24),i=o("unscopables"),c=Array.prototype;c[i]==undefined&&a(c,i,r(null)),e.exports=function(e){c[i][e]=!0}},function(e,t,n){"use strict";var o=n(8),r=n(31),a=n(11)("species");e.exports=function(e,t){var n,i=o(e).constructor;return i===undefined||(n=o(i)[a])==undefined?t:r(n)}},function(e,t,n){"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){"use strict";var o=n(124),r=n(93).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return o(e,r)}},function(e,t,n){"use strict";var o=n(31);e.exports=function(e,t,n){if(o(e),t===undefined)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,o){return e.call(t,n,o)};case 3:return function(n,o,r){return e.call(t,n,o,r)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){"use strict";var o=n(33),r=n(13),a=n(46);e.exports=function(e,t,n){var i=o(t);i in e?r.f(e,i,a(0,n)):e[i]=n}},function(e,t,n){"use strict";var o=n(59),r=n(6),a=n(15),i=n(13).f,c=n(58),l=n(67),u=c("meta"),s=0,d=Object.isExtensible||function(){return!0},p=function(e){i(e,u,{value:{objectID:"O"+ ++s,weakData:{}}})},f=e.exports={REQUIRED:!1,fastKey:function(e,t){if(!r(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!a(e,u)){if(!d(e))return"F";if(!t)return"E";p(e)}return e[u].objectID},getWeakData:function(e,t){if(!a(e,u)){if(!d(e))return!0;if(!t)return!1;p(e)}return e[u].weakData},onFreeze:function(e){return l&&f.REQUIRED&&d(e)&&!a(e,u)&&p(e),e}};o[u]=!0},function(e,t,n){"use strict";t.__esModule=!0,t.createLogger=void 0;n(154);var o=n(19),r=0,a=1,i=2,c=3,l=4,u=function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a=i){var c=[t].concat(r).map((function(e){return"string"==typeof e?e:e instanceof Error?e.stack||String(e):JSON.stringify(e)})).filter((function(e){return e})).join(" ")+"\nUser Agent: "+navigator.userAgent;(0,o.act)(window.__ref__,"tgui:log",{log:c})}};t.createLogger=function(e){return{debug:function(){for(var t=arguments.length,n=new Array(t),o=0;os;)if((c=l[s++])!=c)return!0}else for(;u>s;s++)if((e||s in l)&&l[s]===n)return e||s||0;return!e&&-1}};e.exports={includes:i(!0),indexOf:i(!1)}},function(e,t,n){"use strict";var o=n(4),r=/#|\.prototype\./,a=function(e,t){var n=c[i(e)];return n==u||n!=l&&("function"==typeof t?o(t):!!t)},i=a.normalize=function(e){return String(e).replace(r,".").toLowerCase()},c=a.data={},l=a.NATIVE="N",u=a.POLYFILL="P";e.exports=a},function(e,t,n){"use strict";var o=n(124),r=n(93);e.exports=Object.keys||function(e){return o(e,r)}},function(e,t,n){"use strict";var o=n(6),r=n(52),a=n(11)("species");e.exports=function(e,t){var n;return r(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!r(n.prototype)?o(n)&&null===(n=n[a])&&(n=undefined):n=undefined),new(n===undefined?Array:n)(0===t?0:t)}},function(e,t,n){"use strict";var o=n(4),r=n(11),a=n(96),i=r("species");e.exports=function(e){return a>=51||!o((function(){var t=[];return(t.constructor={})[i]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var o=n(22);e.exports=function(e,t,n){for(var r in t)o(e,r,t[r],n);return e}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){return Object.isExtensible(Object.preventExtensions({}))}))},function(e,t,n){"use strict";var o=n(8),r=n(98),a=n(10),i=n(48),c=n(99),l=n(132),u=function(e,t){this.stopped=e,this.result=t};(e.exports=function(e,t,n,s,d){var p,f,m,h,C,g,b,v=i(t,n,s?2:1);if(d)p=e;else{if("function"!=typeof(f=c(e)))throw TypeError("Target is not iterable");if(r(f)){for(m=0,h=a(e.length);h>m;m++)if((C=s?v(o(b=e[m])[0],b[1]):v(e[m]))&&C instanceof u)return C;return new u(!1)}p=f.call(e)}for(g=p.next;!(b=g.call(p)).done;)if("object"==typeof(C=l(p,v,b.value,s))&&C&&C instanceof u)return C;return new u(!1)}).stop=function(e){return new u(!0,e)}},function(e,t,n){"use strict";t.__esModule=!0,t.InterfaceLockNoticeBox=void 0;var o=n(1),r=n(2);t.InterfaceLockNoticeBox=function(e){var t=e.siliconUser,n=e.locked,a=e.onLockStatusChange,i=e.accessText;return t?(0,o.createComponentVNode)(2,r.NoticeBox,{children:(0,o.createComponentVNode)(2,r.Flex,{align:"center",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{children:"Interface lock status:"}),(0,o.createComponentVNode)(2,r.Flex.Item,{grow:1}),(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Button,{m:0,color:"gray",icon:n?"lock":"unlock",content:n?"Locked":"Unlocked",onClick:function(){a&&a(!n)}})})]})}):(0,o.createComponentVNode)(2,r.NoticeBox,{children:["Swipe ",i||"an ID card"," ","to ",n?"unlock":"lock"," this interface."]})}},function(e,t,n){"use strict";t.__esModule=!0,t.compose=t.flow=void 0;t.flow=function o(){for(var e=arguments.length,t=new Array(e),n=0;n1?r-1:0),i=1;i=c.length)break;s=c[u++]}else{if((u=c.next()).done)break;s=u.value}var d=s;Array.isArray(d)?n=o.apply(void 0,d).apply(void 0,[n].concat(a)):d&&(n=d.apply(void 0,[n].concat(a)))}return n}};t.compose=function(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;a=0:d>p;p+=f)p in s&&(l=n(l,s[p],p,u));return l}};e.exports={left:c(!1),right:c(!0)}},function(e,t,n){"use strict";var o=n(5),r=n(9),a=n(7).NATIVE_ARRAY_BUFFER,i=n(24),c=n(66),l=n(4),u=n(55),s=n(30),d=n(10),p=n(137),f=n(217),m=n(47).f,h=n(13).f,C=n(97),g=n(43),b=n(34),v=b.get,N=b.set,V="ArrayBuffer",y="DataView",_="Wrong length",x=o[V],k=x,w=o[y],L=o.RangeError,B=f.pack,S=f.unpack,I=function(e){return[255&e]},T=function(e){return[255&e,e>>8&255]},A=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},E=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},P=function(e){return B(e,23,4)},O=function(e){return B(e,52,8)},M=function(e,t){h(e.prototype,t,{get:function(){return v(this)[t]}})},R=function(e,t,n,o){var r=p(n),a=v(e);if(r+t>a.byteLength)throw L("Wrong index");var i=v(a.buffer).bytes,c=r+a.byteOffset,l=i.slice(c,c+t);return o?l:l.reverse()},F=function(e,t,n,o,r,a){var i=p(n),c=v(e);if(i+t>c.byteLength)throw L("Wrong index");for(var l=v(c.buffer).bytes,u=i+c.byteOffset,s=o(+r),d=0;dH;)(D=z[H++])in k||i(k,D,x[D]);j.constructor=k}var G=new w(new k(2)),U=w.prototype.setInt8;G.setInt8(0,2147483648),G.setInt8(1,2147483649),!G.getInt8(0)&&G.getInt8(1)||c(w.prototype,{setInt8:function(e,t){U.call(this,e,t<<24>>24)},setUint8:function(e,t){U.call(this,e,t<<24>>24)}},{unsafe:!0})}else k=function(e){u(this,k,V);var t=p(e);N(this,{bytes:C.call(new Array(t),0),byteLength:t}),r||(this.byteLength=t)},w=function(e,t,n){u(this,w,y),u(e,k,y);var o=v(e).byteLength,a=s(t);if(a<0||a>o)throw L("Wrong offset");if(a+(n=n===undefined?o-a:d(n))>o)throw L(_);N(this,{buffer:e,byteLength:n,byteOffset:a}),r||(this.buffer=e,this.byteLength=n,this.byteOffset=a)},r&&(M(k,"byteLength"),M(w,"buffer"),M(w,"byteLength"),M(w,"byteOffset")),c(w.prototype,{getInt8:function(e){return R(this,1,e)[0]<<24>>24},getUint8:function(e){return R(this,1,e)[0]},getInt16:function(e){var t=R(this,2,e,arguments.length>1?arguments[1]:undefined);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=R(this,2,e,arguments.length>1?arguments[1]:undefined);return t[1]<<8|t[0]},getInt32:function(e){return E(R(this,4,e,arguments.length>1?arguments[1]:undefined))},getUint32:function(e){return E(R(this,4,e,arguments.length>1?arguments[1]:undefined))>>>0},getFloat32:function(e){return S(R(this,4,e,arguments.length>1?arguments[1]:undefined),23)},getFloat64:function(e){return S(R(this,8,e,arguments.length>1?arguments[1]:undefined),52)},setInt8:function(e,t){F(this,1,e,I,t)},setUint8:function(e,t){F(this,1,e,I,t)},setInt16:function(e,t){F(this,2,e,T,t,arguments.length>2?arguments[2]:undefined)},setUint16:function(e,t){F(this,2,e,T,t,arguments.length>2?arguments[2]:undefined)},setInt32:function(e,t){F(this,4,e,A,t,arguments.length>2?arguments[2]:undefined)},setUint32:function(e,t){F(this,4,e,A,t,arguments.length>2?arguments[2]:undefined)},setFloat32:function(e,t){F(this,4,e,P,t,arguments.length>2?arguments[2]:undefined)},setFloat64:function(e,t){F(this,8,e,O,t,arguments.length>2?arguments[2]:undefined)}});g(k,V),g(w,y),e.exports={ArrayBuffer:k,DataView:w}},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(61),i=n(22),c=n(50),l=n(68),u=n(55),s=n(6),d=n(4),p=n(75),f=n(43),m=n(79);e.exports=function(e,t,n){var h=-1!==e.indexOf("Map"),C=-1!==e.indexOf("Weak"),g=h?"set":"add",b=r[e],v=b&&b.prototype,N=b,V={},y=function(e){var t=v[e];i(v,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(C&&!s(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return C&&!s(e)?undefined:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(C&&!s(e))&&t.call(this,0===e?0:e)}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(a(e,"function"!=typeof b||!(C||v.forEach&&!d((function(){(new b).entries().next()})))))N=n.getConstructor(t,e,h,g),c.REQUIRED=!0;else if(a(e,!0)){var _=new N,x=_[g](C?{}:-0,1)!=_,k=d((function(){_.has(1)})),w=p((function(e){new b(e)})),L=!C&&d((function(){for(var e=new b,t=5;t--;)e[g](t,t);return!e.has(-0)}));w||((N=t((function(t,n){u(t,N,e);var o=m(new b,t,N);return n!=undefined&&l(n,o[g],o,h),o}))).prototype=v,v.constructor=N),(k||L)&&(y("delete"),y("has"),h&&y("get")),(L||x)&&y(g),C&&v.clear&&delete v.clear}return V[e]=N,o({global:!0,forced:N!=b},V),f(N,e),C||n.setStrong(N,e,h),N}},function(e,t,n){"use strict";var o=n(6),r=n(53);e.exports=function(e,t,n){var a,i;return r&&"function"==typeof(a=t.constructor)&&a!==n&&o(i=a.prototype)&&i!==n.prototype&&r(e,i),e}},function(e,t,n){"use strict";var o=Math.expm1,r=Math.exp;e.exports=!o||o(10)>22025.465794806718||o(10)<22025.465794806718||-2e-17!=o(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:r(e)-1}:o},function(e,t,n){"use strict";e.exports="\t\n\x0B\f\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff"},function(e,t,n){"use strict";var o=n(38),r=n(5),a=n(4);e.exports=o||!a((function(){var e=Math.random();__defineSetter__.call(null,e,(function(){})),delete r[e]}))},function(e,t,n){"use strict";var o=n(8);e.exports=function(){var e=o(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},function(e,t,n){"use strict";var o,r,a=n(83),i=RegExp.prototype.exec,c=String.prototype.replace,l=i,u=(o=/a/,r=/b*/g,i.call(o,"a"),i.call(r,"a"),0!==o.lastIndex||0!==r.lastIndex),s=/()??/.exec("")[1]!==undefined;(u||s)&&(l=function(e){var t,n,o,r,l=this;return s&&(n=new RegExp("^"+l.source+"$(?!\\s)",a.call(l))),u&&(t=l.lastIndex),o=i.call(l,e),u&&o&&(l.lastIndex=l.global?o.index+o[0].length:t),s&&o&&o.length>1&&c.call(o[0],n,(function(){for(r=1;r")})),s=!a((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));e.exports=function(e,t,n,d){var p=i(e),f=!a((function(){var t={};return t[p]=function(){return 7},7!=""[e](t)})),m=f&&!a((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[l]=function(){return n},n.flags="",n[p]=/./[p]),n.exec=function(){return t=!0,null},n[p](""),!t}));if(!f||!m||"replace"===e&&!u||"split"===e&&!s){var h=/./[p],C=n(p,""[e],(function(e,t,n,o,r){return t.exec===c?f&&!r?{done:!0,value:h.call(t,n,o)}:{done:!0,value:e.call(n,t,o)}:{done:!1}})),g=C[0],b=C[1];r(String.prototype,e,g),r(RegExp.prototype,p,2==t?function(e,t){return b.call(e,this,t)}:function(e){return b.call(e,this)}),d&&o(RegExp.prototype[p],"sham",!0)}}},function(e,t,n){"use strict";var o=n(32),r=n(84);e.exports=function(e,t){var n=e.exec;if("function"==typeof n){var a=n.call(e,t);if("object"!=typeof a)throw TypeError("RegExp exec method returned something other than an Object or null");return a}if("RegExp"!==o(e))throw TypeError("RegExp#exec called on incompatible receiver");return r.call(e,t)}},function(e,t,n){"use strict";t.__esModule=!0,t.Icon=void 0;var o=n(1),r=n(12),a=n(17);var i=/-o$/,c=function(e){var t=e.name,n=e.size,c=e.spin,l=e.className,u=e.style,s=void 0===u?{}:u,d=e.rotation,p=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["name","size","spin","className","style","rotation"]);n&&(s["font-size"]=100*n+"%"),"number"==typeof d&&(s.transform="rotate("+d+"deg)");var f=i.test(t),m=t.replace(i,"");return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"i",className:(0,r.classes)([l,f?"far":"fas","fa-"+m,c&&"fa-spin"]),style:s},p)))};t.Icon=c,c.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";var o=n(5),r=n(6),a=o.document,i=r(a)&&r(a.createElement);e.exports=function(e){return i?a.createElement(e):{}}},function(e,t,n){"use strict";var o=n(5),r=n(24);e.exports=function(e,t){try{r(o,e,t)}catch(n){o[e]=t}return t}},function(e,t,n){"use strict";var o=n(120),r=Function.toString;"function"!=typeof o.inspectSource&&(o.inspectSource=function(e){return r.call(e)}),e.exports=o.inspectSource},function(e,t,n){"use strict";var o=n(38),r=n(120);(e.exports=function(e,t){return r[e]||(r[e]=t!==undefined?t:{})})("versions",[]).push({version:"3.4.8",mode:o?"pure":"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t,n){"use strict";var o=n(35),r=n(47),a=n(94),i=n(8);e.exports=o("Reflect","ownKeys")||function(e){var t=r.f(i(e)),n=a.f;return n?t.concat(n(e)):t}},function(e,t,n){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){"use strict";t.f=Object.getOwnPropertySymbols},function(e,t,n){"use strict";var o=n(4);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){return!String(Symbol())}))},function(e,t,n){"use strict";var o,r,a=n(5),i=n(73),c=a.process,l=c&&c.versions,u=l&&l.v8;u?r=(o=u.split("."))[0]+o[1]:i&&(!(o=i.match(/Edge\/(\d+)/))||o[1]>=74)&&(o=i.match(/Chrome\/(\d+)/))&&(r=o[1]),e.exports=r&&+r},function(e,t,n){"use strict";var o=n(14),r=n(41),a=n(10);e.exports=function(e){for(var t=o(this),n=a(t.length),i=arguments.length,c=r(i>1?arguments[1]:undefined,n),l=i>2?arguments[2]:undefined,u=l===undefined?n:r(l,n);u>c;)t[c++]=e;return t}},function(e,t,n){"use strict";var o=n(11),r=n(65),a=o("iterator"),i=Array.prototype;e.exports=function(e){return e!==undefined&&(r.Array===e||i[a]===e)}},function(e,t,n){"use strict";var o=n(74),r=n(65),a=n(11)("iterator");e.exports=function(e){if(e!=undefined)return e[a]||e["@@iterator"]||r[o(e)]}},function(e,t,n){"use strict";var o={};o[n(11)("toStringTag")]="z",e.exports="[object z]"===String(o)},function(e,t,n){"use strict";var o=n(0),r=n(202),a=n(36),i=n(53),c=n(43),l=n(24),u=n(22),s=n(11),d=n(38),p=n(65),f=n(134),m=f.IteratorPrototype,h=f.BUGGY_SAFARI_ITERATORS,C=s("iterator"),g=function(){return this};e.exports=function(e,t,n,s,f,b,v){r(n,t,s);var N,V,y,_=function(e){if(e===f&&B)return B;if(!h&&e in w)return w[e];switch(e){case"keys":case"values":case"entries":return function(){return new n(this,e)}}return function(){return new n(this)}},x=t+" Iterator",k=!1,w=e.prototype,L=w[C]||w["@@iterator"]||f&&w[f],B=!h&&L||_(f),S="Array"==t&&w.entries||L;if(S&&(N=a(S.call(new e)),m!==Object.prototype&&N.next&&(d||a(N)===m||(i?i(N,m):"function"!=typeof N[C]&&l(N,C,g)),c(N,x,!0,!0),d&&(p[x]=g))),"values"==f&&L&&"values"!==L.name&&(k=!0,B=function(){return L.call(this)}),d&&!v||w[C]===B||l(w,C,B),p[t]=B,f)if(V={values:_("values"),keys:b?B:_("keys"),entries:_("entries")},v)for(y in V)!h&&!k&&y in w||u(w,y,V[y]);else o({target:t,proto:!0,forced:h||k},V);return V}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},function(e,t,n){"use strict";var o=n(10),r=n(104),a=n(21),i=Math.ceil,c=function(e){return function(t,n,c){var l,u,s=String(a(t)),d=s.length,p=c===undefined?" ":String(c),f=o(n);return f<=d||""==p?s:(l=f-d,(u=r.call(p,i(l/p.length))).length>l&&(u=u.slice(0,l)),e?s+u:u+s)}};e.exports={start:c(!1),end:c(!0)}},function(e,t,n){"use strict";var o=n(30),r=n(21);e.exports="".repeat||function(e){var t=String(r(this)),n="",a=o(e);if(a<0||a==Infinity)throw RangeError("Wrong number of repetitions");for(;a>0;(a>>>=1)&&(t+=t))1&a&&(n+=t);return n}},function(e,t,n){"use strict";e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t,n){"use strict";var o,r,a,i=n(5),c=n(4),l=n(32),u=n(48),s=n(127),d=n(88),p=n(146),f=i.location,m=i.setImmediate,h=i.clearImmediate,C=i.process,g=i.MessageChannel,b=i.Dispatch,v=0,N={},V=function(e){if(N.hasOwnProperty(e)){var t=N[e];delete N[e],t()}},y=function(e){return function(){V(e)}},_=function(e){V(e.data)},x=function(e){i.postMessage(e+"",f.protocol+"//"+f.host)};m&&h||(m=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return N[++v]=function(){("function"==typeof e?e:Function(e)).apply(undefined,t)},o(v),v},h=function(e){delete N[e]},"process"==l(C)?o=function(e){C.nextTick(y(e))}:b&&b.now?o=function(e){b.now(y(e))}:g&&!p?(a=(r=new g).port2,r.port1.onmessage=_,o=u(a.postMessage,a,1)):!i.addEventListener||"function"!=typeof postMessage||i.importScripts||c(x)?o="onreadystatechange"in d("script")?function(e){s.appendChild(d("script")).onreadystatechange=function(){s.removeChild(this),V(e)}}:function(e){setTimeout(y(e),0)}:(o=x,i.addEventListener("message",_,!1))),e.exports={set:m,clear:h}},function(e,t,n){"use strict";var o=n(6),r=n(32),a=n(11)("match");e.exports=function(e){var t;return o(e)&&((t=e[a])!==undefined?!!t:"RegExp"==r(e))}},function(e,t,n){"use strict";var o=n(30),r=n(21),a=function(e){return function(t,n){var a,i,c=String(r(t)),l=o(n),u=c.length;return l<0||l>=u?e?"":undefined:(a=c.charCodeAt(l))<55296||a>56319||l+1===u||(i=c.charCodeAt(l+1))<56320||i>57343?e?c.charAt(l):a:e?c.slice(l,l+2):i-56320+(a-55296<<10)+65536}};e.exports={codeAt:a(!1),charAt:a(!0)}},function(e,t,n){"use strict";var o=n(107);e.exports=function(e){if(o(e))throw TypeError("The method doesn't accept regular expressions");return e}},function(e,t,n){"use strict";var o=n(11)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[o]=!1,"/./"[e](t)}catch(r){}}return!1}},function(e,t,n){"use strict";var o=n(108).charAt;e.exports=function(e,t,n){return t+(n?o(e,t).length:1)}},function(e,t,n){"use strict";var o=n(4),r=n(81);e.exports=function(e){return o((function(){return!!r[e]()||"\u200b\x85\u180e"!="\u200b\x85\u180e"[e]()||r[e].name!==e}))}},function(e,t,n){"use strict";var o=n(5),r=n(4),a=n(75),i=n(7).NATIVE_ARRAY_BUFFER_VIEWS,c=o.ArrayBuffer,l=o.Int8Array;e.exports=!i||!r((function(){l(1)}))||!r((function(){new l(-1)}))||!a((function(e){new l,new l(null),new l(1.5),new l(e)}),!0)||r((function(){return 1!==new l(new c(2),1,undefined).length}))},function(e,t,n){"use strict";t.__esModule=!0,t.ButtonInput=t.ButtonConfirm=t.ButtonCheckbox=t.Button=void 0;var o=n(1),r=n(12),a=n(19),i=n(115),c=n(51),l=n(116),u=n(17),s=n(87),d=n(159);n(160),n(161);function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function f(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var m=(0,c.createLogger)("Button"),h=function(e){var t=e.className,n=e.fluid,c=e.icon,p=e.color,h=e.disabled,C=e.selected,g=e.tooltip,b=e.tooltipPosition,v=e.ellipsis,N=e.content,V=e.iconRotation,y=e.iconSpin,_=e.children,x=e.onclick,k=e.onClick,w=f(e,["className","fluid","icon","color","disabled","selected","tooltip","tooltipPosition","ellipsis","content","iconRotation","iconSpin","children","onclick","onClick"]),L=!(!N&&!_);return x&&m.warn("Lowercase 'onclick' is not supported on Button and lowercase prop names are discouraged in general. Please use a camelCase'onClick' instead and read: https://infernojs.org/docs/guides/event-handling"),(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Box,Object.assign({as:"span",className:(0,r.classes)(["Button",n&&"Button--fluid",h&&"Button--disabled",C&&"Button--selected",L&&"Button--hasContent",v&&"Button--ellipsis",p&&"string"==typeof p?"Button--color--"+p:"Button--color--default",t]),tabIndex:!h&&"0",unselectable:a.tridentVersion<=4,onclick:function(e){(0,l.refocusLayout)(),!h&&k&&k(e)},onKeyDown:function(e){var t=window.event?e.which:e.keyCode;return t===i.KEY_SPACE||t===i.KEY_ENTER?(e.preventDefault(),void(!h&&k&&k(e))):t===i.KEY_ESCAPE?(e.preventDefault(),void(0,l.refocusLayout)()):void 0}},w,{children:[c&&(0,o.createComponentVNode)(2,s.Icon,{name:c,rotation:V,spin:y}),N,_,g&&(0,o.createComponentVNode)(2,d.Tooltip,{content:g,position:b})]})))};t.Button=h,h.defaultHooks=r.pureComponentHooks;var C=function(e){var t=e.checked,n=f(e,["checked"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({color:"transparent",icon:t?"check-square-o":"square-o",selected:t},n)))};t.ButtonCheckbox=C,h.Checkbox=C;var g=function(e){function t(){var t;return(t=e.call(this)||this).state={clickedOnce:!1},t.handleClick=function(){t.state.clickedOnce&&t.setClickedOnce(!1)},t}p(t,e);var n=t.prototype;return n.setClickedOnce=function(e){var t=this;this.setState({clickedOnce:e}),e?setTimeout((function(){return window.addEventListener("click",t.handleClick)})):window.removeEventListener("click",this.handleClick)},n.render=function(){var e=this,t=this.props,n=t.confirmMessage,r=void 0===n?"Confirm?":n,a=t.confirmColor,i=void 0===a?"bad":a,c=t.color,l=t.content,u=t.onClick,s=f(t,["confirmMessage","confirmColor","color","content","onClick"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({content:this.state.clickedOnce?r:l,color:this.state.clickedOnce?i:c,onClick:function(){return e.state.clickedOnce?u():e.setClickedOnce(!0)}},s)))},t}(o.Component);t.ButtonConfirm=g,h.Confirm=g;var b=function(e){function t(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={inInput:!1},t}p(t,e);var n=t.prototype;return n.setInInput=function(e){if(this.setState({inInput:e}),this.inputRef){var t=this.inputRef.current;if(e){t.value=this.props.currentValue||"";try{t.focus(),t.select()}catch(n){}}}},n.commitResult=function(e){if(this.inputRef){var t=this.inputRef.current;if(""!==t.value)return void this.props.onCommit(e,t.value);if(!this.props.defaultValue)return;this.props.onCommit(e,this.props.defaultValue)}},n.render=function(){var e=this,t=this.props,n=t.fluid,a=t.content,c=t.color,l=void 0===c?"default":c,s=(t.placeholder,t.maxLength,f(t,["fluid","content","color","placeholder","maxLength"]));return(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Box,Object.assign({className:(0,r.classes)(["Button",n&&"Button--fluid","Button--color--"+l])},s,{onClick:function(){return e.setInInput(!0)},children:[(0,o.createVNode)(1,"div",null,a,0),(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:this.state.inInput?undefined:"none","text-align":"left"},onBlur:function(t){e.state.inInput&&(e.setInInput(!1),e.commitResult(t))},onKeyDown:function(t){if(t.keyCode===i.KEY_ENTER)return e.setInInput(!1),void e.commitResult(t);t.keyCode===i.KEY_ESCAPE&&e.setInInput(!1)}},null,this.inputRef)]})))},t}(o.Component);t.ButtonInput=b,h.Input=b},function(e,t,n){"use strict";t.__esModule=!0,t.hotKeyReducer=t.hotKeyMiddleware=t.releaseHeldKeys=t.KEY_MINUS=t.KEY_EQUAL=t.KEY_Z=t.KEY_Y=t.KEY_X=t.KEY_W=t.KEY_V=t.KEY_U=t.KEY_T=t.KEY_S=t.KEY_R=t.KEY_Q=t.KEY_P=t.KEY_O=t.KEY_N=t.KEY_M=t.KEY_L=t.KEY_K=t.KEY_J=t.KEY_I=t.KEY_H=t.KEY_G=t.KEY_F=t.KEY_E=t.KEY_D=t.KEY_C=t.KEY_B=t.KEY_A=t.KEY_9=t.KEY_8=t.KEY_7=t.KEY_6=t.KEY_5=t.KEY_4=t.KEY_3=t.KEY_2=t.KEY_1=t.KEY_0=t.KEY_SPACE=t.KEY_ESCAPE=t.KEY_ALT=t.KEY_CTRL=t.KEY_SHIFT=t.KEY_ENTER=t.KEY_TAB=t.KEY_BACKSPACE=void 0;var o=n(51),r=n(19),a=(0,o.createLogger)("hotkeys");t.KEY_BACKSPACE=8;t.KEY_TAB=9;t.KEY_ENTER=13;t.KEY_SHIFT=16;t.KEY_CTRL=17;t.KEY_ALT=18;t.KEY_ESCAPE=27;t.KEY_SPACE=32;t.KEY_0=48;t.KEY_1=49;t.KEY_2=50;t.KEY_3=51;t.KEY_4=52;t.KEY_5=53;t.KEY_6=54;t.KEY_7=55;t.KEY_8=56;t.KEY_9=57;t.KEY_A=65;t.KEY_B=66;t.KEY_C=67;t.KEY_D=68;t.KEY_E=69;t.KEY_F=70;t.KEY_G=71;t.KEY_H=72;t.KEY_I=73;t.KEY_J=74;t.KEY_K=75;t.KEY_L=76;t.KEY_M=77;t.KEY_N=78;t.KEY_O=79;t.KEY_P=80;t.KEY_Q=81;t.KEY_R=82;t.KEY_S=83;t.KEY_T=84;t.KEY_U=85;t.KEY_V=86;t.KEY_W=87;t.KEY_X=88;t.KEY_Y=89;t.KEY_Z=90;t.KEY_EQUAL=187;t.KEY_MINUS=189;var i=[17,18,16],c=[27,13,32,9,17,16],l={},u=function(e,t,n,o){var r="";return e&&(r+="Ctrl+"),t&&(r+="Alt+"),n&&(r+="Shift+"),r+=o>=48&&o<=90?String.fromCharCode(o):"["+o+"]"},s=function(e){var t=window.event?e.which:e.keyCode,n=e.ctrlKey,o=e.altKey,r=e.shiftKey;return{keyCode:t,ctrlKey:n,altKey:o,shiftKey:r,hasModifierKeys:n||o||r,keyString:u(n,o,r,t)}},d=function(){for(var e=0,t=Object.keys(l);e4&&function(e,t){if(!e.defaultPrevented){var n=e.target&&e.target.localName;if("input"!==n&&"textarea"!==n){var o=s(e),i=o.keyCode,u=o.ctrlKey,d=o.shiftKey;u||d||c.includes(i)||("keydown"!==t||l[i]?"keyup"===t&&l[i]&&(a.debug("passthrough",t,o),(0,r.callByond)("",{__keyup:i})):(a.debug("passthrough",t,o),(0,r.callByond)("",{__keydown:i})))}}}(e,t),function(e,t,n){if("keyup"===t){var o=s(e),r=o.ctrlKey,c=o.altKey,l=o.keyCode,u=o.hasModifierKeys,d=o.keyString;u&&!i.includes(l)&&(a.log(d),r&&c&&8===l&&setTimeout((function(){throw new Error("OOPSIE WOOPSIE!! UwU We made a fucky wucky!! A wittle fucko boingo! The code monkeys at our headquarters are working VEWY HAWD to fix this!")})),n({type:"hotKey",payload:o}))}}(e,t,n)},document.addEventListener("keydown",(function(e){var n=window.event?e.which:e.keyCode;t(e,"keydown"),l[n]=!0})),document.addEventListener("keyup",(function(e){var n=window.event?e.which:e.keyCode;t(e,"keyup"),l[n]=!1})),r.tridentVersion>4&&function(e){var t;document.addEventListener("focusout",(function(){t=setTimeout(e)})),document.addEventListener("focusin",(function(){clearTimeout(t)})),window.addEventListener("beforeunload",e)}((function(){d()})),function(e){return function(t){return e(t)}}};t.hotKeyReducer=function(e,t){var n=t.type,o=t.payload;if("hotKey"===n){var r=o.ctrlKey,a=o.altKey,i=o.keyCode;return r&&a&&187===i?Object.assign({},e,{showKitchenSink:!e.showKitchenSink}):e}return e}},function(e,t,n){"use strict";t.__esModule=!0,t.refocusLayout=void 0;var o=n(19);t.refocusLayout=function(){if(!(o.tridentVersion<=4)){var e=document.getElementById("Layout__content");e&&e.focus()}}},function(e,t,n){"use strict";t.__esModule=!0,t.toastReducer=t.showToast=t.Toast=void 0;var o,r=n(1),a=n(12),i=function(e){var t=e.content,n=e.children;return(0,r.createVNode)(1,"div","Layout__toast",[t,n],0)};t.Toast=i,i.defaultHooks=a.pureComponentHooks;t.showToast=function(e,t){o&&clearTimeout(o),o=setTimeout((function(){o=undefined,e({type:"hideToast"})}),5e3),e({type:"showToast",payload:{text:t}})};t.toastReducer=function(e,t){var n=t.type,o=t.payload;if("showToast"===n){var r=o.text;return Object.assign({},e,{toastText:r})}return"hideToast"===n?Object.assign({},e,{toastText:null}):e}},function(e,t,n){"use strict";var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(r){"object"==typeof window&&(o=window)}e.exports=o},function(e,t,n){"use strict";var o=n(9),r=n(4),a=n(88);e.exports=!o&&!r((function(){return 7!=Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var o=n(5),r=n(89),a=o["__core-js_shared__"]||r("__core-js_shared__",{});e.exports=a},function(e,t,n){"use strict";var o=n(5),r=n(90),a=o.WeakMap;e.exports="function"==typeof a&&/native code/.test(r(a))},function(e,t,n){"use strict";var o=n(15),r=n(92),a=n(18),i=n(13);e.exports=function(e,t){for(var n=r(t),c=i.f,l=a.f,u=0;ul;)o(c,n=t[l++])&&(~a(u,n)||u.push(n));return u}},function(e,t,n){"use strict";var o=n(95);e.exports=o&&!Symbol.sham&&"symbol"==typeof Symbol()},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(8),i=n(62);e.exports=o?Object.defineProperties:function(e,t){a(e);for(var n,o=i(t),c=o.length,l=0;c>l;)r.f(e,n=o[l++],t[n]);return e}},function(e,t,n){"use strict";var o=n(35);e.exports=o("document","documentElement")},function(e,t,n){"use strict";var o=n(23),r=n(47).f,a={}.toString,i="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(e){try{return r(e)}catch(t){return i.slice()}};e.exports.f=function(e){return i&&"[object Window]"==a.call(e)?c(e):r(o(e))}},function(e,t,n){"use strict";var o=n(11);t.f=o},function(e,t,n){"use strict";var o=n(14),r=n(41),a=n(10),i=Math.min;e.exports=[].copyWithin||function(e,t){var n=o(this),c=a(n.length),l=r(e,c),u=r(t,c),s=arguments.length>2?arguments[2]:undefined,d=i((s===undefined?c:r(s,c))-u,c-l),p=1;for(u0;)u in n?n[l]=n[u]:delete n[l],l+=p,u+=p;return n}},function(e,t,n){"use strict";var o=n(52),r=n(10),a=n(48);e.exports=function i(e,t,n,c,l,u,s,d){for(var p,f=l,m=0,h=!!s&&a(s,d,3);m0&&o(p))f=i(e,t,p,r(p.length),f,u-1)-1;else{if(f>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[f]=p}f++}m++}return f}},function(e,t,n){"use strict";var o=n(8);e.exports=function(e,t,n,r){try{return r?t(o(n)[0],n[1]):t(n)}catch(i){var a=e["return"];throw a!==undefined&&o(a.call(e)),i}}},function(e,t,n){"use strict";var o=n(23),r=n(44),a=n(65),i=n(34),c=n(101),l=i.set,u=i.getterFor("Array Iterator");e.exports=c(Array,"Array",(function(e,t){l(this,{type:"Array Iterator",target:o(e),index:0,kind:t})}),(function(){var e=u(this),t=e.target,n=e.kind,o=e.index++;return!t||o>=t.length?(e.target=undefined,{value:undefined,done:!0}):"keys"==n?{value:o,done:!1}:"values"==n?{value:t[o],done:!1}:{value:[o,t[o]],done:!1}}),"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},function(e,t,n){"use strict";var o,r,a,i=n(36),c=n(24),l=n(15),u=n(11),s=n(38),d=u("iterator"),p=!1;[].keys&&("next"in(a=[].keys())?(r=i(i(a)))!==Object.prototype&&(o=r):p=!0),o==undefined&&(o={}),s||l(o,d)||c(o,d,(function(){return this})),e.exports={IteratorPrototype:o,BUGGY_SAFARI_ITERATORS:p}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){if(!o(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},function(e,t,n){"use strict";var o=n(23),r=n(30),a=n(10),i=n(39),c=Math.min,l=[].lastIndexOf,u=!!l&&1/[1].lastIndexOf(1,-0)<0,s=i("lastIndexOf");e.exports=u||s?function(e){if(u)return l.apply(this,arguments)||0;var t=o(this),n=a(t.length),i=n-1;for(arguments.length>1&&(i=c(i,r(arguments[1]))),i<0&&(i=n+i);i>=0;i--)if(i in t&&t[i]===e)return i||0;return-1}:l},function(e,t,n){"use strict";var o=n(30),r=n(10);e.exports=function(e){if(e===undefined)return 0;var t=o(e),n=r(t);if(t!==n)throw RangeError("Wrong length or index");return n}},function(e,t,n){"use strict";var o=n(31),r=n(6),a=[].slice,i={},c=function(e,t,n){if(!(t in i)){for(var o=[],r=0;r1?arguments[1]:undefined,3);t=t?t.next:n.first;)for(o(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!g(this,e)}}),a(s.prototype,n?{get:function(e){var t=g(this,e);return t&&t.value},set:function(e,t){return C(this,0===e?0:e,t)}}:{add:function(e){return C(this,e=0===e?0:e,e)}}),d&&o(s.prototype,"size",{get:function(){return f(this).size}}),s},setStrong:function(e,t,n){var o=t+" Iterator",r=h(t),a=h(o);u(e,t,(function(e,t){m(this,{type:o,target:e,state:r(e),kind:t,last:undefined})}),(function(){for(var e=a(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=undefined,{value:undefined,done:!0})}),n?"entries":"values",!n,!0),s(t)}}},function(e,t,n){"use strict";var o=Math.log;e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:o(1+e)}},function(e,t,n){"use strict";var o=n(6),r=Math.floor;e.exports=function(e){return!o(e)&&isFinite(e)&&r(e)===e}},function(e,t,n){"use strict";var o=n(5),r=n(56).trim,a=n(81),i=o.parseInt,c=/^[+-]?0[Xx]/,l=8!==i(a+"08")||22!==i(a+"0x16");e.exports=l?function(e,t){var n=r(String(e));return i(n,t>>>0||(c.test(n)?16:10))}:i},function(e,t,n){"use strict";var o=n(9),r=n(62),a=n(23),i=n(71).f,c=function(e){return function(t){for(var n,c=a(t),l=r(c),u=l.length,s=0,d=[];u>s;)n=l[s++],o&&!i.call(c,n)||d.push(e?[n,c[n]]:c[n]);return d}};e.exports={entries:c(!0),values:c(!1)}},function(e,t,n){"use strict";e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},function(e,t,n){"use strict";var o=n(5);e.exports=o.Promise},function(e,t,n){"use strict";var o=n(73);e.exports=/(iphone|ipod|ipad).*applewebkit/i.test(o)},function(e,t,n){"use strict";var o,r,a,i,c,l,u,s,d=n(5),p=n(18).f,f=n(32),m=n(106).set,h=n(146),C=d.MutationObserver||d.WebKitMutationObserver,g=d.process,b=d.Promise,v="process"==f(g),N=p(d,"queueMicrotask"),V=N&&N.value;V||(o=function(){var e,t;for(v&&(e=g.domain)&&e.exit();r;){t=r.fn,r=r.next;try{t()}catch(n){throw r?i():a=undefined,n}}a=undefined,e&&e.enter()},v?i=function(){g.nextTick(o)}:C&&!h?(c=!0,l=document.createTextNode(""),new C(o).observe(l,{characterData:!0}),i=function(){l.data=c=!c}):b&&b.resolve?(u=b.resolve(undefined),s=u.then,i=function(){s.call(u,o)}):i=function(){m.call(d,o)}),e.exports=V||function(e){var t={fn:e,next:undefined};a&&(a.next=t),r||(r=t,i()),a=t}},function(e,t,n){"use strict";var o=n(8),r=n(6),a=n(149);e.exports=function(e,t){if(o(e),r(t)&&t.constructor===e)return t;var n=a.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){"use strict";var o=n(31),r=function(e){var t,n;this.promise=new e((function(e,o){if(t!==undefined||n!==undefined)throw TypeError("Bad Promise constructor");t=e,n=o})),this.resolve=o(t),this.reject=o(n)};e.exports.f=function(e){return new r(e)}},function(e,t,n){"use strict";var o=n(73);e.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o)},function(e,t,n){"use strict";var o=n(347);e.exports=function(e,t){var n=o(e);if(n%t)throw RangeError("Wrong offset");return n}},function(e,t,n){"use strict";var o=n(14),r=n(10),a=n(99),i=n(98),c=n(48),l=n(7).aTypedArrayConstructor;e.exports=function(e){var t,n,u,s,d,p,f=o(e),m=arguments.length,h=m>1?arguments[1]:undefined,C=h!==undefined,g=a(f);if(g!=undefined&&!i(g))for(p=(d=g.call(f)).next,f=[];!(s=p.call(d)).done;)f.push(s.value);for(C&&m>2&&(h=c(h,arguments[2],2)),n=r(f.length),u=new(l(this))(n),t=0;n>t;t++)u[t]=C?h(f[t],t):f[t];return u}},function(e,t,n){"use strict";var o=n(66),r=n(50).getWeakData,a=n(8),i=n(6),c=n(55),l=n(68),u=n(16),s=n(15),d=n(34),p=d.set,f=d.getterFor,m=u.find,h=u.findIndex,C=0,g=function(e){return e.frozen||(e.frozen=new b)},b=function(){this.entries=[]},v=function(e,t){return m(e.entries,(function(e){return e[0]===t}))};b.prototype={get:function(e){var t=v(this,e);if(t)return t[1]},has:function(e){return!!v(this,e)},set:function(e,t){var n=v(this,e);n?n[1]=t:this.entries.push([e,t])},"delete":function(e){var t=h(this.entries,(function(t){return t[0]===e}));return~t&&this.entries.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,u){var d=e((function(e,o){c(e,d,t),p(e,{type:t,id:C++,frozen:undefined}),o!=undefined&&l(o,e[u],e,n)})),m=f(t),h=function(e,t,n){var o=m(e),i=r(a(t),!0);return!0===i?g(o).set(t,n):i[o.id]=n,e};return o(d.prototype,{"delete":function(e){var t=m(this);if(!i(e))return!1;var n=r(e);return!0===n?g(t)["delete"](e):n&&s(n,t.id)&&delete n[t.id]},has:function(e){var t=m(this);if(!i(e))return!1;var n=r(e);return!0===n?g(t).has(e):n&&s(n,t.id)}}),o(d.prototype,n?{get:function(e){var t=m(this);if(i(e)){var n=r(e);return!0===n?g(t).get(e):n?n[t.id]:undefined}},set:function(e,t){return h(this,e,t)}}:{add:function(e){return h(this,e,!0)}}),d}}},function(e,t,n){"use strict";t.__esModule=!0,t.setupHotReloading=t.sendLogEntry=void 0;t.sendLogEntry=function(e,t){};t.setupHotReloading=function(){0}},function(e,t,n){"use strict";t.__esModule=!0,t.resizeStartHandler=t.dragStartHandler=t.setupDrag=void 0;var o,r,a,i,c,l=n(156),u=n(19),s=(0,n(51).createLogger)("drag"),d=!1,p=!1,f=[0,0],m=function(e){return(0,u.winget)(e,"pos").then((function(e){return[e.x,e.y]}))},h=function(e,t){return(0,u.winset)(e,"pos",t[0]+","+t[1])},C=function(e){var t,n,r,a;return regeneratorRuntime.async((function(i){for(;;)switch(i.prev=i.next){case 0:return s.log("setting up"),o=e.config.window,i.next=4,regeneratorRuntime.awrap(m(o));case 4:t=i.sent,f=[t[0]-window.screenLeft,t[1]-window.screenTop],n=g(t),r=n[0],a=n[1],r&&h(o,a),s.debug("current state",{ref:o,screenOffset:f});case 9:case"end":return i.stop()}}))};t.setupDrag=C;var g=function(e){var t=e[0],n=e[1],o=!1;return t<0?(t=0,o=!0):t+window.innerWidth>window.screen.availWidth&&(t=window.screen.availWidth-window.innerWidth,o=!0),n<0?(n=0,o=!0):n+window.innerHeight>window.screen.availHeight&&(n=window.screen.availHeight-window.innerHeight,o=!0),[o,[t,n]]};t.dragStartHandler=function(e){s.log("drag start"),d=!0,r=[window.screenLeft-e.screenX,window.screenTop-e.screenY],document.addEventListener("mousemove",v),document.addEventListener("mouseup",b),v(e)};var b=function y(e){s.log("drag end"),v(e),document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",y),d=!1},v=function(e){d&&(e.preventDefault(),h(o,(0,l.vecAdd)([e.screenX,e.screenY],f,r)))};t.resizeStartHandler=function(e,t){return function(n){a=[e,t],s.log("resize start",a),p=!0,r=[window.screenLeft-n.screenX,window.screenTop-n.screenY],i=[window.innerWidth,window.innerHeight],document.addEventListener("mousemove",V),document.addEventListener("mouseup",N),V(n)}};var N=function _(e){s.log("resize end",c),V(e),document.removeEventListener("mousemove",V),document.removeEventListener("mouseup",_),p=!1},V=function(e){p&&(e.preventDefault(),(c=(0,l.vecAdd)(i,(0,l.vecMultiply)(a,(0,l.vecAdd)([e.screenX,e.screenY],(0,l.vecInverse)([window.screenLeft,window.screenTop]),r,[1,1]))))[0]=Math.max(c[0],250),c[1]=Math.max(c[1],120),function(e,t){(0,u.winset)(e,"size",t[0]+","+t[1])}(o,c))}},function(e,t,n){"use strict";t.__esModule=!0,t.vecNormalize=t.vecLength=t.vecInverse=t.vecScale=t.vecDivide=t.vecMultiply=t.vecSubtract=t.vecAdd=t.vecCreate=void 0;var o=n(29);t.vecCreate=function(){for(var e=arguments.length,t=new Array(e),n=0;n35;return(0,o.createVNode)(1,"div",(0,r.classes)(["Tooltip",i&&"Tooltip--long",a&&"Tooltip--"+a]),null,1,{"data-tooltip":t})}},function(e,t,n){"use strict";t.__esModule=!0,t.Input=void 0;var o=n(1),r=n(12),a=n(17);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){return(0,r.isFalsy)(e)?"":e},l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={editing:!1},t.handleInput=function(e){var n=t.state.editing,o=t.props.onInput;n||t.setEditing(!0),o&&o(e,e.target.value)},t.handleFocus=function(e){t.state.editing||t.setEditing(!0)},t.handleBlur=function(e){var n=t.state.editing,o=t.props.onChange;n&&(t.setEditing(!1),o&&o(e,e.target.value))},t.handleKeyDown=function(e){var n=t.props,o=n.onInput,r=n.onChange,a=n.onEnter;return 13===e.keyCode?(t.setEditing(!1),r&&r(e,e.target.value),o&&o(e,e.target.value),a&&a(e,e.target.value),void(t.props.selfClear?e.target.value="":e.target.blur())):27===e.keyCode?(t.setEditing(!1),e.target.value=c(t.props.value),void e.target.blur()):void 0},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentDidMount=function(){var e=this.props.value,t=this.inputRef.current;t&&(t.value=c(e))},u.componentDidUpdate=function(e,t){var n=this.state.editing,o=e.value,r=this.props.value,a=this.inputRef.current;a&&!n&&o!==r&&(a.value=c(r))},u.setEditing=function(e){this.setState({editing:e})},u.render=function(){var e=this.props,t=(e.selfClear,e.onInput,e.onChange,e.onEnter,e.value,e.maxLength),n=e.placeholder,c=i(e,["selfClear","onInput","onChange","onEnter","value","maxLength","placeholder"]),l=c.className,u=c.fluid,s=i(c,["className","fluid"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Input",u&&"Input--fluid",l])},s,{children:[(0,o.createVNode)(1,"div","Input__baseline",".",16),(0,o.createVNode)(64,"input","Input__input",null,1,{placeholder:n,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,maxLength:t},null,this.inputRef)]})))},l}(o.Component);t.Input=l},function(e,t,n){"use strict";t.__esModule=!0,t.GridColumn=t.Grid=void 0;var o=n(1),r=n(162),a=n(12);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.children,n=i(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table,Object.assign({},n,{children:(0,o.createComponentVNode)(2,r.Table.Row,{children:t})})))};t.Grid=c,c.defaultHooks=a.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t,a=e.style,c=i(e,["size","style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table.Cell,Object.assign({style:Object.assign({width:n+"%"},a)},c)))};t.GridColumn=l,c.defaultHooks=a.pureComponentHooks,c.Column=l},function(e,t,n){"use strict";t.__esModule=!0,t.TableCell=t.TableRow=t.Table=void 0;var o=n(1),r=n(12),a=n(17);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.collapsing,n=e.className,c=e.content,l=e.children,u=i(e,["collapsing","className","content","children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"table",className:(0,r.classes)(["Table",t&&"Table--collapsing",n])},u,{children:(0,o.createVNode)(1,"tbody",null,[c,l],0)})))};t.Table=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.className,n=e.header,c=i(e,["className","header"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"tr",className:(0,r.classes)(["Table__row",n&&"Table__row--header",t])},c)))};t.TableRow=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.collapsing,c=e.header,l=i(e,["className","collapsing","header"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"td",className:(0,r.classes)(["Table__cell",n&&"Table__cell--collapsing",c&&"Table__cell--header",t])},l)))};t.TableCell=u,u.defaultHooks=r.pureComponentHooks,c.Row=l,c.Cell=u},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledListDivider=t.LabeledListItem=t.LabeledList=void 0;var o=n(1),r=n(12),a=n(17),i=function(e){var t=e.children;return(0,o.createVNode)(1,"table","LabeledList",t,0)};t.LabeledList=i,i.defaultHooks=r.pureComponentHooks;var c=function(e){var t=e.className,n=e.label,i=e.labelColor,c=void 0===i?"label":i,l=e.color,u=e.buttons,s=e.content,d=e.children;return(0,o.createVNode)(1,"tr",(0,r.classes)(["LabeledList__row",t]),[(0,o.createComponentVNode)(2,a.Box,{as:"td",color:c,className:(0,r.classes)(["LabeledList__cell","LabeledList__label"]),content:n+":"}),(0,o.createComponentVNode)(2,a.Box,{as:"td",color:l,className:(0,r.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:u?undefined:2,children:[s,d]}),u&&(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",u,0)],0)};t.LabeledListItem=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t;return(0,o.createVNode)(1,"tr","LabeledList__row",(0,o.createVNode)(1,"td",null,null,1,{style:{"padding-bottom":(0,a.unit)(n)}}),2)};t.LabeledListDivider=l,l.defaultHooks=r.pureComponentHooks,i.Item=c,i.Divider=l},function(e,t,n){n(165),n(166),n(167),n(168),n(169),n(170),e.exports=n(171)},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){"use strict";n(172),n(173),n(174),n(175),n(176),n(177),n(178),n(179),n(180),n(181),n(182),n(183),n(184),n(185),n(186),n(187),n(188),n(189),n(190),n(191),n(192),n(193),n(194),n(195),n(197),n(199),n(200),n(201),n(133),n(203),n(204),n(205),n(206),n(207),n(208),n(209),n(210),n(211),n(212),n(213),n(214),n(215),n(216),n(218),n(219),n(220),n(221),n(222),n(224),n(225),n(227),n(228),n(229),n(230),n(231),n(232),n(233),n(234),n(235),n(236),n(237),n(238),n(239),n(240),n(242),n(243),n(244),n(245),n(246),n(247),n(248),n(249),n(250),n(251),n(252),n(253),n(254),n(256),n(257),n(258),n(259),n(260),n(261),n(263),n(264),n(266),n(268),n(269),n(270),n(271),n(272),n(273),n(274),n(275),n(276),n(277),n(278),n(279),n(280),n(281),n(282),n(283),n(284),n(285),n(286),n(287),n(288),n(289),n(290),n(292),n(293),n(294),n(297),n(298),n(299),n(300),n(301),n(302),n(303),n(304),n(305),n(306),n(307),n(308),n(309),n(310),n(311),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),n(320),n(321),n(322),n(323),n(324),n(325),n(326),n(327),n(328),n(329),n(330),n(331),n(332),n(333),n(334),n(335),n(336),n(337),n(338),n(339),n(340),n(341),n(342),n(343),n(344),n(345),n(346),n(348),n(349),n(350),n(351),n(352),n(353),n(354),n(355),n(356),n(357),n(358),n(359),n(360),n(361),n(362),n(363),n(364),n(365),n(366),n(367),n(368),n(369),n(370),n(371),n(372),n(373),n(374),n(375),n(376),n(377),n(378),n(379),n(380),n(381),n(382),n(383),n(384),n(385);var o=n(1);n(387),n(388);var r=n(389),a=(n(154),n(3)),i=n(19),c=n(155),l=n(51),u=n(157),s=n(497),d=(0,l.createLogger)(),p=(0,s.createStore)(),f=document.getElementById("react-root"),m=!0,h=!1,C=function(){for(p.subscribe((function(){!function(){if(!h){0;try{var e=p.getState();if(m){if(d.log("initial render",e),!(0,u.getRoute)(e)){if(d.info("loading old tgui"),h=!0,window.update=window.initialize=function(){},i.tridentVersion<=4)return void setTimeout((function(){location.href="tgui-fallback.html?ref="+window.__ref__}),10);document.getElementById("data").textContent=JSON.stringify(e),(0,r.loadCSS)("v4shim.css"),(0,r.loadCSS)("tgui.css");var t=document.getElementsByTagName("head")[0],a=document.createElement("script");return a.type="text/javascript",a.src="tgui.js",void t.appendChild(a)}(0,c.setupDrag)(e)}var l=n(499).Layout,s=(0,o.createComponentVNode)(2,l,{state:e,dispatch:p.dispatch});(0,o.render)(s,f)}catch(C){d.error("rendering error",C)}m&&(m=!1)}}()})),window.update=window.initialize=function(e){var t=function(e){var t=function(e,t){return"object"==typeof t&&null!==t&&t.__number__?parseFloat(t.__number__):t};i.tridentVersion<=4&&(t=undefined);try{return JSON.parse(e,t)}catch(o){d.log(o),d.log("What we got:",e);var n=o&&o.message;throw new Error("JSON parsing error: "+n)}}(e);p.dispatch((0,a.backendUpdate)(t))};;){var e=window.__updateQueue__.shift();if(!e)break;window.update(e)}(0,r.loadCSS)("font-awesome.css")};i.tridentVersion<=4&&"loading"===document.readyState?document.addEventListener("DOMContentLoaded",C):C()},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(35),i=n(38),c=n(9),l=n(95),u=n(125),s=n(4),d=n(15),p=n(52),f=n(6),m=n(8),h=n(14),C=n(23),g=n(33),b=n(46),v=n(42),N=n(62),V=n(47),y=n(128),_=n(94),x=n(18),k=n(13),w=n(71),L=n(24),B=n(22),S=n(91),I=n(72),T=n(59),A=n(58),E=n(11),P=n(129),O=n(25),M=n(43),R=n(34),F=n(16).forEach,D=I("hidden"),j=E("toPrimitive"),z=R.set,H=R.getterFor("Symbol"),G=Object.prototype,U=r.Symbol,K=a("JSON","stringify"),Y=x.f,q=k.f,W=y.f,$=w.f,Q=S("symbols"),X=S("op-symbols"),J=S("string-to-symbol-registry"),Z=S("symbol-to-string-registry"),ee=S("wks"),te=r.QObject,ne=!te||!te.prototype||!te.prototype.findChild,oe=c&&s((function(){return 7!=v(q({},"a",{get:function(){return q(this,"a",{value:7}).a}})).a}))?function(e,t,n){var o=Y(G,t);o&&delete G[t],q(e,t,n),o&&e!==G&&q(G,t,o)}:q,re=function(e,t){var n=Q[e]=v(U.prototype);return z(n,{type:"Symbol",tag:e,description:t}),c||(n.description=t),n},ae=l&&"symbol"==typeof U.iterator?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof U},ie=function(e,t,n){e===G&&ie(X,t,n),m(e);var o=g(t,!0);return m(n),d(Q,o)?(n.enumerable?(d(e,D)&&e[D][o]&&(e[D][o]=!1),n=v(n,{enumerable:b(0,!1)})):(d(e,D)||q(e,D,b(1,{})),e[D][o]=!0),oe(e,o,n)):q(e,o,n)},ce=function(e,t){m(e);var n=C(t),o=N(n).concat(pe(n));return F(o,(function(t){c&&!ue.call(n,t)||ie(e,t,n[t])})),e},le=function(e,t){return t===undefined?v(e):ce(v(e),t)},ue=function(e){var t=g(e,!0),n=$.call(this,t);return!(this===G&&d(Q,t)&&!d(X,t))&&(!(n||!d(this,t)||!d(Q,t)||d(this,D)&&this[D][t])||n)},se=function(e,t){var n=C(e),o=g(t,!0);if(n!==G||!d(Q,o)||d(X,o)){var r=Y(n,o);return!r||!d(Q,o)||d(n,D)&&n[D][o]||(r.enumerable=!0),r}},de=function(e){var t=W(C(e)),n=[];return F(t,(function(e){d(Q,e)||d(T,e)||n.push(e)})),n},pe=function(e){var t=e===G,n=W(t?X:C(e)),o=[];return F(n,(function(e){!d(Q,e)||t&&!d(G,e)||o.push(Q[e])})),o};(l||(B((U=function(){if(this instanceof U)throw TypeError("Symbol is not a constructor");var e=arguments.length&&arguments[0]!==undefined?String(arguments[0]):undefined,t=A(e),n=function o(e){this===G&&o.call(X,e),d(this,D)&&d(this[D],t)&&(this[D][t]=!1),oe(this,t,b(1,e))};return c&&ne&&oe(G,t,{configurable:!0,set:n}),re(t,e)}).prototype,"toString",(function(){return H(this).tag})),w.f=ue,k.f=ie,x.f=se,V.f=y.f=de,_.f=pe,c&&(q(U.prototype,"description",{configurable:!0,get:function(){return H(this).description}}),i||B(G,"propertyIsEnumerable",ue,{unsafe:!0}))),u||(P.f=function(e){return re(E(e),e)}),o({global:!0,wrap:!0,forced:!l,sham:!l},{Symbol:U}),F(N(ee),(function(e){O(e)})),o({target:"Symbol",stat:!0,forced:!l},{"for":function(e){var t=String(e);if(d(J,t))return J[t];var n=U(t);return J[t]=n,Z[n]=t,n},keyFor:function(e){if(!ae(e))throw TypeError(e+" is not a symbol");if(d(Z,e))return Z[e]},useSetter:function(){ne=!0},useSimple:function(){ne=!1}}),o({target:"Object",stat:!0,forced:!l,sham:!c},{create:le,defineProperty:ie,defineProperties:ce,getOwnPropertyDescriptor:se}),o({target:"Object",stat:!0,forced:!l},{getOwnPropertyNames:de,getOwnPropertySymbols:pe}),o({target:"Object",stat:!0,forced:s((function(){_.f(1)}))},{getOwnPropertySymbols:function(e){return _.f(h(e))}}),K)&&o({target:"JSON",stat:!0,forced:!l||s((function(){var e=U();return"[null]"!=K([e])||"{}"!=K({a:e})||"{}"!=K(Object(e))}))},{stringify:function(e,t,n){for(var o,r=[e],a=1;arguments.length>a;)r.push(arguments[a++]);if(o=t,(f(t)||e!==undefined)&&!ae(e))return p(t)||(t=function(e,t){if("function"==typeof o&&(t=o.call(this,e,t)),!ae(t))return t}),r[1]=t,K.apply(null,r)}});U.prototype[j]||L(U.prototype,j,U.prototype.valueOf),M(U,"Symbol"),T[D]=!0},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(5),i=n(15),c=n(6),l=n(13).f,u=n(122),s=a.Symbol;if(r&&"function"==typeof s&&(!("description"in s.prototype)||s().description!==undefined)){var d={},p=function(){var e=arguments.length<1||arguments[0]===undefined?undefined:String(arguments[0]),t=this instanceof p?new s(e):e===undefined?s():s(e);return""===e&&(d[t]=!0),t};u(p,s);var f=p.prototype=s.prototype;f.constructor=p;var m=f.toString,h="Symbol(test)"==String(s("test")),C=/^Symbol\((.*)\)[^)]+$/;l(f,"description",{configurable:!0,get:function(){var e=c(this)?this.valueOf():this,t=m.call(e);if(i(d,e))return"";var n=h?t.slice(7,-1):t.replace(C,"$1");return""===n?undefined:n}}),o({global:!0,forced:!0},{Symbol:p})}},function(e,t,n){"use strict";n(25)("asyncIterator")},function(e,t,n){"use strict";n(25)("hasInstance")},function(e,t,n){"use strict";n(25)("isConcatSpreadable")},function(e,t,n){"use strict";n(25)("iterator")},function(e,t,n){"use strict";n(25)("match")},function(e,t,n){"use strict";n(25)("replace")},function(e,t,n){"use strict";n(25)("search")},function(e,t,n){"use strict";n(25)("species")},function(e,t,n){"use strict";n(25)("split")},function(e,t,n){"use strict";n(25)("toPrimitive")},function(e,t,n){"use strict";n(25)("toStringTag")},function(e,t,n){"use strict";n(25)("unscopables")},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(52),i=n(6),c=n(14),l=n(10),u=n(49),s=n(63),d=n(64),p=n(11),f=n(96),m=p("isConcatSpreadable"),h=9007199254740991,C="Maximum allowed index exceeded",g=f>=51||!r((function(){var e=[];return e[m]=!1,e.concat()[0]!==e})),b=d("concat"),v=function(e){if(!i(e))return!1;var t=e[m];return t!==undefined?!!t:a(e)};o({target:"Array",proto:!0,forced:!g||!b},{concat:function(e){var t,n,o,r,a,i=c(this),d=s(i,0),p=0;for(t=-1,o=arguments.length;th)throw TypeError(C);for(n=0;n=h)throw TypeError(C);u(d,p++,a)}return d.length=p,d}})},function(e,t,n){"use strict";var o=n(0),r=n(130),a=n(44);o({target:"Array",proto:!0},{copyWithin:r}),a("copyWithin")},function(e,t,n){"use strict";var o=n(0),r=n(16).every;o({target:"Array",proto:!0,forced:n(39)("every")},{every:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(97),a=n(44);o({target:"Array",proto:!0},{fill:r}),a("fill")},function(e,t,n){"use strict";var o=n(0),r=n(16).filter,a=n(4),i=n(64)("filter"),c=i&&!a((function(){[].filter.call({length:-1,0:1},(function(e){throw e}))}));o({target:"Array",proto:!0,forced:!i||!c},{filter:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(16).find,a=n(44),i=!0;"find"in[]&&Array(1).find((function(){i=!1})),o({target:"Array",proto:!0,forced:i},{find:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("find")},function(e,t,n){"use strict";var o=n(0),r=n(16).findIndex,a=n(44),i=!0;"findIndex"in[]&&Array(1).findIndex((function(){i=!1})),o({target:"Array",proto:!0,forced:i},{findIndex:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("findIndex")},function(e,t,n){"use strict";var o=n(0),r=n(131),a=n(14),i=n(10),c=n(30),l=n(63);o({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:undefined,t=a(this),n=i(t.length),o=l(t,0);return o.length=r(o,t,t,n,0,e===undefined?1:c(e)),o}})},function(e,t,n){"use strict";var o=n(0),r=n(131),a=n(14),i=n(10),c=n(31),l=n(63);o({target:"Array",proto:!0},{flatMap:function(e){var t,n=a(this),o=i(n.length);return c(e),(t=l(n,0)).length=r(t,n,n,o,0,1,e,arguments.length>1?arguments[1]:undefined),t}})},function(e,t,n){"use strict";var o=n(0),r=n(196);o({target:"Array",proto:!0,forced:[].forEach!=r},{forEach:r})},function(e,t,n){"use strict";var o=n(16).forEach,r=n(39);e.exports=r("forEach")?function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}:[].forEach},function(e,t,n){"use strict";var o=n(0),r=n(198);o({target:"Array",stat:!0,forced:!n(75)((function(e){Array.from(e)}))},{from:r})},function(e,t,n){"use strict";var o=n(48),r=n(14),a=n(132),i=n(98),c=n(10),l=n(49),u=n(99);e.exports=function(e){var t,n,s,d,p,f=r(e),m="function"==typeof this?this:Array,h=arguments.length,C=h>1?arguments[1]:undefined,g=C!==undefined,b=0,v=u(f);if(g&&(C=o(C,h>2?arguments[2]:undefined,2)),v==undefined||m==Array&&i(v))for(n=new m(t=c(f.length));t>b;b++)l(n,b,g?C(f[b],b):f[b]);else for(p=(d=v.call(f)).next,n=new m;!(s=p.call(d)).done;b++)l(n,b,g?a(d,C,[s.value,b],!0):s.value);return n.length=b,n}},function(e,t,n){"use strict";var o=n(0),r=n(60).includes,a=n(44);o({target:"Array",proto:!0},{includes:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("includes")},function(e,t,n){"use strict";var o=n(0),r=n(60).indexOf,a=n(39),i=[].indexOf,c=!!i&&1/[1].indexOf(1,-0)<0,l=a("indexOf");o({target:"Array",proto:!0,forced:c||l},{indexOf:function(e){return c?i.apply(this,arguments)||0:r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";n(0)({target:"Array",stat:!0},{isArray:n(52)})},function(e,t,n){"use strict";var o=n(134).IteratorPrototype,r=n(42),a=n(46),i=n(43),c=n(65),l=function(){return this};e.exports=function(e,t,n){var u=t+" Iterator";return e.prototype=r(o,{next:a(1,n)}),i(e,u,!1,!0),c[u]=l,e}},function(e,t,n){"use strict";var o=n(0),r=n(57),a=n(23),i=n(39),c=[].join,l=r!=Object,u=i("join",",");o({target:"Array",proto:!0,forced:l||u},{join:function(e){return c.call(a(this),e===undefined?",":e)}})},function(e,t,n){"use strict";var o=n(0),r=n(136);o({target:"Array",proto:!0,forced:r!==[].lastIndexOf},{lastIndexOf:r})},function(e,t,n){"use strict";var o=n(0),r=n(16).map,a=n(4),i=n(64)("map"),c=i&&!a((function(){[].map.call({length:-1,0:1},(function(e){throw e}))}));o({target:"Array",proto:!0,forced:!i||!c},{map:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(49);o({target:"Array",stat:!0,forced:r((function(){function e(){}return!(Array.of.call(e)instanceof e)}))},{of:function(){for(var e=0,t=arguments.length,n=new("function"==typeof this?this:Array)(t);t>e;)a(n,e,arguments[e++]);return n.length=t,n}})},function(e,t,n){"use strict";var o=n(0),r=n(76).left;o({target:"Array",proto:!0,forced:n(39)("reduce")},{reduce:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(76).right;o({target:"Array",proto:!0,forced:n(39)("reduceRight")},{reduceRight:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(52),i=n(41),c=n(10),l=n(23),u=n(49),s=n(64),d=n(11)("species"),p=[].slice,f=Math.max;o({target:"Array",proto:!0,forced:!s("slice")},{slice:function(e,t){var n,o,s,m=l(this),h=c(m.length),C=i(e,h),g=i(t===undefined?h:t,h);if(a(m)&&("function"!=typeof(n=m.constructor)||n!==Array&&!a(n.prototype)?r(n)&&null===(n=n[d])&&(n=undefined):n=undefined,n===Array||n===undefined))return p.call(m,C,g);for(o=new(n===undefined?Array:n)(f(g-C,0)),s=0;C1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(31),a=n(14),i=n(4),c=n(39),l=[],u=l.sort,s=i((function(){l.sort(undefined)})),d=i((function(){l.sort(null)})),p=c("sort");o({target:"Array",proto:!0,forced:s||!d||p},{sort:function(e){return e===undefined?u.call(a(this)):u.call(a(this),r(e))}})},function(e,t,n){"use strict";n(54)("Array")},function(e,t,n){"use strict";var o=n(0),r=n(41),a=n(30),i=n(10),c=n(14),l=n(63),u=n(49),s=n(64),d=Math.max,p=Math.min,f=9007199254740991,m="Maximum allowed length exceeded";o({target:"Array",proto:!0,forced:!s("splice")},{splice:function(e,t){var n,o,s,h,C,g,b=c(this),v=i(b.length),N=r(e,v),V=arguments.length;if(0===V?n=o=0:1===V?(n=0,o=v-N):(n=V-2,o=p(d(a(t),0),v-N)),v+n-o>f)throw TypeError(m);for(s=l(b,o),h=0;hv-o+n;h--)delete b[h-1]}else if(n>o)for(h=v-o;h>N;h--)g=h+n-1,(C=h+o-1)in b?b[g]=b[C]:delete b[g];for(h=0;h>1,h=23===t?r(2,-24)-r(2,-77):0,C=e<0||0===e&&1/e<0?1:0,g=0;for((e=o(e))!=e||e===1/0?(u=e!=e?1:0,l=f):(l=a(i(e)/c),e*(s=r(2,-l))<1&&(l--,s*=2),(e+=l+m>=1?h/s:h*r(2,1-m))*s>=2&&(l++,s/=2),l+m>=f?(u=0,l=f):l+m>=1?(u=(e*s-1)*r(2,t),l+=m):(u=e*r(2,m-1)*r(2,t),l=0));t>=8;d[g++]=255&u,u/=256,t-=8);for(l=l<0;d[g++]=255&l,l/=256,p-=8);return d[--g]|=128*C,d},unpack:function(e,t){var n,o=e.length,a=8*o-t-1,i=(1<>1,l=a-7,u=o-1,s=e[u--],d=127&s;for(s>>=7;l>0;d=256*d+e[u],u--,l-=8);for(n=d&(1<<-l)-1,d>>=-l,l+=t;l>0;n=256*n+e[u],u--,l-=8);if(0===d)d=1-c;else{if(d===i)return n?NaN:s?-1/0:1/0;n+=r(2,t),d-=c}return(s?-1:1)*n*r(2,d-t)}}},function(e,t,n){"use strict";var o=n(0),r=n(7);o({target:"ArrayBuffer",stat:!0,forced:!r.NATIVE_ARRAY_BUFFER_VIEWS},{isView:r.isView})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(77),i=n(8),c=n(41),l=n(10),u=n(45),s=a.ArrayBuffer,d=a.DataView,p=s.prototype.slice;o({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:r((function(){return!new s(2).slice(1,undefined).byteLength}))},{slice:function(e,t){if(p!==undefined&&t===undefined)return p.call(i(this),e);for(var n=i(this).byteLength,o=c(e,n),r=c(t===undefined?n:t,n),a=new(u(this,s))(l(r-o)),f=new d(this),m=new d(a),h=0;o9999?"+":"";return n+r(a(e),n?6:4,0)+"-"+r(this.getUTCMonth()+1,2,0)+"-"+r(this.getUTCDate(),2,0)+"T"+r(this.getUTCHours(),2,0)+":"+r(this.getUTCMinutes(),2,0)+":"+r(this.getUTCSeconds(),2,0)+"."+r(t,3,0)+"Z"}:l},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(14),i=n(33);o({target:"Date",proto:!0,forced:r((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}))},{toJSON:function(e){var t=a(this),n=i(t);return"number"!=typeof n||isFinite(n)?t.toISOString():null}})},function(e,t,n){"use strict";var o=n(24),r=n(226),a=n(11)("toPrimitive"),i=Date.prototype;a in i||o(i,a,r)},function(e,t,n){"use strict";var o=n(8),r=n(33);e.exports=function(e){if("string"!==e&&"number"!==e&&"default"!==e)throw TypeError("Incorrect hint");return r(o(this),"number"!==e)}},function(e,t,n){"use strict";var o=n(22),r=Date.prototype,a="Invalid Date",i=r.toString,c=r.getTime;new Date(NaN)+""!=a&&o(r,"toString",(function(){var e=c.call(this);return e==e?i.call(this):a}))},function(e,t,n){"use strict";n(0)({target:"Function",proto:!0},{bind:n(138)})},function(e,t,n){"use strict";var o=n(6),r=n(13),a=n(36),i=n(11)("hasInstance"),c=Function.prototype;i in c||r.f(c,i,{value:function(e){if("function"!=typeof this||!o(e))return!1;if(!o(this.prototype))return e instanceof this;for(;e=a(e);)if(this.prototype===e)return!0;return!1}})},function(e,t,n){"use strict";var o=n(9),r=n(13).f,a=Function.prototype,i=a.toString,c=/^\s*function ([^ (]*)/;!o||"name"in a||r(a,"name",{configurable:!0,get:function(){try{return i.call(this).match(c)[1]}catch(e){return""}}})},function(e,t,n){"use strict";var o=n(5);n(43)(o.JSON,"JSON",!0)},function(e,t,n){"use strict";var o=n(78),r=n(139);e.exports=o("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),r)},function(e,t,n){"use strict";var o=n(0),r=n(140),a=Math.acosh,i=Math.log,c=Math.sqrt,l=Math.LN2;o({target:"Math",stat:!0,forced:!a||710!=Math.floor(a(Number.MAX_VALUE))||a(Infinity)!=Infinity},{acosh:function(e){return(e=+e)<1?NaN:e>94906265.62425156?i(e)+l:r(e-1+c(e-1)*c(e+1))}})},function(e,t,n){"use strict";var o=n(0),r=Math.asinh,a=Math.log,i=Math.sqrt;o({target:"Math",stat:!0,forced:!(r&&1/r(0)>0)},{asinh:function c(e){return isFinite(e=+e)&&0!=e?e<0?-c(-e):a(e+i(e*e+1)):e}})},function(e,t,n){"use strict";var o=n(0),r=Math.atanh,a=Math.log;o({target:"Math",stat:!0,forced:!(r&&1/r(-0)<0)},{atanh:function(e){return 0==(e=+e)?e:a((1+e)/(1-e))/2}})},function(e,t,n){"use strict";var o=n(0),r=n(105),a=Math.abs,i=Math.pow;o({target:"Math",stat:!0},{cbrt:function(e){return r(e=+e)*i(a(e),1/3)}})},function(e,t,n){"use strict";var o=n(0),r=Math.floor,a=Math.log,i=Math.LOG2E;o({target:"Math",stat:!0},{clz32:function(e){return(e>>>=0)?31-r(a(e+.5)*i):32}})},function(e,t,n){"use strict";var o=n(0),r=n(80),a=Math.cosh,i=Math.abs,c=Math.E;o({target:"Math",stat:!0,forced:!a||a(710)===Infinity},{cosh:function(e){var t=r(i(e)-1)+1;return(t+1/(t*c*c))*(c/2)}})},function(e,t,n){"use strict";var o=n(0),r=n(80);o({target:"Math",stat:!0,forced:r!=Math.expm1},{expm1:r})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{fround:n(241)})},function(e,t,n){"use strict";var o=n(105),r=Math.abs,a=Math.pow,i=a(2,-52),c=a(2,-23),l=a(2,127)*(2-c),u=a(2,-126),s=function(e){return e+1/i-1/i};e.exports=Math.fround||function(e){var t,n,a=r(e),d=o(e);return al||n!=n?d*Infinity:d*n}},function(e,t,n){"use strict";var o=n(0),r=Math.hypot,a=Math.abs,i=Math.sqrt;o({target:"Math",stat:!0,forced:!!r&&r(Infinity,NaN)!==Infinity},{hypot:function(e,t){for(var n,o,r=0,c=0,l=arguments.length,u=0;c0?(o=n/u)*o:n;return u===Infinity?Infinity:u*i(r)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=Math.imul;o({target:"Math",stat:!0,forced:r((function(){return-5!=a(4294967295,5)||2!=a.length}))},{imul:function(e,t){var n=+e,o=+t,r=65535&n,a=65535&o;return 0|r*a+((65535&n>>>16)*a+r*(65535&o>>>16)<<16>>>0)}})},function(e,t,n){"use strict";var o=n(0),r=Math.log,a=Math.LOG10E;o({target:"Math",stat:!0},{log10:function(e){return r(e)*a}})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{log1p:n(140)})},function(e,t,n){"use strict";var o=n(0),r=Math.log,a=Math.LN2;o({target:"Math",stat:!0},{log2:function(e){return r(e)/a}})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{sign:n(105)})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(80),i=Math.abs,c=Math.exp,l=Math.E;o({target:"Math",stat:!0,forced:r((function(){return-2e-17!=Math.sinh(-2e-17)}))},{sinh:function(e){return i(e=+e)<1?(a(e)-a(-e))/2:(c(e-1)-c(-e-1))*(l/2)}})},function(e,t,n){"use strict";var o=n(0),r=n(80),a=Math.exp;o({target:"Math",stat:!0},{tanh:function(e){var t=r(e=+e),n=r(-e);return t==Infinity?1:n==Infinity?-1:(t-n)/(a(e)+a(-e))}})},function(e,t,n){"use strict";n(43)(Math,"Math",!0)},function(e,t,n){"use strict";var o=n(0),r=Math.ceil,a=Math.floor;o({target:"Math",stat:!0},{trunc:function(e){return(e>0?a:r)(e)}})},function(e,t,n){"use strict";var o=n(9),r=n(5),a=n(61),i=n(22),c=n(15),l=n(32),u=n(79),s=n(33),d=n(4),p=n(42),f=n(47).f,m=n(18).f,h=n(13).f,C=n(56).trim,g="Number",b=r[g],v=b.prototype,N=l(p(v))==g,V=function(e){var t,n,o,r,a,i,c,l,u=s(e,!1);if("string"==typeof u&&u.length>2)if(43===(t=(u=C(u)).charCodeAt(0))||45===t){if(88===(n=u.charCodeAt(2))||120===n)return NaN}else if(48===t){switch(u.charCodeAt(1)){case 66:case 98:o=2,r=49;break;case 79:case 111:o=8,r=55;break;default:return+u}for(i=(a=u.slice(2)).length,c=0;cr)return NaN;return parseInt(a,o)}return+u};if(a(g,!b(" 0o1")||!b("0b1")||b("+0x1"))){for(var y,_=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof _&&(N?d((function(){v.valueOf.call(n)})):l(n)!=g)?u(new b(V(t)),n,_):V(t)},x=o?f(b):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),k=0;x.length>k;k++)c(b,y=x[k])&&!c(_,y)&&h(_,y,m(b,y));_.prototype=v,v.constructor=_,i(r,g,_)}},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isFinite:n(255)})},function(e,t,n){"use strict";var o=n(5).isFinite;e.exports=Number.isFinite||function(e){return"number"==typeof e&&o(e)}},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isInteger:n(141)})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isNaN:function(e){return e!=e}})},function(e,t,n){"use strict";var o=n(0),r=n(141),a=Math.abs;o({target:"Number",stat:!0},{isSafeInteger:function(e){return r(e)&&a(e)<=9007199254740991}})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(e,t,n){"use strict";var o=n(0),r=n(262);o({target:"Number",stat:!0,forced:Number.parseFloat!=r},{parseFloat:r})},function(e,t,n){"use strict";var o=n(5),r=n(56).trim,a=n(81),i=o.parseFloat,c=1/i(a+"-0")!=-Infinity;e.exports=c?function(e){var t=r(String(e)),n=i(t);return 0===n&&"-"==t.charAt(0)?-0:n}:i},function(e,t,n){"use strict";var o=n(0),r=n(142);o({target:"Number",stat:!0,forced:Number.parseInt!=r},{parseInt:r})},function(e,t,n){"use strict";var o=n(0),r=n(30),a=n(265),i=n(104),c=n(4),l=1..toFixed,u=Math.floor,s=function p(e,t,n){return 0===t?n:t%2==1?p(e,t-1,n*e):p(e*e,t/2,n)},d=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t};o({target:"Number",proto:!0,forced:l&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!c((function(){l.call({})}))},{toFixed:function(e){var t,n,o,c,l=a(this),p=r(e),f=[0,0,0,0,0,0],m="",h="0",C=function(e,t){for(var n=-1,o=t;++n<6;)o+=e*f[n],f[n]=o%1e7,o=u(o/1e7)},g=function(e){for(var t=6,n=0;--t>=0;)n+=f[t],f[t]=u(n/e),n=n%e*1e7},b=function(){for(var e=6,t="";--e>=0;)if(""!==t||0===e||0!==f[e]){var n=String(f[e]);t=""===t?n:t+i.call("0",7-n.length)+n}return t};if(p<0||p>20)throw RangeError("Incorrect fraction digits");if(l!=l)return"NaN";if(l<=-1e21||l>=1e21)return String(l);if(l<0&&(m="-",l=-l),l>1e-21)if(n=(t=d(l*s(2,69,1))-69)<0?l*s(2,-t,1):l/s(2,t,1),n*=4503599627370496,(t=52-t)>0){for(C(0,n),o=p;o>=7;)C(1e7,0),o-=7;for(C(s(10,o,1),0),o=t-1;o>=23;)g(1<<23),o-=23;g(1<0?m+((c=h.length)<=p?"0."+i.call("0",p-c)+h:h.slice(0,c-p)+"."+h.slice(c-p)):m+h}})},function(e,t,n){"use strict";var o=n(32);e.exports=function(e){if("number"!=typeof e&&"Number"!=o(e))throw TypeError("Incorrect invocation");return+e}},function(e,t,n){"use strict";var o=n(0),r=n(267);o({target:"Object",stat:!0,forced:Object.assign!==r},{assign:r})},function(e,t,n){"use strict";var o=n(9),r=n(4),a=n(62),i=n(94),c=n(71),l=n(14),u=n(57),s=Object.assign,d=Object.defineProperty;e.exports=!s||r((function(){if(o&&1!==s({b:1},s(d({},"a",{enumerable:!0,get:function(){d(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol();return e[n]=7,"abcdefghijklmnopqrst".split("").forEach((function(e){t[e]=e})),7!=s({},e)[n]||"abcdefghijklmnopqrst"!=a(s({},t)).join("")}))?function(e,t){for(var n=l(e),r=arguments.length,s=1,d=i.f,p=c.f;r>s;)for(var f,m=u(arguments[s++]),h=d?a(m).concat(d(m)):a(m),C=h.length,g=0;C>g;)f=h[g++],o&&!p.call(m,f)||(n[f]=m[f]);return n}:s},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0,sham:!n(9)},{create:n(42)})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(31),l=n(13);r&&o({target:"Object",proto:!0,forced:a},{__defineGetter__:function(e,t){l.f(i(this),e,{get:c(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var o=n(0),r=n(9);o({target:"Object",stat:!0,forced:!r,sham:!r},{defineProperties:n(126)})},function(e,t,n){"use strict";var o=n(0),r=n(9);o({target:"Object",stat:!0,forced:!r,sham:!r},{defineProperty:n(13).f})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(31),l=n(13);r&&o({target:"Object",proto:!0,forced:a},{__defineSetter__:function(e,t){l.f(i(this),e,{set:c(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var o=n(0),r=n(143).entries;o({target:"Object",stat:!0},{entries:function(e){return r(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(67),a=n(4),i=n(6),c=n(50).onFreeze,l=Object.freeze;o({target:"Object",stat:!0,forced:a((function(){l(1)})),sham:!r},{freeze:function(e){return l&&i(e)?l(c(e)):e}})},function(e,t,n){"use strict";var o=n(0),r=n(68),a=n(49);o({target:"Object",stat:!0},{fromEntries:function(e){var t={};return r(e,(function(e,n){a(t,e,n)}),undefined,!0),t}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(23),i=n(18).f,c=n(9),l=r((function(){i(1)}));o({target:"Object",stat:!0,forced:!c||l,sham:!c},{getOwnPropertyDescriptor:function(e,t){return i(a(e),t)}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(92),i=n(23),c=n(18),l=n(49);o({target:"Object",stat:!0,sham:!r},{getOwnPropertyDescriptors:function(e){for(var t,n,o=i(e),r=c.f,u=a(o),s={},d=0;u.length>d;)(n=r(o,t=u[d++]))!==undefined&&l(s,t,n);return s}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(128).f;o({target:"Object",stat:!0,forced:r((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:a})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(14),i=n(36),c=n(102);o({target:"Object",stat:!0,forced:r((function(){i(1)})),sham:!c},{getPrototypeOf:function(e){return i(a(e))}})},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0},{is:n(144)})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isExtensible;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isExtensible:function(e){return!!a(e)&&(!i||i(e))}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isFrozen;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isFrozen:function(e){return!a(e)||!!i&&i(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isSealed;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isSealed:function(e){return!a(e)||!!i&&i(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(14),a=n(62);o({target:"Object",stat:!0,forced:n(4)((function(){a(1)}))},{keys:function(e){return a(r(e))}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(33),l=n(36),u=n(18).f;r&&o({target:"Object",proto:!0,forced:a},{__lookupGetter__:function(e){var t,n=i(this),o=c(e,!0);do{if(t=u(n,o))return t.get}while(n=l(n))}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(33),l=n(36),u=n(18).f;r&&o({target:"Object",proto:!0,forced:a},{__lookupSetter__:function(e){var t,n=i(this),o=c(e,!0);do{if(t=u(n,o))return t.set}while(n=l(n))}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(50).onFreeze,i=n(67),c=n(4),l=Object.preventExtensions;o({target:"Object",stat:!0,forced:c((function(){l(1)})),sham:!i},{preventExtensions:function(e){return l&&r(e)?l(a(e)):e}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(50).onFreeze,i=n(67),c=n(4),l=Object.seal;o({target:"Object",stat:!0,forced:c((function(){l(1)})),sham:!i},{seal:function(e){return l&&r(e)?l(a(e)):e}})},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0},{setPrototypeOf:n(53)})},function(e,t,n){"use strict";var o=n(100),r=n(22),a=n(291);o||r(Object.prototype,"toString",a,{unsafe:!0})},function(e,t,n){"use strict";var o=n(100),r=n(74);e.exports=o?{}.toString:function(){return"[object "+r(this)+"]"}},function(e,t,n){"use strict";var o=n(0),r=n(143).values;o({target:"Object",stat:!0},{values:function(e){return r(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(142);o({global:!0,forced:parseInt!=r},{parseInt:r})},function(e,t,n){"use strict";var o,r,a,i,c=n(0),l=n(38),u=n(5),s=n(35),d=n(145),p=n(22),f=n(66),m=n(43),h=n(54),C=n(6),g=n(31),b=n(55),v=n(32),N=n(90),V=n(68),y=n(75),_=n(45),x=n(106).set,k=n(147),w=n(148),L=n(295),B=n(149),S=n(296),I=n(34),T=n(61),A=n(11),E=n(96),P=A("species"),O="Promise",M=I.get,R=I.set,F=I.getterFor(O),D=d,j=u.TypeError,z=u.document,H=u.process,G=s("fetch"),U=B.f,K=U,Y="process"==v(H),q=!!(z&&z.createEvent&&u.dispatchEvent),W=0,$=T(O,(function(){if(!(N(D)!==String(D))){if(66===E)return!0;if(!Y&&"function"!=typeof PromiseRejectionEvent)return!0}if(l&&!D.prototype["finally"])return!0;if(E>=51&&/native code/.test(D))return!1;var e=D.resolve(1),t=function(e){e((function(){}),(function(){}))};return(e.constructor={})[P]=t,!(e.then((function(){}))instanceof t)})),Q=$||!y((function(e){D.all(e)["catch"]((function(){}))})),X=function(e){var t;return!(!C(e)||"function"!=typeof(t=e.then))&&t},J=function(e,t,n){if(!t.notified){t.notified=!0;var o=t.reactions;k((function(){for(var r=t.value,a=1==t.state,i=0;o.length>i;){var c,l,u,s=o[i++],d=a?s.ok:s.fail,p=s.resolve,f=s.reject,m=s.domain;try{d?(a||(2===t.rejection&&ne(e,t),t.rejection=1),!0===d?c=r:(m&&m.enter(),c=d(r),m&&(m.exit(),u=!0)),c===s.promise?f(j("Promise-chain cycle")):(l=X(c))?l.call(c,p,f):p(c)):f(r)}catch(h){m&&!u&&m.exit(),f(h)}}t.reactions=[],t.notified=!1,n&&!t.rejection&&ee(e,t)}))}},Z=function(e,t,n){var o,r;q?((o=z.createEvent("Event")).promise=t,o.reason=n,o.initEvent(e,!1,!0),u.dispatchEvent(o)):o={promise:t,reason:n},(r=u["on"+e])?r(o):"unhandledrejection"===e&&L("Unhandled promise rejection",n)},ee=function(e,t){x.call(u,(function(){var n,o=t.value;if(te(t)&&(n=S((function(){Y?H.emit("unhandledRejection",o,e):Z("unhandledrejection",e,o)})),t.rejection=Y||te(t)?2:1,n.error))throw n.value}))},te=function(e){return 1!==e.rejection&&!e.parent},ne=function(e,t){x.call(u,(function(){Y?H.emit("rejectionHandled",e):Z("rejectionhandled",e,t.value)}))},oe=function(e,t,n,o){return function(r){e(t,n,r,o)}},re=function(e,t,n,o){t.done||(t.done=!0,o&&(t=o),t.value=n,t.state=2,J(e,t,!0))},ae=function ie(e,t,n,o){if(!t.done){t.done=!0,o&&(t=o);try{if(e===n)throw j("Promise can't be resolved itself");var r=X(n);r?k((function(){var o={done:!1};try{r.call(n,oe(ie,e,o,t),oe(re,e,o,t))}catch(a){re(e,o,a,t)}})):(t.value=n,t.state=1,J(e,t,!1))}catch(a){re(e,{done:!1},a,t)}}};$&&(D=function(e){b(this,D,O),g(e),o.call(this);var t=M(this);try{e(oe(ae,this,t),oe(re,this,t))}catch(n){re(this,t,n)}},(o=function(e){R(this,{type:O,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:W,value:undefined})}).prototype=f(D.prototype,{then:function(e,t){var n=F(this),o=U(_(this,D));return o.ok="function"!=typeof e||e,o.fail="function"==typeof t&&t,o.domain=Y?H.domain:undefined,n.parent=!0,n.reactions.push(o),n.state!=W&&J(this,n,!1),o.promise},"catch":function(e){return this.then(undefined,e)}}),r=function(){var e=new o,t=M(e);this.promise=e,this.resolve=oe(ae,e,t),this.reject=oe(re,e,t)},B.f=U=function(e){return e===D||e===a?new r(e):K(e)},l||"function"!=typeof d||(i=d.prototype.then,p(d.prototype,"then",(function(e,t){var n=this;return new D((function(e,t){i.call(n,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof G&&c({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return w(D,G.apply(u,arguments))}}))),c({global:!0,wrap:!0,forced:$},{Promise:D}),m(D,O,!1,!0),h(O),a=s(O),c({target:O,stat:!0,forced:$},{reject:function(e){var t=U(this);return t.reject.call(undefined,e),t.promise}}),c({target:O,stat:!0,forced:l||$},{resolve:function(e){return w(l&&this===a?D:this,e)}}),c({target:O,stat:!0,forced:Q},{all:function(e){var t=this,n=U(t),o=n.resolve,r=n.reject,a=S((function(){var n=g(t.resolve),a=[],i=0,c=1;V(e,(function(e){var l=i++,u=!1;a.push(undefined),c++,n.call(t,e).then((function(e){u||(u=!0,a[l]=e,--c||o(a))}),r)})),--c||o(a)}));return a.error&&r(a.value),n.promise},race:function(e){var t=this,n=U(t),o=n.reject,r=S((function(){var r=g(t.resolve);V(e,(function(e){r.call(t,e).then(n.resolve,o)}))}));return r.error&&o(r.value),n.promise}})},function(e,t,n){"use strict";var o=n(5);e.exports=function(e,t){var n=o.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))}},function(e,t,n){"use strict";e.exports=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}}},function(e,t,n){"use strict";var o=n(0),r=n(38),a=n(145),i=n(4),c=n(35),l=n(45),u=n(148),s=n(22);o({target:"Promise",proto:!0,real:!0,forced:!!a&&i((function(){a.prototype["finally"].call({then:function(){}},(function(){}))}))},{"finally":function(e){var t=l(this,c("Promise")),n="function"==typeof e;return this.then(n?function(n){return u(t,e()).then((function(){return n}))}:e,n?function(n){return u(t,e()).then((function(){throw n}))}:e)}}),r||"function"!=typeof a||a.prototype["finally"]||s(a.prototype,"finally",c("Promise").prototype["finally"])},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(31),i=n(8),c=n(4),l=r("Reflect","apply"),u=Function.apply;o({target:"Reflect",stat:!0,forced:!c((function(){l((function(){}))}))},{apply:function(e,t,n){return a(e),i(n),l?l(e,t,n):u.call(e,t,n)}})},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(31),i=n(8),c=n(6),l=n(42),u=n(138),s=n(4),d=r("Reflect","construct"),p=s((function(){function e(){}return!(d((function(){}),[],e)instanceof e)})),f=!s((function(){d((function(){}))})),m=p||f;o({target:"Reflect",stat:!0,forced:m,sham:m},{construct:function(e,t){a(e),i(t);var n=arguments.length<3?e:a(arguments[2]);if(f&&!p)return d(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var o=[null];return o.push.apply(o,t),new(u.apply(e,o))}var r=n.prototype,s=l(c(r)?r:Object.prototype),m=Function.apply.call(e,s,t);return c(m)?m:s}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(8),i=n(33),c=n(13);o({target:"Reflect",stat:!0,forced:n(4)((function(){Reflect.defineProperty(c.f({},1,{value:1}),1,{value:2})})),sham:!r},{defineProperty:function(e,t,n){a(e);var o=i(t,!0);a(n);try{return c.f(e,o,n),!0}catch(r){return!1}}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(18).f;o({target:"Reflect",stat:!0},{deleteProperty:function(e,t){var n=a(r(e),t);return!(n&&!n.configurable)&&delete e[t]}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(8),i=n(15),c=n(18),l=n(36);o({target:"Reflect",stat:!0},{get:function u(e,t){var n,o,s=arguments.length<3?e:arguments[2];return a(e)===s?e[t]:(n=c.f(e,t))?i(n,"value")?n.value:n.get===undefined?undefined:n.get.call(s):r(o=l(e))?u(o,t,s):void 0}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(8),i=n(18);o({target:"Reflect",stat:!0,sham:!r},{getOwnPropertyDescriptor:function(e,t){return i.f(a(e),t)}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(36);o({target:"Reflect",stat:!0,sham:!n(102)},{getPrototypeOf:function(e){return a(r(e))}})},function(e,t,n){"use strict";n(0)({target:"Reflect",stat:!0},{has:function(e,t){return t in e}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=Object.isExtensible;o({target:"Reflect",stat:!0},{isExtensible:function(e){return r(e),!a||a(e)}})},function(e,t,n){"use strict";n(0)({target:"Reflect",stat:!0},{ownKeys:n(92)})},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(8);o({target:"Reflect",stat:!0,sham:!n(67)},{preventExtensions:function(e){a(e);try{var t=r("Object","preventExtensions");return t&&t(e),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(6),i=n(15),c=n(4),l=n(13),u=n(18),s=n(36),d=n(46);o({target:"Reflect",stat:!0,forced:c((function(){var e=l.f({},"a",{configurable:!0});return!1!==Reflect.set(s(e),"a",1,e)}))},{set:function p(e,t,n){var o,c,f=arguments.length<4?e:arguments[3],m=u.f(r(e),t);if(!m){if(a(c=s(e)))return p(c,t,n,f);m=d(0)}if(i(m,"value")){if(!1===m.writable||!a(f))return!1;if(o=u.f(f,t)){if(o.get||o.set||!1===o.writable)return!1;o.value=n,l.f(f,t,o)}else l.f(f,t,d(0,n));return!0}return m.set!==undefined&&(m.set.call(f,n),!0)}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(135),i=n(53);i&&o({target:"Reflect",stat:!0},{setPrototypeOf:function(e,t){r(e),a(t);try{return i(e,t),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var o=n(9),r=n(5),a=n(61),i=n(79),c=n(13).f,l=n(47).f,u=n(107),s=n(83),d=n(22),p=n(4),f=n(54),m=n(11)("match"),h=r.RegExp,C=h.prototype,g=/a/g,b=/a/g,v=new h(g)!==g;if(o&&a("RegExp",!v||p((function(){return b[m]=!1,h(g)!=g||h(b)==b||"/a/i"!=h(g,"i")})))){for(var N=function(e,t){var n=this instanceof N,o=u(e),r=t===undefined;return!n&&o&&e.constructor===N&&r?e:i(v?new h(o&&!r?e.source:e,t):h((o=e instanceof N)?e.source:e,o&&r?s.call(e):t),n?this:C,N)},V=function(e){e in N||c(N,e,{configurable:!0,get:function(){return h[e]},set:function(t){h[e]=t}})},y=l(h),_=0;y.length>_;)V(y[_++]);C.constructor=N,N.prototype=C,d(r,"RegExp",N)}f("RegExp")},function(e,t,n){"use strict";var o=n(0),r=n(84);o({target:"RegExp",proto:!0,forced:/./.exec!==r},{exec:r})},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(83);o&&"g"!=/./g.flags&&r.f(RegExp.prototype,"flags",{configurable:!0,get:a})},function(e,t,n){"use strict";var o=n(22),r=n(8),a=n(4),i=n(83),c=RegExp.prototype,l=c.toString,u=a((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),s="toString"!=l.name;(u||s)&&o(RegExp.prototype,"toString",(function(){var e=r(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(n===undefined&&e instanceof RegExp&&!("flags"in c)?i.call(e):n)}),{unsafe:!0})},function(e,t,n){"use strict";var o=n(78),r=n(139);e.exports=o("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),r)},function(e,t,n){"use strict";var o=n(0),r=n(108).codeAt;o({target:"String",proto:!0},{codePointAt:function(e){return r(this,e)}})},function(e,t,n){"use strict";var o,r=n(0),a=n(18).f,i=n(10),c=n(109),l=n(21),u=n(110),s=n(38),d="".endsWith,p=Math.min,f=u("endsWith");r({target:"String",proto:!0,forced:!!(s||f||(o=a(String.prototype,"endsWith"),!o||o.writable))&&!f},{endsWith:function(e){var t=String(l(this));c(e);var n=arguments.length>1?arguments[1]:undefined,o=i(t.length),r=n===undefined?o:p(i(n),o),a=String(e);return d?d.call(t,a,r):t.slice(r-a.length,r)===a}})},function(e,t,n){"use strict";var o=n(0),r=n(41),a=String.fromCharCode,i=String.fromCodePoint;o({target:"String",stat:!0,forced:!!i&&1!=i.length},{fromCodePoint:function(e){for(var t,n=[],o=arguments.length,i=0;o>i;){if(t=+arguments[i++],r(t,1114111)!==t)throw RangeError(t+" is not a valid code point");n.push(t<65536?a(t):a(55296+((t-=65536)>>10),t%1024+56320))}return n.join("")}})},function(e,t,n){"use strict";var o=n(0),r=n(109),a=n(21);o({target:"String",proto:!0,forced:!n(110)("includes")},{includes:function(e){return!!~String(a(this)).indexOf(r(e),arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(108).charAt,r=n(34),a=n(101),i=r.set,c=r.getterFor("String Iterator");a(String,"String",(function(e){i(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=c(this),n=t.string,r=t.index;return r>=n.length?{value:undefined,done:!0}:(e=o(n,r),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){"use strict";var o=n(85),r=n(8),a=n(10),i=n(21),c=n(111),l=n(86);o("match",1,(function(e,t,n){return[function(t){var n=i(this),o=t==undefined?undefined:t[e];return o!==undefined?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var i=r(e),u=String(this);if(!i.global)return l(i,u);var s=i.unicode;i.lastIndex=0;for(var d,p=[],f=0;null!==(d=l(i,u));){var m=String(d[0]);p[f]=m,""===m&&(i.lastIndex=c(u,a(i.lastIndex),s)),f++}return 0===f?null:p}]}))},function(e,t,n){"use strict";var o=n(0),r=n(103).end;o({target:"String",proto:!0,forced:n(150)},{padEnd:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(103).start;o({target:"String",proto:!0,forced:n(150)},{padStart:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(23),a=n(10);o({target:"String",stat:!0},{raw:function(e){for(var t=r(e.raw),n=a(t.length),o=arguments.length,i=[],c=0;n>c;)i.push(String(t[c++])),c]*>)/g,h=/\$([$&'`]|\d\d?)/g;o("replace",2,(function(e,t,n){return[function(n,o){var r=l(this),a=n==undefined?undefined:n[e];return a!==undefined?a.call(n,r,o):t.call(String(r),n,o)},function(e,a){var l=n(t,e,this,a);if(l.done)return l.value;var f=r(e),m=String(this),h="function"==typeof a;h||(a=String(a));var C=f.global;if(C){var g=f.unicode;f.lastIndex=0}for(var b=[];;){var v=s(f,m);if(null===v)break;if(b.push(v),!C)break;""===String(v[0])&&(f.lastIndex=u(m,i(f.lastIndex),g))}for(var N,V="",y=0,_=0;_=y&&(V+=m.slice(y,k)+I,y=k+x.length)}return V+m.slice(y)}];function o(e,n,o,r,i,c){var l=o+e.length,u=r.length,s=h;return i!==undefined&&(i=a(i),s=m),t.call(c,s,(function(t,a){var c;switch(a.charAt(0)){case"$":return"$";case"&":return e;case"`":return n.slice(0,o);case"'":return n.slice(l);case"<":c=i[a.slice(1,-1)];break;default:var s=+a;if(0===s)return t;if(s>u){var d=f(s/10);return 0===d?t:d<=u?r[d-1]===undefined?a.charAt(1):r[d-1]+a.charAt(1):t}c=r[s-1]}return c===undefined?"":c}))}}))},function(e,t,n){"use strict";var o=n(85),r=n(8),a=n(21),i=n(144),c=n(86);o("search",1,(function(e,t,n){return[function(t){var n=a(this),o=t==undefined?undefined:t[e];return o!==undefined?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var a=r(e),l=String(this),u=a.lastIndex;i(u,0)||(a.lastIndex=0);var s=c(a,l);return i(a.lastIndex,u)||(a.lastIndex=u),null===s?-1:s.index}]}))},function(e,t,n){"use strict";var o=n(85),r=n(107),a=n(8),i=n(21),c=n(45),l=n(111),u=n(10),s=n(86),d=n(84),p=n(4),f=[].push,m=Math.min,h=!p((function(){return!RegExp(4294967295,"y")}));o("split",2,(function(e,t,n){var o;return o="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,n){var o=String(i(this)),a=n===undefined?4294967295:n>>>0;if(0===a)return[];if(e===undefined)return[o];if(!r(e))return t.call(o,e,a);for(var c,l,u,s=[],p=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),m=0,h=new RegExp(e.source,p+"g");(c=d.call(h,o))&&!((l=h.lastIndex)>m&&(s.push(o.slice(m,c.index)),c.length>1&&c.index=a));)h.lastIndex===c.index&&h.lastIndex++;return m===o.length?!u&&h.test("")||s.push(""):s.push(o.slice(m)),s.length>a?s.slice(0,a):s}:"0".split(undefined,0).length?function(e,n){return e===undefined&&0===n?[]:t.call(this,e,n)}:t,[function(t,n){var r=i(this),a=t==undefined?undefined:t[e];return a!==undefined?a.call(t,r,n):o.call(String(r),t,n)},function(e,r){var i=n(o,e,this,r,o!==t);if(i.done)return i.value;var d=a(e),p=String(this),f=c(d,RegExp),C=d.unicode,g=(d.ignoreCase?"i":"")+(d.multiline?"m":"")+(d.unicode?"u":"")+(h?"y":"g"),b=new f(h?d:"^(?:"+d.source+")",g),v=r===undefined?4294967295:r>>>0;if(0===v)return[];if(0===p.length)return null===s(b,p)?[p]:[];for(var N=0,V=0,y=[];V1?arguments[1]:undefined,t.length)),o=String(e);return d?d.call(t,o,n):t.slice(n,n+o.length)===o}})},function(e,t,n){"use strict";var o=n(0),r=n(56).trim;o({target:"String",proto:!0,forced:n(112)("trim")},{trim:function(){return r(this)}})},function(e,t,n){"use strict";var o=n(0),r=n(56).end,a=n(112)("trimEnd"),i=a?function(){return r(this)}:"".trimEnd;o({target:"String",proto:!0,forced:a},{trimEnd:i,trimRight:i})},function(e,t,n){"use strict";var o=n(0),r=n(56).start,a=n(112)("trimStart"),i=a?function(){return r(this)}:"".trimStart;o({target:"String",proto:!0,forced:a},{trimStart:i,trimLeft:i})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("anchor")},{anchor:function(e){return r(this,"a","name",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("big")},{big:function(){return r(this,"big","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("blink")},{blink:function(){return r(this,"blink","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("bold")},{bold:function(){return r(this,"b","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("fixed")},{fixed:function(){return r(this,"tt","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("fontcolor")},{fontcolor:function(e){return r(this,"font","color",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("fontsize")},{fontsize:function(e){return r(this,"font","size",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("italics")},{italics:function(){return r(this,"i","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("link")},{link:function(e){return r(this,"a","href",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("small")},{small:function(){return r(this,"small","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("strike")},{strike:function(){return r(this,"strike","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("sub")},{sub:function(){return r(this,"sub","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("sup")},{sup:function(){return r(this,"sup","","")}})},function(e,t,n){"use strict";n(40)("Float32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";var o=n(30);e.exports=function(e){var t=o(e);if(t<0)throw RangeError("The argument can't be less than 0");return t}},function(e,t,n){"use strict";n(40)("Float64",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int8",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int16",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint8",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint8",(function(e){return function(t,n,o){return e(this,t,n,o)}}),!0)},function(e,t,n){"use strict";n(40)("Uint16",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";var o=n(7),r=n(130),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("copyWithin",(function(e,t){return r.call(a(this),e,t,arguments.length>2?arguments[2]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).every,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("every",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(97),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("fill",(function(e){return r.apply(a(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).filter,a=n(45),i=o.aTypedArray,c=o.aTypedArrayConstructor;(0,o.exportTypedArrayMethod)("filter",(function(e){for(var t=r(i(this),e,arguments.length>1?arguments[1]:undefined),n=a(this,this.constructor),o=0,l=t.length,u=new(c(n))(l);l>o;)u[o]=t[o++];return u}))},function(e,t,n){"use strict";var o=n(7),r=n(16).find,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("find",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).findIndex,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("findIndex",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).forEach,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("forEach",(function(e){r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(113);(0,n(7).exportTypedArrayStaticMethod)("from",n(152),o)},function(e,t,n){"use strict";var o=n(7),r=n(60).includes,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("includes",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(60).indexOf,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("indexOf",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(5),r=n(7),a=n(133),i=n(11)("iterator"),c=o.Uint8Array,l=a.values,u=a.keys,s=a.entries,d=r.aTypedArray,p=r.exportTypedArrayMethod,f=c&&c.prototype[i],m=!!f&&("values"==f.name||f.name==undefined),h=function(){return l.call(d(this))};p("entries",(function(){return s.call(d(this))})),p("keys",(function(){return u.call(d(this))})),p("values",h,!m),p(i,h,!m)},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=[].join;a("join",(function(e){return i.apply(r(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(136),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("lastIndexOf",(function(e){return r.apply(a(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).map,a=n(45),i=o.aTypedArray,c=o.aTypedArrayConstructor;(0,o.exportTypedArrayMethod)("map",(function(e){return r(i(this),e,arguments.length>1?arguments[1]:undefined,(function(e,t){return new(c(a(e,e.constructor)))(t)}))}))},function(e,t,n){"use strict";var o=n(7),r=n(113),a=o.aTypedArrayConstructor;(0,o.exportTypedArrayStaticMethod)("of",(function(){for(var e=0,t=arguments.length,n=new(a(this))(t);t>e;)n[e]=arguments[e++];return n}),r)},function(e,t,n){"use strict";var o=n(7),r=n(76).left,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("reduce",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(76).right,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("reduceRight",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=Math.floor;a("reverse",(function(){for(var e,t=r(this).length,n=i(t/2),o=0;o1?arguments[1]:undefined,1),n=this.length,o=i(e),c=r(o.length),u=0;if(c+t>n)throw RangeError("Wrong length");for(;ua;)s[a]=n[a++];return s}),a((function(){new Int8Array(1).slice()})))},function(e,t,n){"use strict";var o=n(7),r=n(16).some,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("some",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=[].sort;a("sort",(function(e){return i.call(r(this),e)}))},function(e,t,n){"use strict";var o=n(7),r=n(10),a=n(41),i=n(45),c=o.aTypedArray;(0,o.exportTypedArrayMethod)("subarray",(function(e,t){var n=c(this),o=n.length,l=a(e,o);return new(i(n,n.constructor))(n.buffer,n.byteOffset+l*n.BYTES_PER_ELEMENT,r((t===undefined?o:a(t,o))-l))}))},function(e,t,n){"use strict";var o=n(5),r=n(7),a=n(4),i=o.Int8Array,c=r.aTypedArray,l=r.exportTypedArrayMethod,u=[].toLocaleString,s=[].slice,d=!!i&&a((function(){u.call(new i(1))}));l("toLocaleString",(function(){return u.apply(d?s.call(c(this)):c(this),arguments)}),a((function(){return[1,2].toLocaleString()!=new i([1,2]).toLocaleString()}))||!a((function(){i.prototype.toLocaleString.call([1,2])})))},function(e,t,n){"use strict";var o=n(7).exportTypedArrayMethod,r=n(4),a=n(5).Uint8Array,i=a&&a.prototype||{},c=[].toString,l=[].join;r((function(){c.call({})}))&&(c=function(){return l.call(this)});var u=i.toString!=c;o("toString",c,u)},function(e,t,n){"use strict";var o,r=n(5),a=n(66),i=n(50),c=n(78),l=n(153),u=n(6),s=n(34).enforce,d=n(121),p=!r.ActiveXObject&&"ActiveXObject"in r,f=Object.isExtensible,m=function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}},h=e.exports=c("WeakMap",m,l);if(d&&p){o=l.getConstructor(m,"WeakMap",!0),i.REQUIRED=!0;var C=h.prototype,g=C["delete"],b=C.has,v=C.get,N=C.set;a(C,{"delete":function(e){if(u(e)&&!f(e)){var t=s(this);return t.frozen||(t.frozen=new o),g.call(this,e)||t.frozen["delete"](e)}return g.call(this,e)},has:function(e){if(u(e)&&!f(e)){var t=s(this);return t.frozen||(t.frozen=new o),b.call(this,e)||t.frozen.has(e)}return b.call(this,e)},get:function(e){if(u(e)&&!f(e)){var t=s(this);return t.frozen||(t.frozen=new o),b.call(this,e)?v.call(this,e):t.frozen.get(e)}return v.call(this,e)},set:function(e,t){if(u(e)&&!f(e)){var n=s(this);n.frozen||(n.frozen=new o),b.call(this,e)?N.call(this,e,t):n.frozen.set(e,t)}else N.call(this,e,t);return this}})}},function(e,t,n){"use strict";n(78)("WeakSet",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),n(153))},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(106);o({global:!0,bind:!0,enumerable:!0,forced:!r.setImmediate||!r.clearImmediate},{setImmediate:a.set,clearImmediate:a.clear})},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(147),i=n(32),c=r.process,l="process"==i(c);o({global:!0,enumerable:!0,noTargetGet:!0},{queueMicrotask:function(e){var t=l&&c.domain;a(t?t.bind(e):e)}})},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(73),i=[].slice,c=function(e){return function(t,n){var o=arguments.length>2,r=o?i.call(arguments,2):undefined;return e(o?function(){("function"==typeof t?t:Function(t)).apply(this,r)}:t,n)}};o({global:!0,bind:!0,forced:/MSIE .\./.test(a)},{setTimeout:c(r.setTimeout),setInterval:c(r.setInterval)})},function(e,t,n){"use strict";t.__esModule=!0,t._CI=Ie,t._HI=D,t._M=Te,t._MCCC=Oe,t._ME=Ee,t._MFCC=Me,t._MP=Be,t._MR=Ne,t.__render=ze,t.createComponentVNode=function(e,t,n,o,r){var i=new T(1,null,null,e=function(e,t){if(12&e)return e;if(t.prototype&&t.prototype.render)return 4;if(t.render)return 32776;return 8}(e,t),o,function(e,t,n){var o=(32768&e?t.render:t).defaultProps;if(a(o))return n;if(a(n))return s(o,null);return B(n,o)}(e,t,n),function(e,t,n){if(4&e)return n;var o=(32768&e?t.render:t).defaultHooks;if(a(o))return n;if(a(n))return o;return B(n,o)}(e,t,r),t);k.createVNode&&k.createVNode(i);return i},t.createFragment=P,t.createPortal=function(e,t){var n=D(e);return A(1024,1024,null,n,0,null,n.key,t)},t.createRef=function(){return{current:null}},t.createRenderer=function(e){return function(t,n,o,r){e||(e=t),He(n,e,o,r)}},t.createTextVNode=E,t.createVNode=A,t.directClone=O,t.findDOMfromVNode=N,t.forwardRef=function(e){return{render:e}},t.getFlagsForElementVnode=function(e){switch(e){case"svg":return 32;case"input":return 64;case"select":return 256;case"textarea":return 128;case f:return 8192;default:return 1}},t.linkEvent=function(e,t){if(c(t))return{data:e,event:t};return null},t.normalizeProps=function(e){var t=e.props;if(t){var n=e.flags;481&n&&(void 0!==t.children&&a(e.children)&&F(e,t.children),void 0!==t.className&&(e.className=t.className||null,t.className=undefined)),void 0!==t.key&&(e.key=t.key,t.key=undefined),void 0!==t.ref&&(e.ref=8&n?s(e.ref,t.ref):t.ref,t.ref=undefined)}return e},t.render=He,t.rerender=We,t.version=t.options=t.Fragment=t.EMPTY_OBJ=t.Component=void 0;var o=Array.isArray;function r(e){var t=typeof e;return"string"===t||"number"===t}function a(e){return null==e}function i(e){return null===e||!1===e||!0===e||void 0===e}function c(e){return"function"==typeof e}function l(e){return"string"==typeof e}function u(e){return null===e}function s(e,t){var n={};if(e)for(var o in e)n[o]=e[o];if(t)for(var r in t)n[r]=t[r];return n}function d(e){return!u(e)&&"object"==typeof e}var p={};t.EMPTY_OBJ=p;var f="$F";function m(e){return e.substr(2).toLowerCase()}function h(e,t){e.appendChild(t)}function C(e,t,n){u(n)?h(e,t):e.insertBefore(t,n)}function g(e,t){e.removeChild(t)}function b(e){for(var t;(t=e.shift())!==undefined;)t()}function v(e,t,n){var o=e.children;return 4&n?o.$LI:8192&n?2===e.childFlags?o:o[t?0:o.length-1]:o}function N(e,t){for(var n;e;){if(2033&(n=e.flags))return e.dom;e=v(e,t,n)}return null}function V(e,t){do{var n=e.flags;if(2033&n)return void g(t,e.dom);var o=e.children;if(4&n&&(e=o.$LI),8&n&&(e=o),8192&n){if(2!==e.childFlags){for(var r=0,a=o.length;r0,m=u(p),h=l(p)&&p[0]===I;f||m||h?(n=n||t.slice(0,s),(f||h)&&(d=O(d)),(m||h)&&(d.key=I+s),n.push(d)):n&&n.push(d),d.flags|=65536}}a=0===(n=n||t).length?1:8}else(n=t).flags|=65536,81920&t.flags&&(n=O(t)),a=2;return e.children=n,e.childFlags=a,e}function D(e){return i(e)||r(e)?E(e,null):o(e)?P(e,0,null):16384&e.flags?O(e):e}var j="http://www.w3.org/1999/xlink",z="http://www.w3.org/XML/1998/namespace",H={"xlink:actuate":j,"xlink:arcrole":j,"xlink:href":j,"xlink:role":j,"xlink:show":j,"xlink:title":j,"xlink:type":j,"xml:base":z,"xml:lang":z,"xml:space":z};function G(e){return{onClick:e,onDblClick:e,onFocusIn:e,onFocusOut:e,onKeyDown:e,onKeyPress:e,onKeyUp:e,onMouseDown:e,onMouseMove:e,onMouseUp:e,onTouchEnd:e,onTouchMove:e,onTouchStart:e}}var U=G(0),K=G(null),Y=G(!0);function q(e,t){var n=t.$EV;return n||(n=t.$EV=G(null)),n[e]||1==++U[e]&&(K[e]=function(e){var t="onClick"===e||"onDblClick"===e?function(e){return function(t){0===t.button?$(t,!0,e,Z(t)):t.stopPropagation()}}(e):function(e){return function(t){$(t,!1,e,Z(t))}}(e);return document.addEventListener(m(e),t),t}(e)),n}function W(e,t){var n=t.$EV;n&&n[e]&&(0==--U[e]&&(document.removeEventListener(m(e),K[e]),K[e]=null),n[e]=null)}function $(e,t,n,o){var r=function(e){return c(e.composedPath)?e.composedPath()[0]:e.target}(e);do{if(t&&r.disabled)return;var a=r.$EV;if(a){var i=a[n];if(i&&(o.dom=r,i.event?i.event(i.data,e):i(e),e.cancelBubble))return}r=r.parentNode}while(!u(r))}function Q(){this.cancelBubble=!0,this.immediatePropagationStopped||this.stopImmediatePropagation()}function X(){return this.defaultPrevented}function J(){return this.cancelBubble}function Z(e){var t={dom:document};return e.isDefaultPrevented=X,e.isPropagationStopped=J,e.stopPropagation=Q,Object.defineProperty(e,"currentTarget",{configurable:!0,get:function(){return t.dom}}),t}function ee(e,t,n){if(e[t]){var o=e[t];o.event?o.event(o.data,n):o(n)}else{var r=t.toLowerCase();e[r]&&e[r](n)}}function te(e,t){var n=function(n){var o=this.$V;if(o){var r=o.props||p,a=o.dom;if(l(e))ee(r,e,n);else for(var i=0;i-1&&t.options[i]&&(c=t.options[i].value),n&&a(c)&&(c=e.defaultValue),le(o,c)}}var de,pe,fe=te("onInput",he),me=te("onChange");function he(e,t,n){var o=e.value,r=t.value;if(a(o)){if(n){var i=e.defaultValue;a(i)||i===r||(t.defaultValue=i,t.value=i)}}else r!==o&&(t.defaultValue=o,t.value=o)}function Ce(e,t,n,o,r,a){64&e?ce(o,n):256&e?se(o,n,r,t):128&e&&he(o,n,r),a&&(n.$V=t)}function ge(e,t,n){64&e?function(e,t){oe(t.type)?(ne(e,"change",ae),ne(e,"click",ie)):ne(e,"input",re)}(t,n):256&e?function(e){ne(e,"change",ue)}(t):128&e&&function(e,t){ne(e,"input",fe),t.onChange&&ne(e,"change",me)}(t,n)}function be(e){return e.type&&oe(e.type)?!a(e.checked):!a(e.value)}function ve(e){e&&!S(e,null)&&e.current&&(e.current=null)}function Ne(e,t,n){e&&(c(e)||void 0!==e.current)&&n.push((function(){S(e,t)||void 0===e.current||(e.current=t)}))}function Ve(e,t){ye(e),V(e,t)}function ye(e){var t,n=e.flags,o=e.children;if(481&n){t=e.ref;var r=e.props;ve(t);var i=e.childFlags;if(!u(r))for(var l=Object.keys(r),s=0,d=l.length;s0;for(var c in i&&(a=be(n))&&ge(t,o,n),n)Le(c,null,n[c],o,r,a,null);i&&Ce(t,e,o,n,!0,a)}function Se(e,t,n){var o=D(e.render(t,e.state,n)),r=n;return c(e.getChildContext)&&(r=s(n,e.getChildContext())),e.$CX=r,o}function Ie(e,t,n,o,r,a){var i=new t(n,o),l=i.$N=Boolean(t.getDerivedStateFromProps||i.getSnapshotBeforeUpdate);if(i.$SVG=r,i.$L=a,e.children=i,i.$BS=!1,i.context=o,i.props===p&&(i.props=n),l)i.state=_(i,n,i.state);else if(c(i.componentWillMount)){i.$BR=!0,i.componentWillMount();var s=i.$PS;if(!u(s)){var d=i.state;if(u(d))i.state=s;else for(var f in s)d[f]=s[f];i.$PS=null}i.$BR=!1}return i.$LI=Se(i,n,o),i}function Te(e,t,n,o,r,a){var i=e.flags|=16384;481&i?Ee(e,t,n,o,r,a):4&i?function(e,t,n,o,r,a){var i=Ie(e,e.type,e.props||p,n,o,a);Te(i.$LI,t,i.$CX,o,r,a),Oe(e.ref,i,a)}(e,t,n,o,r,a):8&i?(!function(e,t,n,o,r,a){Te(e.children=D(function(e,t){return 32768&e.flags?e.type.render(e.props||p,e.ref,t):e.type(e.props||p,t)}(e,n)),t,n,o,r,a)}(e,t,n,o,r,a),Me(e,a)):512&i||16&i?Ae(e,t,r):8192&i?function(e,t,n,o,r,a){var i=e.children,c=e.childFlags;12&c&&0===i.length&&(c=e.childFlags=2,i=e.children=M());2===c?Te(i,n,r,o,r,a):Pe(i,n,t,o,r,a)}(e,n,t,o,r,a):1024&i&&function(e,t,n,o,r){Te(e.children,e.ref,t,!1,null,r);var a=M();Ae(a,n,o),e.dom=a.dom}(e,n,t,r,a)}function Ae(e,t,n){var o=e.dom=document.createTextNode(e.children);u(t)||C(t,o,n)}function Ee(e,t,n,o,r,i){var c=e.flags,l=e.props,s=e.className,d=e.children,p=e.childFlags,f=e.dom=function(e,t){return t?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e)}(e.type,o=o||(32&c)>0);if(a(s)||""===s||(o?f.setAttribute("class",s):f.className=s),16===p)w(f,d);else if(1!==p){var m=o&&"foreignObject"!==e.type;2===p?(16384&d.flags&&(e.children=d=O(d)),Te(d,f,n,m,null,i)):8!==p&&4!==p||Pe(d,f,n,m,null,i)}u(t)||C(t,f,r),u(l)||Be(e,c,l,f,o),Ne(e.ref,f,i)}function Pe(e,t,n,o,r,a){for(var i=0;i0,u!==s){var m=u||p;if((c=s||p)!==p)for(var h in(d=(448&r)>0)&&(f=be(c)),c){var C=m[h],g=c[h];C!==g&&Le(h,C,g,l,o,f,e)}if(m!==p)for(var b in m)a(c[b])&&!a(m[b])&&Le(b,m[b],null,l,o,f,e)}var v=t.children,N=t.className;e.className!==N&&(a(N)?l.removeAttribute("class"):o?l.setAttribute("class",N):l.className=N);4096&r?function(e,t){e.textContent!==t&&(e.textContent=t)}(l,v):Fe(e.childFlags,t.childFlags,e.children,v,l,n,o&&"foreignObject"!==t.type,null,e,i);d&&Ce(r,t,l,c,!1,f);var V=t.ref,y=e.ref;y!==V&&(ve(y),Ne(V,l,i))}(e,t,o,r,f,d):4&f?function(e,t,n,o,r,a,i){var l=t.children=e.children;if(u(l))return;l.$L=i;var d=t.props||p,f=t.ref,m=e.ref,h=l.state;if(!l.$N){if(c(l.componentWillReceiveProps)){if(l.$BR=!0,l.componentWillReceiveProps(d,o),l.$UN)return;l.$BR=!1}u(l.$PS)||(h=s(h,l.$PS),l.$PS=null)}De(l,h,d,n,o,r,!1,a,i),m!==f&&(ve(m),Ne(f,l,i))}(e,t,n,o,r,l,d):8&f?function(e,t,n,o,r,i,l){var u=!0,s=t.props||p,d=t.ref,f=e.props,m=!a(d),h=e.children;m&&c(d.onComponentShouldUpdate)&&(u=d.onComponentShouldUpdate(f,s));if(!1!==u){m&&c(d.onComponentWillUpdate)&&d.onComponentWillUpdate(f,s);var C=t.type,g=D(32768&t.flags?C.render(s,d,o):C(s,o));Re(h,g,n,o,r,i,l),t.children=g,m&&c(d.onComponentDidUpdate)&&d.onComponentDidUpdate(f,s)}else t.children=h}(e,t,n,o,r,l,d):16&f?function(e,t){var n=t.children,o=t.dom=e.dom;n!==e.children&&(o.nodeValue=n)}(e,t):512&f?t.dom=e.dom:8192&f?function(e,t,n,o,r,a){var i=e.children,c=t.children,l=e.childFlags,u=t.childFlags,s=null;12&u&&0===c.length&&(u=t.childFlags=2,c=t.children=M());var d=0!=(2&u);if(12&l){var p=i.length;(8&l&&8&u||d||!d&&c.length>p)&&(s=N(i[p-1],!1).nextSibling)}Fe(l,u,i,c,n,o,r,s,e,a)}(e,t,n,o,r,d):function(e,t,n,o){var r=e.ref,a=t.ref,c=t.children;if(Fe(e.childFlags,t.childFlags,e.children,c,r,n,!1,null,e,o),t.dom=e.dom,r!==a&&!i(c)){var l=c.dom;g(r,l),h(a,l)}}(e,t,o,d)}function Fe(e,t,n,o,r,a,i,c,l,u){switch(e){case 2:switch(t){case 2:Re(n,o,r,a,i,c,u);break;case 1:Ve(n,r);break;case 16:ye(n),w(r,o);break;default:!function(e,t,n,o,r,a){ye(e),Pe(t,n,o,r,N(e,!0),a),V(e,n)}(n,o,r,a,i,u)}break;case 1:switch(t){case 2:Te(o,r,a,i,c,u);break;case 1:break;case 16:w(r,o);break;default:Pe(o,r,a,i,c,u)}break;case 16:switch(t){case 16:!function(e,t,n){e!==t&&(""!==e?n.firstChild.nodeValue=t:w(n,t))}(n,o,r);break;case 2:xe(r),Te(o,r,a,i,c,u);break;case 1:xe(r);break;default:xe(r),Pe(o,r,a,i,c,u)}break;default:switch(t){case 16:_e(n),w(r,o);break;case 2:ke(r,l,n),Te(o,r,a,i,c,u);break;case 1:ke(r,l,n);break;default:var s=0|n.length,d=0|o.length;0===s?d>0&&Pe(o,r,a,i,c,u):0===d?ke(r,l,n):8===t&&8===e?function(e,t,n,o,r,a,i,c,l,u){var s,d,p=a-1,f=i-1,m=0,h=e[m],C=t[m];e:{for(;h.key===C.key;){if(16384&C.flags&&(t[m]=C=O(C)),Re(h,C,n,o,r,c,u),e[m]=C,++m>p||m>f)break e;h=e[m],C=t[m]}for(h=e[p],C=t[f];h.key===C.key;){if(16384&C.flags&&(t[f]=C=O(C)),Re(h,C,n,o,r,c,u),e[p]=C,p--,f--,m>p||m>f)break e;h=e[p],C=t[f]}}if(m>p){if(m<=f)for(d=(s=f+1)f)for(;m<=p;)Ve(e[m++],n);else!function(e,t,n,o,r,a,i,c,l,u,s,d,p){var f,m,h,C=0,g=c,b=c,v=a-c+1,V=i-c+1,_=new Int32Array(V+1),x=v===o,k=!1,w=0,L=0;if(r<4||(v|V)<32)for(C=g;C<=a;++C)if(f=e[C],Lc?k=!0:w=c,16384&m.flags&&(t[c]=m=O(m)),Re(f,m,l,n,u,s,p),++L;break}!x&&c>i&&Ve(f,l)}else x||Ve(f,l);else{var B={};for(C=b;C<=i;++C)B[t[C].key]=C;for(C=g;C<=a;++C)if(f=e[C],Lg;)Ve(e[g++],l);_[c-b]=C+1,w>c?k=!0:w=c,16384&(m=t[c]).flags&&(t[c]=m=O(m)),Re(f,m,l,n,u,s,p),++L}else x||Ve(f,l);else x||Ve(f,l)}if(x)ke(l,d,e),Pe(t,l,n,u,s,p);else if(k){var S=function(e){var t=0,n=0,o=0,r=0,a=0,i=0,c=0,l=e.length;l>je&&(je=l,de=new Int32Array(l),pe=new Int32Array(l));for(;n>1]]0&&(pe[n]=de[a-1]),de[a]=n)}a=r+1;var u=new Int32Array(a);i=de[a-1];for(;a-- >0;)u[a]=i,i=pe[i],de[a]=0;return u}(_);for(c=S.length-1,C=V-1;C>=0;C--)0===_[C]?(16384&(m=t[w=C+b]).flags&&(t[w]=m=O(m)),Te(m,l,n,u,(h=w+1)=0;C--)0===_[C]&&(16384&(m=t[w=C+b]).flags&&(t[w]=m=O(m)),Te(m,l,n,u,(h=w+1)i?i:a,p=0;pi)for(p=d;p0&&b(r),x.v=!1,c(n)&&n(),c(k.renderComplete)&&k.renderComplete(i,t)}function He(e,t,n,o){void 0===n&&(n=null),void 0===o&&(o=p),ze(e,t,n,o)}"undefined"!=typeof document&&window.Node&&(Node.prototype.$EV=null,Node.prototype.$V=null);var Ge=[],Ue="undefined"!=typeof Promise?Promise.resolve().then.bind(Promise.resolve()):function(e){window.setTimeout(e,0)},Ke=!1;function Ye(e,t,n,o){var r=e.$PS;if(c(t)&&(t=t(r?s(e.state,r):e.state,e.props,e.context)),a(r))e.$PS=t;else for(var i in t)r[i]=t[i];if(e.$BR)c(n)&&e.$L.push(n.bind(e));else{if(!x.v&&0===Ge.length)return void $e(e,o,n);if(-1===Ge.indexOf(e)&&Ge.push(e),Ke||(Ke=!0,Ue(We)),c(n)){var l=e.$QU;l||(l=e.$QU=[]),l.push(n)}}}function qe(e){for(var t=e.$QU,n=0,o=t.length;n0&&b(r),x.v=!1}else e.state=e.$PS,e.$PS=null;c(n)&&n.call(e)}}var Qe=function(e,t){this.state=null,this.$BR=!1,this.$BS=!0,this.$PS=null,this.$LI=null,this.$UN=!1,this.$CX=null,this.$QU=null,this.$N=!1,this.$L=null,this.$SVG=!1,this.props=e||p,this.context=t||p};t.Component=Qe,Qe.prototype.forceUpdate=function(e){this.$UN||Ye(this,{},e,!0)},Qe.prototype.setState=function(e,t){this.$UN||this.$BS||Ye(this,e,t,!1)},Qe.prototype.render=function(e,t,n){return null};t.version="7.3.3"},function(e,t,n){"use strict";var o=function(e){var t,n=Object.prototype,o=n.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},a=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",c=r.toStringTag||"@@toStringTag";function l(e,t,n,o){var r=t&&t.prototype instanceof h?t:h,a=Object.create(r.prototype),i=new L(o||[]);return a._invoke=function(e,t,n){var o=s;return function(r,a){if(o===p)throw new Error("Generator is already running");if(o===f){if("throw"===r)throw a;return S()}for(n.method=r,n.arg=a;;){var i=n.delegate;if(i){var c=x(i,n);if(c){if(c===m)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===s)throw o=f,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=p;var l=u(e,t,n);if("normal"===l.type){if(o=n.done?f:d,l.arg===m)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(o=f,n.method="throw",n.arg=l.arg)}}}(e,n,i),a}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(o){return{type:"throw",arg:o}}}e.wrap=l;var s="suspendedStart",d="suspendedYield",p="executing",f="completed",m={};function h(){}function C(){}function g(){}var b={};b[a]=function(){return this};var v=Object.getPrototypeOf,N=v&&v(v(B([])));N&&N!==n&&o.call(N,a)&&(b=N);var V=g.prototype=h.prototype=Object.create(b);function y(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function _(e){var t;this._invoke=function(n,r){function a(){return new Promise((function(t,a){!function i(t,n,r,a){var c=u(e[t],e,n);if("throw"!==c.type){var l=c.arg,s=l.value;return s&&"object"==typeof s&&o.call(s,"__await")?Promise.resolve(s.__await).then((function(e){i("next",e,r,a)}),(function(e){i("throw",e,r,a)})):Promise.resolve(s).then((function(e){l.value=e,r(l)}),(function(e){return i("throw",e,r,a)}))}a(c.arg)}(n,r,t,a)}))}return t=t?t.then(a,a):a()}}function x(e,n){var o=e.iterator[n.method];if(o===t){if(n.delegate=null,"throw"===n.method){if(e.iterator["return"]&&(n.method="return",n.arg=t,x(e,n),"throw"===n.method))return m;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var r=u(o,e.iterator,n.arg);if("throw"===r.type)return n.method="throw",n.arg=r.arg,n.delegate=null,m;var a=r.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,m):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,m)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function w(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function L(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function B(e){if(e){var n=e[a];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function n(){for(;++r=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var l=o.call(i,"catchLoc"),u=o.call(i,"finallyLoc");if(l&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&o.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),w(n),m}},"catch":function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var o=n.completion;if("throw"===o.type){var r=o.arg;w(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,o){return this.delegate={iterator:B(e),resultName:n,nextLoc:o},"next"===this.method&&(this.arg=t),m}},e}(e.exports);try{regeneratorRuntime=o}catch(r){Function("r","regeneratorRuntime = r")(o)}},function(e,t,n){"use strict";window.Int32Array||(window.Int32Array=Array)},function(e,t,n){"use strict";(function(e){ +!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=164)}([function(e,t,n){"use strict";var o=n(5),r=n(18).f,a=n(25),i=n(22),c=n(89),l=n(122),u=n(61);e.exports=function(e,t){var n,d,s,p,m,f=e.target,h=e.global,C=e.stat;if(n=h?o:C?o[f]||c(f,{}):(o[f]||{}).prototype)for(d in t){if(p=t[d],s=e.noTargetGet?(m=r(n,d))&&m.value:n[d],!u(h?d:f+(C?".":"#")+d,e.forced)&&s!==undefined){if(typeof p==typeof s)continue;l(p,s)}(e.sham||s&&s.sham)&&a(p,"sham",!0),i(n,d,p,e)}}},function(e,t,n){"use strict";t.__esModule=!0;var o=n(386);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(t[e]=o[e])}))},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=t.Tooltip=t.Toast=t.TitleBar=t.Tabs=t.Table=t.Section=t.ProgressBar=t.NumberInput=t.NoticeBox=t.LabeledList=t.Input=t.Icon=t.Grid=t.Flex=t.Dropdown=t.Dimmer=t.Collapsible=t.ColorBox=t.Button=t.Box=t.BlockQuote=t.AnimatedNumber=void 0;var o=n(158);t.AnimatedNumber=o.AnimatedNumber;var r=n(391);t.BlockQuote=r.BlockQuote;var a=n(17);t.Box=a.Box;var i=n(114);t.Button=i.Button;var c=n(393);t.ColorBox=c.ColorBox;var l=n(394);t.Collapsible=l.Collapsible;var u=n(395);t.Dimmer=u.Dimmer;var d=n(396);t.Dropdown=d.Dropdown;var s=n(397);t.Flex=s.Flex;var p=n(161);t.Grid=p.Grid;var m=n(87);t.Icon=m.Icon;var f=n(160);t.Input=f.Input;var h=n(163);t.LabeledList=h.LabeledList;var C=n(398);t.NoticeBox=C.NoticeBox;var g=n(399);t.NumberInput=g.NumberInput;var b=n(400);t.ProgressBar=b.ProgressBar;var v=n(401);t.Section=v.Section;var N=n(162);t.Table=N.Table;var V=n(402);t.Tabs=V.Tabs;var y=n(403);t.TitleBar=y.TitleBar;var _=n(117);t.Toast=_.Toast;var x=n(159);t.Tooltip=x.Tooltip;var k=n(404);t.Chart=k.Chart},function(e,t,n){"use strict";t.__esModule=!0,t.useBackend=t.backendReducer=t.backendUpdate=void 0;var o=n(37),r=n(19);t.backendUpdate=function(e){return{type:"backendUpdate",payload:e}};t.backendReducer=function(e,t){var n=t.type,r=t.payload;if("backendUpdate"===n){var a=Object.assign({},e.config,{},r.config),i=Object.assign({},e.data,{},r.static_data,{},r.data),c=a.status!==o.UI_DISABLED,l=a.status===o.UI_INTERACTIVE;return Object.assign({},e,{config:a,data:i,visible:c,interactive:l})}return e};t.useBackend=function(e){var t=e.state,n=(e.dispatch,t.config.ref);return Object.assign({},t,{act:function(e,t){return void 0===t&&(t={}),(0,r.act)(n,e,t)}})}},function(e,t,n){"use strict";e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t,n){"use strict";(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||Function("return this")()}).call(this,n(118))},function(e,t,n){"use strict";e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){"use strict";var o,r=n(9),a=n(5),i=n(6),c=n(15),l=n(74),u=n(25),d=n(22),s=n(13).f,p=n(36),m=n(53),f=n(11),h=n(58),C=a.DataView,g=C&&C.prototype,b=a.Int8Array,v=b&&b.prototype,N=a.Uint8ClampedArray,V=N&&N.prototype,y=b&&p(b),_=v&&p(v),x=Object.prototype,k=x.isPrototypeOf,L=f("toStringTag"),w=h("TYPED_ARRAY_TAG"),B=!(!a.ArrayBuffer||!C),S=B&&!!m&&"Opera"!==l(a.opera),I=!1,T={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},A=function(e){var t=l(e);return"DataView"===t||c(T,t)},E=function(e){return i(e)&&c(T,l(e))};for(o in T)a[o]||(S=!1);if((!S||"function"!=typeof y||y===Function.prototype)&&(y=function(){throw TypeError("Incorrect invocation")},S))for(o in T)a[o]&&m(a[o],y);if((!S||!_||_===x)&&(_=y.prototype,S))for(o in T)a[o]&&m(a[o].prototype,_);if(S&&p(V)!==_&&m(V,_),r&&!c(_,L))for(o in I=!0,s(_,L,{get:function(){return i(this)?this[w]:undefined}}),T)a[o]&&u(a[o],w,o);B&&m&&p(g)!==x&&m(g,x),e.exports={NATIVE_ARRAY_BUFFER:B,NATIVE_ARRAY_BUFFER_VIEWS:S,TYPED_ARRAY_TAG:I&&w,aTypedArray:function(e){if(E(e))return e;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(e){if(m){if(k.call(y,e))return e}else for(var t in T)if(c(T,o)){var n=a[t];if(n&&(e===n||k.call(n,e)))return e}throw TypeError("Target is not a typed array constructor")},exportTypedArrayMethod:function(e,t,n){if(r){if(n)for(var o in T){var i=a[o];i&&c(i.prototype,e)&&delete i.prototype[e]}_[e]&&!n||d(_,e,n?t:S&&v[e]||t)}},exportTypedArrayStaticMethod:function(e,t,n){var o,i;if(r){if(m){if(n)for(o in T)(i=a[o])&&c(i,e)&&delete i[e];if(y[e]&&!n)return;try{return d(y,e,n?t:S&&b[e]||t)}catch(l){}}for(o in T)!(i=a[o])||i[e]&&!n||d(i,e,t)}},isView:A,isTypedArray:E,TypedArray:y,TypedArrayPrototype:_}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){if(!o(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var o=n(30),r=Math.min;e.exports=function(e){return e>0?r(o(e),9007199254740991):0}},function(e,t,n){"use strict";var o=n(5),r=n(91),a=n(15),i=n(58),c=n(95),l=n(125),u=r("wks"),d=o.Symbol,s=l?d:i;e.exports=function(e){return a(u,e)||(c&&a(d,e)?u[e]=d[e]:u[e]=s("Symbol."+e)),u[e]}},function(e,t,n){"use strict";t.__esModule=!0,t.isFalsy=t.pureComponentHooks=t.shallowDiffers=t.normalizeChildren=t.classes=void 0;t.classes=function(e){for(var t="",n=0;n_;_++)if((p||_ in N)&&(b=V(g=N[_],_,v),e))if(t)k[_]=b;else if(b)switch(e){case 3:return!0;case 5:return g;case 6:return _;case 2:l.call(k,g)}else if(d)return!1;return s?-1:u||d?d:k}};e.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6)}},function(e,t,n){"use strict";t.__esModule=!0,t.Box=t.computeBoxProps=t.unit=void 0;var o=n(1),r=n(12),a=n(392),i=n(37);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){return"string"==typeof e?e:"number"==typeof e?6*e+"px":void 0};t.unit=l;var u=function(e){return"string"==typeof e&&i.CSS_COLORS.includes(e)},d=function(e){return function(t,n){(0,r.isFalsy)(n)||(t[e]=n)}},s=function(e){return function(t,n){(0,r.isFalsy)(n)||(t[e]=l(n))}},p=function(e,t){return function(n,o){(0,r.isFalsy)(o)||(n[e]=t)}},m=function(e,t){return function(n,o){if(!(0,r.isFalsy)(o))for(var a=0;a0&&(t.style=l),t};t.computeBoxProps=C;var g=function(e){var t=e.as,n=void 0===t?"div":t,i=e.className,l=e.content,d=e.children,s=c(e,["as","className","content","children"]),p=e.textColor||e.color,m=e.backgroundColor;if("function"==typeof d)return d(C(e));var f=C(s);return(0,o.createVNode)(a.VNodeFlags.HtmlElement,n,(0,r.classes)([i,u(p)&&"color-"+p,u(m)&&"color-bg-"+m]),l||d,a.ChildFlags.UnknownChildren,f)};t.Box=g,g.defaultHooks=r.pureComponentHooks;var b=function(e){var t=e.children,n=c(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,g,Object.assign({position:"relative"},n,{children:(0,o.createComponentVNode)(2,g,{fillPositionedParent:!0,children:t})})))};b.defaultHooks=r.pureComponentHooks,g.Forced=b},function(e,t,n){"use strict";var o=n(9),r=n(71),a=n(46),i=n(24),c=n(33),l=n(15),u=n(119),d=Object.getOwnPropertyDescriptor;t.f=o?d:function(e,t){if(e=i(e),t=c(t,!0),u)try{return d(e,t)}catch(n){}if(l(e,t))return a(!r.f.call(e,t),e[t])}},function(e,t,n){"use strict";t.__esModule=!0,t.winset=t.winget=t.act=t.runCommand=t.callByondAsync=t.callByond=t.tridentVersion=void 0;var o,r=n(29),a=(o=navigator.userAgent.match(/Trident\/(\d+).+?;/i)[1])?parseInt(o,10):null;t.tridentVersion=a;var i=function(e,t){return void 0===t&&(t={}),"byond://"+e+"?"+(0,r.buildQueryString)(t)},c=function(e,t){void 0===t&&(t={}),window.location.href=i(e,t)};t.callByond=c;var l=function(e,t){void 0===t&&(t={}),window.__callbacks__=window.__callbacks__||[];var n=window.__callbacks__.length,o=new Promise((function(e){window.__callbacks__.push(e)}));return window.location.href=i(e,Object.assign({},t,{callback:"__callbacks__["+n+"]"})),o};t.callByondAsync=l;t.runCommand=function(e){return c("winset",{command:e})};t.act=function(e,t,n){return void 0===n&&(n={}),c("",Object.assign({src:e,action:t},n))};var u=function(e,t){var n;return regeneratorRuntime.async((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,regeneratorRuntime.awrap(l("winget",{id:e,property:t}));case 2:return n=o.sent,o.abrupt("return",n[t]);case 4:case"end":return o.stop()}}))};t.winget=u;t.winset=function(e,t,n){var o;return c("winset",((o={})[e+"."+t]=n,o))}},function(e,t,n){"use strict";t.__esModule=!0,t.toFixed=t.round=t.clamp=void 0;t.clamp=function(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=1),Math.max(t,Math.min(e,n))};t.round=function(e){return Math.round(e)};t.toFixed=function(e,t){return void 0===t&&(t=0),Number(e).toFixed(t)}},function(e,t,n){"use strict";e.exports=function(e){if(e==undefined)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";var o=n(5),r=n(25),a=n(15),i=n(89),c=n(90),l=n(34),u=l.get,d=l.enforce,s=String(String).split("String");(e.exports=function(e,t,n,c){var l=!!c&&!!c.unsafe,u=!!c&&!!c.enumerable,p=!!c&&!!c.noTargetGet;"function"==typeof n&&("string"!=typeof t||a(n,"name")||r(n,"name",t),d(n).source=s.join("string"==typeof t?t:"")),e!==o?(l?!p&&e[t]&&(u=!0):delete e[t],u?e[t]=n:r(e,t,n)):u?e[t]=n:i(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&u(this).source||c(this)}))},function(e,t,n){"use strict";t.__esModule=!0,t.zipWith=t.zip=t.reduce=t.sortBy=t.map=t.toArray=void 0;t.toArray=function(e){if(Array.isArray(e))return e;if("object"==typeof e){var t=Object.prototype.hasOwnProperty,n=[];for(var o in e)t.call(e,o)&&n.push(e[o]);return n}return[]};var o=function(e){return function(t){if(null===t&&t===undefined)return t;if(Array.isArray(t)){for(var n=[],o=0;oc)return 1}return 0};t.sortBy=function(){for(var e=arguments.length,t=new Array(e),n=0;n"+i+""}},function(e,t,n){"use strict";var o=n(4);e.exports=function(e){return o((function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}))}},function(e,t,n){"use strict";t.__esModule=!0,t.buildQueryString=t.decodeHtmlEntities=t.toTitleCase=t.capitalize=t.testGlobPattern=t.multiline=void 0;t.multiline=function o(e){if(Array.isArray(e))return o(e.join(""));var t,n=e.split("\n"),r=n,a=Array.isArray(r),i=0;for(r=a?r:r[Symbol.iterator]();;){var c;if(a){if(i>=r.length)break;c=r[i++]}else{if((i=r.next()).done)break;c=i.value}for(var l=c,u=0;u",apos:"'"};return e.replace(/
/gi,"\n").replace(/<\/?[a-z0-9-_]+[^>]*>/gi,"").replace(/&(nbsp|amp|quot|lt|gt|apos);/g,(function(e,n){return t[n]})).replace(/&#?([0-9]+);/gi,(function(e,t){var n=parseInt(t,10);return String.fromCharCode(n)})).replace(/&#x?([0-9a-f]+);/gi,(function(e,t){var n=parseInt(t,16);return String.fromCharCode(n)}))};t.buildQueryString=function(e){return Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&")}},function(e,t,n){"use strict";var o=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:o)(e)}},function(e,t,n){"use strict";e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t,n){"use strict";var o={}.toString;e.exports=function(e){return o.call(e).slice(8,-1)}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e,t){if(!o(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!o(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){"use strict";var o,r,a,i=n(121),c=n(5),l=n(6),u=n(25),d=n(15),s=n(72),p=n(59),m=c.WeakMap;if(i){var f=new m,h=f.get,C=f.has,g=f.set;o=function(e,t){return g.call(f,e,t),t},r=function(e){return h.call(f,e)||{}},a=function(e){return C.call(f,e)}}else{var b=s("state");p[b]=!0,o=function(e,t){return u(e,b,t),t},r=function(e){return d(e,b)?e[b]:{}},a=function(e){return d(e,b)}}e.exports={set:o,get:r,has:a,enforce:function(e){return a(e)?r(e):o(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=r(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){"use strict";var o=n(123),r=n(5),a=function(e){return"function"==typeof e?e:undefined};e.exports=function(e,t){return arguments.length<2?a(o[e])||a(r[e]):o[e]&&o[e][t]||r[e]&&r[e][t]}},function(e,t,n){"use strict";var o=n(15),r=n(14),a=n(72),i=n(102),c=a("IE_PROTO"),l=Object.prototype;e.exports=i?Object.getPrototypeOf:function(e){return e=r(e),o(e,c)?e[c]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?l:null}},function(e,t,n){"use strict";t.__esModule=!0,t.getGasColor=t.getGasLabel=t.RADIO_CHANNELS=t.CSS_COLORS=t.COLORS=t.UI_CLOSE=t.UI_DISABLED=t.UI_UPDATE=t.UI_INTERACTIVE=void 0;t.UI_INTERACTIVE=2;t.UI_UPDATE=1;t.UI_DISABLED=0;t.UI_CLOSE=-1;t.COLORS={department:{captain:"#c06616",security:"#e74c3c",medbay:"#3498db",science:"#9b59b6",engineering:"#f1c40f",cargo:"#f39c12",centcom:"#00c100",other:"#c38312"},damageType:{oxy:"#3498db",toxin:"#2ecc71",burn:"#e67e22",brute:"#e74c3c"}};t.CSS_COLORS=["black","white","red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey","good","average","bad","label"];t.RADIO_CHANNELS=[{name:"Syndicate",freq:1213,color:"#a52a2a"},{name:"Red Team",freq:1215,color:"#ff4444"},{name:"Blue Team",freq:1217,color:"#3434fd"},{name:"CentCom",freq:1337,color:"#2681a5"},{name:"Supply",freq:1347,color:"#b88646"},{name:"Service",freq:1349,color:"#6ca729"},{name:"Science",freq:1351,color:"#c68cfa"},{name:"Command",freq:1353,color:"#5177ff"},{name:"Medical",freq:1355,color:"#57b8f0"},{name:"Engineering",freq:1357,color:"#f37746"},{name:"Security",freq:1359,color:"#dd3535"},{name:"AI Private",freq:1447,color:"#d65d95"},{name:"Common",freq:1459,color:"#1ecc43"}];var o=[{id:"o2",name:"Oxygen",label:"O\u2082",color:"blue"},{id:"n2",name:"Nitrogen",label:"N\u2082",color:"red"},{id:"co2",name:"Carbon Dioxide",label:"CO\u2082",color:"grey"},{id:"plasma",name:"Plasma",label:"Plasma",color:"pink"},{id:"water_vapor",name:"Water Vapor",label:"H\u2082O",color:"grey"},{id:"nob",name:"Hyper-noblium",label:"Hyper-nob",color:"teal"},{id:"n2o",name:"Nitrous Oxide",label:"N\u2082O",color:"red"},{id:"no2",name:"Nitryl",label:"NO\u2082",color:"brown"},{id:"tritium",name:"Tritium",label:"Tritium",color:"green"},{id:"bz",name:"BZ",label:"BZ",color:"purple"},{id:"stim",name:"Stimulum",label:"Stimulum",color:"purple"},{id:"pluox",name:"Pluoxium",label:"Pluoxium",color:"blue"},{id:"miasma",name:"Miasma",label:"Miasma",color:"olive"}];t.getGasLabel=function(e,t){var n=String(e).toLowerCase(),r=o.find((function(e){return e.id===n||e.name.toLowerCase()===n}));return r&&r.label||t||e};t.getGasColor=function(e){var t=String(e).toLowerCase(),n=o.find((function(e){return e.id===t||e.name.toLowerCase()===t}));return n&&n.color}},function(e,t,n){"use strict";e.exports=!1},function(e,t,n){"use strict";var o=n(4);e.exports=function(e,t){var n=[][e];return!n||!o((function(){n.call(null,t||function(){throw 1},1)}))}},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(9),i=n(113),c=n(7),l=n(77),u=n(55),d=n(46),s=n(25),p=n(10),m=n(137),f=n(151),h=n(33),C=n(15),g=n(74),b=n(6),v=n(42),N=n(53),V=n(47).f,y=n(152),_=n(16).forEach,x=n(54),k=n(13),L=n(18),w=n(34),B=n(79),S=w.get,I=w.set,T=k.f,A=L.f,E=Math.round,P=r.RangeError,M=l.ArrayBuffer,O=l.DataView,R=c.NATIVE_ARRAY_BUFFER_VIEWS,F=c.TYPED_ARRAY_TAG,D=c.TypedArray,j=c.TypedArrayPrototype,z=c.aTypedArrayConstructor,H=c.isTypedArray,G=function(e,t){for(var n=0,o=t.length,r=new(z(e))(o);o>n;)r[n]=t[n++];return r},U=function(e,t){T(e,t,{get:function(){return S(this)[t]}})},K=function(e){var t;return e instanceof M||"ArrayBuffer"==(t=g(e))||"SharedArrayBuffer"==t},Y=function(e,t){return H(e)&&"symbol"!=typeof t&&t in e&&String(+t)==String(t)},q=function(e,t){return Y(e,t=h(t,!0))?d(2,e[t]):A(e,t)},W=function(e,t,n){return!(Y(e,t=h(t,!0))&&b(n)&&C(n,"value"))||C(n,"get")||C(n,"set")||n.configurable||C(n,"writable")&&!n.writable||C(n,"enumerable")&&!n.enumerable?T(e,t,n):(e[t]=n.value,e)};a?(R||(L.f=q,k.f=W,U(j,"buffer"),U(j,"byteOffset"),U(j,"byteLength"),U(j,"length")),o({target:"Object",stat:!0,forced:!R},{getOwnPropertyDescriptor:q,defineProperty:W}),e.exports=function(e,t,n){var a=e.match(/\d+$/)[0]/8,c=e+(n?"Clamped":"")+"Array",l="get"+e,d="set"+e,h=r[c],C=h,g=C&&C.prototype,k={},L=function(e,t){var n=S(e);return n.view[l](t*a+n.byteOffset,!0)},w=function(e,t,o){var r=S(e);n&&(o=(o=E(o))<0?0:o>255?255:255&o),r.view[d](t*a+r.byteOffset,o,!0)},A=function(e,t){T(e,t,{get:function(){return L(this,t)},set:function(e){return w(this,t,e)},enumerable:!0})};R?i&&(C=t((function(e,t,n,o){return u(e,C,c),B(b(t)?K(t)?o!==undefined?new h(t,f(n,a),o):n!==undefined?new h(t,f(n,a)):new h(t):H(t)?G(C,t):y.call(C,t):new h(m(t)),e,C)})),N&&N(C,D),_(V(h),(function(e){e in C||s(C,e,h[e])})),C.prototype=g):(C=t((function(e,t,n,o){u(e,C,c);var r,i,l,d=0,s=0;if(b(t)){if(!K(t))return H(t)?G(C,t):y.call(C,t);r=t,s=f(n,a);var h=t.byteLength;if(o===undefined){if(h%a)throw P("Wrong length");if((i=h-s)<0)throw P("Wrong length")}else if((i=p(o)*a)+s>h)throw P("Wrong length");l=i/a}else l=m(t),r=new M(i=l*a);for(I(e,{buffer:r,byteOffset:s,byteLength:i,length:l,view:new O(r)});ddocument.F=Object<\/script>"),e.close(),p=e.F;n--;)delete p[d][a[n]];return p()};e.exports=Object.create||function(e,t){var n;return null!==e?(s[d]=o(e),n=new s,s[d]=null,n[u]=e):n=p(),t===undefined?n:r(n,t)},i[u]=!0},function(e,t,n){"use strict";var o=n(13).f,r=n(15),a=n(11)("toStringTag");e.exports=function(e,t,n){e&&!r(e=n?e:e.prototype,a)&&o(e,a,{configurable:!0,value:t})}},function(e,t,n){"use strict";var o=n(11),r=n(42),a=n(25),i=o("unscopables"),c=Array.prototype;c[i]==undefined&&a(c,i,r(null)),e.exports=function(e){c[i][e]=!0}},function(e,t,n){"use strict";var o=n(8),r=n(31),a=n(11)("species");e.exports=function(e,t){var n,i=o(e).constructor;return i===undefined||(n=o(i)[a])==undefined?t:r(n)}},function(e,t,n){"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){"use strict";var o=n(124),r=n(93).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return o(e,r)}},function(e,t,n){"use strict";var o=n(31);e.exports=function(e,t,n){if(o(e),t===undefined)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,o){return e.call(t,n,o)};case 3:return function(n,o,r){return e.call(t,n,o,r)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){"use strict";var o=n(33),r=n(13),a=n(46);e.exports=function(e,t,n){var i=o(t);i in e?r.f(e,i,a(0,n)):e[i]=n}},function(e,t,n){"use strict";var o=n(59),r=n(6),a=n(15),i=n(13).f,c=n(58),l=n(67),u=c("meta"),d=0,s=Object.isExtensible||function(){return!0},p=function(e){i(e,u,{value:{objectID:"O"+ ++d,weakData:{}}})},m=e.exports={REQUIRED:!1,fastKey:function(e,t){if(!r(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!a(e,u)){if(!s(e))return"F";if(!t)return"E";p(e)}return e[u].objectID},getWeakData:function(e,t){if(!a(e,u)){if(!s(e))return!0;if(!t)return!1;p(e)}return e[u].weakData},onFreeze:function(e){return l&&m.REQUIRED&&s(e)&&!a(e,u)&&p(e),e}};o[u]=!0},function(e,t,n){"use strict";t.__esModule=!0,t.createLogger=void 0;n(154);var o=n(19),r=0,a=1,i=2,c=3,l=4,u=function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a=i){var c=[t].concat(r).map((function(e){return"string"==typeof e?e:e instanceof Error?e.stack||String(e):JSON.stringify(e)})).filter((function(e){return e})).join(" ")+"\nUser Agent: "+navigator.userAgent;(0,o.act)(window.__ref__,"tgui:log",{log:c})}};t.createLogger=function(e){return{debug:function(){for(var t=arguments.length,n=new Array(t),o=0;od;)if((c=l[d++])!=c)return!0}else for(;u>d;d++)if((e||d in l)&&l[d]===n)return e||d||0;return!e&&-1}};e.exports={includes:i(!0),indexOf:i(!1)}},function(e,t,n){"use strict";var o=n(4),r=/#|\.prototype\./,a=function(e,t){var n=c[i(e)];return n==u||n!=l&&("function"==typeof t?o(t):!!t)},i=a.normalize=function(e){return String(e).replace(r,".").toLowerCase()},c=a.data={},l=a.NATIVE="N",u=a.POLYFILL="P";e.exports=a},function(e,t,n){"use strict";var o=n(124),r=n(93);e.exports=Object.keys||function(e){return o(e,r)}},function(e,t,n){"use strict";var o=n(6),r=n(52),a=n(11)("species");e.exports=function(e,t){var n;return r(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!r(n.prototype)?o(n)&&null===(n=n[a])&&(n=undefined):n=undefined),new(n===undefined?Array:n)(0===t?0:t)}},function(e,t,n){"use strict";var o=n(4),r=n(11),a=n(96),i=r("species");e.exports=function(e){return a>=51||!o((function(){var t=[];return(t.constructor={})[i]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var o=n(22);e.exports=function(e,t,n){for(var r in t)o(e,r,t[r],n);return e}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){return Object.isExtensible(Object.preventExtensions({}))}))},function(e,t,n){"use strict";var o=n(8),r=n(98),a=n(10),i=n(48),c=n(99),l=n(132),u=function(e,t){this.stopped=e,this.result=t};(e.exports=function(e,t,n,d,s){var p,m,f,h,C,g,b,v=i(t,n,d?2:1);if(s)p=e;else{if("function"!=typeof(m=c(e)))throw TypeError("Target is not iterable");if(r(m)){for(f=0,h=a(e.length);h>f;f++)if((C=d?v(o(b=e[f])[0],b[1]):v(e[f]))&&C instanceof u)return C;return new u(!1)}p=m.call(e)}for(g=p.next;!(b=g.call(p)).done;)if("object"==typeof(C=l(p,v,b.value,d))&&C&&C instanceof u)return C;return new u(!1)}).stop=function(e){return new u(!0,e)}},function(e,t,n){"use strict";t.__esModule=!0,t.InterfaceLockNoticeBox=void 0;var o=n(1),r=n(2);t.InterfaceLockNoticeBox=function(e){var t=e.siliconUser,n=e.locked,a=e.onLockStatusChange,i=e.accessText;return t?(0,o.createComponentVNode)(2,r.NoticeBox,{children:(0,o.createComponentVNode)(2,r.Flex,{align:"center",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{children:"Interface lock status:"}),(0,o.createComponentVNode)(2,r.Flex.Item,{grow:1}),(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Button,{m:0,color:"gray",icon:n?"lock":"unlock",content:n?"Locked":"Unlocked",onClick:function(){a&&a(!n)}})})]})}):(0,o.createComponentVNode)(2,r.NoticeBox,{children:["Swipe ",i||"an ID card"," ","to ",n?"unlock":"lock"," this interface."]})}},function(e,t,n){"use strict";t.__esModule=!0,t.compose=t.flow=void 0;t.flow=function o(){for(var e=arguments.length,t=new Array(e),n=0;n1?r-1:0),i=1;i=c.length)break;d=c[u++]}else{if((u=c.next()).done)break;d=u.value}var s=d;Array.isArray(s)?n=o.apply(void 0,s).apply(void 0,[n].concat(a)):s&&(n=s.apply(void 0,[n].concat(a)))}return n}};t.compose=function(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;a=0:s>p;p+=m)p in d&&(l=n(l,d[p],p,u));return l}};e.exports={left:c(!1),right:c(!0)}},function(e,t,n){"use strict";var o=n(5),r=n(9),a=n(7).NATIVE_ARRAY_BUFFER,i=n(25),c=n(66),l=n(4),u=n(55),d=n(30),s=n(10),p=n(137),m=n(217),f=n(47).f,h=n(13).f,C=n(97),g=n(43),b=n(34),v=b.get,N=b.set,V="ArrayBuffer",y="DataView",_="Wrong length",x=o[V],k=x,L=o[y],w=o.RangeError,B=m.pack,S=m.unpack,I=function(e){return[255&e]},T=function(e){return[255&e,e>>8&255]},A=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},E=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},P=function(e){return B(e,23,4)},M=function(e){return B(e,52,8)},O=function(e,t){h(e.prototype,t,{get:function(){return v(this)[t]}})},R=function(e,t,n,o){var r=p(n),a=v(e);if(r+t>a.byteLength)throw w("Wrong index");var i=v(a.buffer).bytes,c=r+a.byteOffset,l=i.slice(c,c+t);return o?l:l.reverse()},F=function(e,t,n,o,r,a){var i=p(n),c=v(e);if(i+t>c.byteLength)throw w("Wrong index");for(var l=v(c.buffer).bytes,u=i+c.byteOffset,d=o(+r),s=0;sH;)(D=z[H++])in k||i(k,D,x[D]);j.constructor=k}var G=new L(new k(2)),U=L.prototype.setInt8;G.setInt8(0,2147483648),G.setInt8(1,2147483649),!G.getInt8(0)&&G.getInt8(1)||c(L.prototype,{setInt8:function(e,t){U.call(this,e,t<<24>>24)},setUint8:function(e,t){U.call(this,e,t<<24>>24)}},{unsafe:!0})}else k=function(e){u(this,k,V);var t=p(e);N(this,{bytes:C.call(new Array(t),0),byteLength:t}),r||(this.byteLength=t)},L=function(e,t,n){u(this,L,y),u(e,k,y);var o=v(e).byteLength,a=d(t);if(a<0||a>o)throw w("Wrong offset");if(a+(n=n===undefined?o-a:s(n))>o)throw w(_);N(this,{buffer:e,byteLength:n,byteOffset:a}),r||(this.buffer=e,this.byteLength=n,this.byteOffset=a)},r&&(O(k,"byteLength"),O(L,"buffer"),O(L,"byteLength"),O(L,"byteOffset")),c(L.prototype,{getInt8:function(e){return R(this,1,e)[0]<<24>>24},getUint8:function(e){return R(this,1,e)[0]},getInt16:function(e){var t=R(this,2,e,arguments.length>1?arguments[1]:undefined);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=R(this,2,e,arguments.length>1?arguments[1]:undefined);return t[1]<<8|t[0]},getInt32:function(e){return E(R(this,4,e,arguments.length>1?arguments[1]:undefined))},getUint32:function(e){return E(R(this,4,e,arguments.length>1?arguments[1]:undefined))>>>0},getFloat32:function(e){return S(R(this,4,e,arguments.length>1?arguments[1]:undefined),23)},getFloat64:function(e){return S(R(this,8,e,arguments.length>1?arguments[1]:undefined),52)},setInt8:function(e,t){F(this,1,e,I,t)},setUint8:function(e,t){F(this,1,e,I,t)},setInt16:function(e,t){F(this,2,e,T,t,arguments.length>2?arguments[2]:undefined)},setUint16:function(e,t){F(this,2,e,T,t,arguments.length>2?arguments[2]:undefined)},setInt32:function(e,t){F(this,4,e,A,t,arguments.length>2?arguments[2]:undefined)},setUint32:function(e,t){F(this,4,e,A,t,arguments.length>2?arguments[2]:undefined)},setFloat32:function(e,t){F(this,4,e,P,t,arguments.length>2?arguments[2]:undefined)},setFloat64:function(e,t){F(this,8,e,M,t,arguments.length>2?arguments[2]:undefined)}});g(k,V),g(L,y),e.exports={ArrayBuffer:k,DataView:L}},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(61),i=n(22),c=n(50),l=n(68),u=n(55),d=n(6),s=n(4),p=n(75),m=n(43),f=n(79);e.exports=function(e,t,n){var h=-1!==e.indexOf("Map"),C=-1!==e.indexOf("Weak"),g=h?"set":"add",b=r[e],v=b&&b.prototype,N=b,V={},y=function(e){var t=v[e];i(v,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(C&&!d(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return C&&!d(e)?undefined:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(C&&!d(e))&&t.call(this,0===e?0:e)}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(a(e,"function"!=typeof b||!(C||v.forEach&&!s((function(){(new b).entries().next()})))))N=n.getConstructor(t,e,h,g),c.REQUIRED=!0;else if(a(e,!0)){var _=new N,x=_[g](C?{}:-0,1)!=_,k=s((function(){_.has(1)})),L=p((function(e){new b(e)})),w=!C&&s((function(){for(var e=new b,t=5;t--;)e[g](t,t);return!e.has(-0)}));L||((N=t((function(t,n){u(t,N,e);var o=f(new b,t,N);return n!=undefined&&l(n,o[g],o,h),o}))).prototype=v,v.constructor=N),(k||w)&&(y("delete"),y("has"),h&&y("get")),(w||x)&&y(g),C&&v.clear&&delete v.clear}return V[e]=N,o({global:!0,forced:N!=b},V),m(N,e),C||n.setStrong(N,e,h),N}},function(e,t,n){"use strict";var o=n(6),r=n(53);e.exports=function(e,t,n){var a,i;return r&&"function"==typeof(a=t.constructor)&&a!==n&&o(i=a.prototype)&&i!==n.prototype&&r(e,i),e}},function(e,t,n){"use strict";var o=Math.expm1,r=Math.exp;e.exports=!o||o(10)>22025.465794806718||o(10)<22025.465794806718||-2e-17!=o(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:r(e)-1}:o},function(e,t,n){"use strict";e.exports="\t\n\x0B\f\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff"},function(e,t,n){"use strict";var o=n(38),r=n(5),a=n(4);e.exports=o||!a((function(){var e=Math.random();__defineSetter__.call(null,e,(function(){})),delete r[e]}))},function(e,t,n){"use strict";var o=n(8);e.exports=function(){var e=o(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},function(e,t,n){"use strict";var o,r,a=n(83),i=RegExp.prototype.exec,c=String.prototype.replace,l=i,u=(o=/a/,r=/b*/g,i.call(o,"a"),i.call(r,"a"),0!==o.lastIndex||0!==r.lastIndex),d=/()??/.exec("")[1]!==undefined;(u||d)&&(l=function(e){var t,n,o,r,l=this;return d&&(n=new RegExp("^"+l.source+"$(?!\\s)",a.call(l))),u&&(t=l.lastIndex),o=i.call(l,e),u&&o&&(l.lastIndex=l.global?o.index+o[0].length:t),d&&o&&o.length>1&&c.call(o[0],n,(function(){for(r=1;r")})),d=!a((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));e.exports=function(e,t,n,s){var p=i(e),m=!a((function(){var t={};return t[p]=function(){return 7},7!=""[e](t)})),f=m&&!a((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[l]=function(){return n},n.flags="",n[p]=/./[p]),n.exec=function(){return t=!0,null},n[p](""),!t}));if(!m||!f||"replace"===e&&!u||"split"===e&&!d){var h=/./[p],C=n(p,""[e],(function(e,t,n,o,r){return t.exec===c?m&&!r?{done:!0,value:h.call(t,n,o)}:{done:!0,value:e.call(n,t,o)}:{done:!1}})),g=C[0],b=C[1];r(String.prototype,e,g),r(RegExp.prototype,p,2==t?function(e,t){return b.call(e,this,t)}:function(e){return b.call(e,this)}),s&&o(RegExp.prototype[p],"sham",!0)}}},function(e,t,n){"use strict";var o=n(32),r=n(84);e.exports=function(e,t){var n=e.exec;if("function"==typeof n){var a=n.call(e,t);if("object"!=typeof a)throw TypeError("RegExp exec method returned something other than an Object or null");return a}if("RegExp"!==o(e))throw TypeError("RegExp#exec called on incompatible receiver");return r.call(e,t)}},function(e,t,n){"use strict";t.__esModule=!0,t.Icon=void 0;var o=n(1),r=n(12),a=n(17);var i=/-o$/,c=function(e){var t=e.name,n=e.size,c=e.spin,l=e.className,u=e.style,d=void 0===u?{}:u,s=e.rotation,p=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["name","size","spin","className","style","rotation"]);n&&(d["font-size"]=100*n+"%"),"number"==typeof s&&(d.transform="rotate("+s+"deg)");var m=i.test(t),f=t.replace(i,"");return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"i",className:(0,r.classes)([l,m?"far":"fas","fa-"+f,c&&"fa-spin"]),style:d},p)))};t.Icon=c,c.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";var o=n(5),r=n(6),a=o.document,i=r(a)&&r(a.createElement);e.exports=function(e){return i?a.createElement(e):{}}},function(e,t,n){"use strict";var o=n(5),r=n(25);e.exports=function(e,t){try{r(o,e,t)}catch(n){o[e]=t}return t}},function(e,t,n){"use strict";var o=n(120),r=Function.toString;"function"!=typeof o.inspectSource&&(o.inspectSource=function(e){return r.call(e)}),e.exports=o.inspectSource},function(e,t,n){"use strict";var o=n(38),r=n(120);(e.exports=function(e,t){return r[e]||(r[e]=t!==undefined?t:{})})("versions",[]).push({version:"3.4.8",mode:o?"pure":"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t,n){"use strict";var o=n(35),r=n(47),a=n(94),i=n(8);e.exports=o("Reflect","ownKeys")||function(e){var t=r.f(i(e)),n=a.f;return n?t.concat(n(e)):t}},function(e,t,n){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){"use strict";t.f=Object.getOwnPropertySymbols},function(e,t,n){"use strict";var o=n(4);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){return!String(Symbol())}))},function(e,t,n){"use strict";var o,r,a=n(5),i=n(73),c=a.process,l=c&&c.versions,u=l&&l.v8;u?r=(o=u.split("."))[0]+o[1]:i&&(!(o=i.match(/Edge\/(\d+)/))||o[1]>=74)&&(o=i.match(/Chrome\/(\d+)/))&&(r=o[1]),e.exports=r&&+r},function(e,t,n){"use strict";var o=n(14),r=n(41),a=n(10);e.exports=function(e){for(var t=o(this),n=a(t.length),i=arguments.length,c=r(i>1?arguments[1]:undefined,n),l=i>2?arguments[2]:undefined,u=l===undefined?n:r(l,n);u>c;)t[c++]=e;return t}},function(e,t,n){"use strict";var o=n(11),r=n(65),a=o("iterator"),i=Array.prototype;e.exports=function(e){return e!==undefined&&(r.Array===e||i[a]===e)}},function(e,t,n){"use strict";var o=n(74),r=n(65),a=n(11)("iterator");e.exports=function(e){if(e!=undefined)return e[a]||e["@@iterator"]||r[o(e)]}},function(e,t,n){"use strict";var o={};o[n(11)("toStringTag")]="z",e.exports="[object z]"===String(o)},function(e,t,n){"use strict";var o=n(0),r=n(202),a=n(36),i=n(53),c=n(43),l=n(25),u=n(22),d=n(11),s=n(38),p=n(65),m=n(134),f=m.IteratorPrototype,h=m.BUGGY_SAFARI_ITERATORS,C=d("iterator"),g=function(){return this};e.exports=function(e,t,n,d,m,b,v){r(n,t,d);var N,V,y,_=function(e){if(e===m&&B)return B;if(!h&&e in L)return L[e];switch(e){case"keys":case"values":case"entries":return function(){return new n(this,e)}}return function(){return new n(this)}},x=t+" Iterator",k=!1,L=e.prototype,w=L[C]||L["@@iterator"]||m&&L[m],B=!h&&w||_(m),S="Array"==t&&L.entries||w;if(S&&(N=a(S.call(new e)),f!==Object.prototype&&N.next&&(s||a(N)===f||(i?i(N,f):"function"!=typeof N[C]&&l(N,C,g)),c(N,x,!0,!0),s&&(p[x]=g))),"values"==m&&w&&"values"!==w.name&&(k=!0,B=function(){return w.call(this)}),s&&!v||L[C]===B||l(L,C,B),p[t]=B,m)if(V={values:_("values"),keys:b?B:_("keys"),entries:_("entries")},v)for(y in V)!h&&!k&&y in L||u(L,y,V[y]);else o({target:t,proto:!0,forced:h||k},V);return V}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},function(e,t,n){"use strict";var o=n(10),r=n(104),a=n(21),i=Math.ceil,c=function(e){return function(t,n,c){var l,u,d=String(a(t)),s=d.length,p=c===undefined?" ":String(c),m=o(n);return m<=s||""==p?d:(l=m-s,(u=r.call(p,i(l/p.length))).length>l&&(u=u.slice(0,l)),e?d+u:u+d)}};e.exports={start:c(!1),end:c(!0)}},function(e,t,n){"use strict";var o=n(30),r=n(21);e.exports="".repeat||function(e){var t=String(r(this)),n="",a=o(e);if(a<0||a==Infinity)throw RangeError("Wrong number of repetitions");for(;a>0;(a>>>=1)&&(t+=t))1&a&&(n+=t);return n}},function(e,t,n){"use strict";e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t,n){"use strict";var o,r,a,i=n(5),c=n(4),l=n(32),u=n(48),d=n(127),s=n(88),p=n(146),m=i.location,f=i.setImmediate,h=i.clearImmediate,C=i.process,g=i.MessageChannel,b=i.Dispatch,v=0,N={},V=function(e){if(N.hasOwnProperty(e)){var t=N[e];delete N[e],t()}},y=function(e){return function(){V(e)}},_=function(e){V(e.data)},x=function(e){i.postMessage(e+"",m.protocol+"//"+m.host)};f&&h||(f=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return N[++v]=function(){("function"==typeof e?e:Function(e)).apply(undefined,t)},o(v),v},h=function(e){delete N[e]},"process"==l(C)?o=function(e){C.nextTick(y(e))}:b&&b.now?o=function(e){b.now(y(e))}:g&&!p?(a=(r=new g).port2,r.port1.onmessage=_,o=u(a.postMessage,a,1)):!i.addEventListener||"function"!=typeof postMessage||i.importScripts||c(x)?o="onreadystatechange"in s("script")?function(e){d.appendChild(s("script")).onreadystatechange=function(){d.removeChild(this),V(e)}}:function(e){setTimeout(y(e),0)}:(o=x,i.addEventListener("message",_,!1))),e.exports={set:f,clear:h}},function(e,t,n){"use strict";var o=n(6),r=n(32),a=n(11)("match");e.exports=function(e){var t;return o(e)&&((t=e[a])!==undefined?!!t:"RegExp"==r(e))}},function(e,t,n){"use strict";var o=n(30),r=n(21),a=function(e){return function(t,n){var a,i,c=String(r(t)),l=o(n),u=c.length;return l<0||l>=u?e?"":undefined:(a=c.charCodeAt(l))<55296||a>56319||l+1===u||(i=c.charCodeAt(l+1))<56320||i>57343?e?c.charAt(l):a:e?c.slice(l,l+2):i-56320+(a-55296<<10)+65536}};e.exports={codeAt:a(!1),charAt:a(!0)}},function(e,t,n){"use strict";var o=n(107);e.exports=function(e){if(o(e))throw TypeError("The method doesn't accept regular expressions");return e}},function(e,t,n){"use strict";var o=n(11)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[o]=!1,"/./"[e](t)}catch(r){}}return!1}},function(e,t,n){"use strict";var o=n(108).charAt;e.exports=function(e,t,n){return t+(n?o(e,t).length:1)}},function(e,t,n){"use strict";var o=n(4),r=n(81);e.exports=function(e){return o((function(){return!!r[e]()||"\u200b\x85\u180e"!="\u200b\x85\u180e"[e]()||r[e].name!==e}))}},function(e,t,n){"use strict";var o=n(5),r=n(4),a=n(75),i=n(7).NATIVE_ARRAY_BUFFER_VIEWS,c=o.ArrayBuffer,l=o.Int8Array;e.exports=!i||!r((function(){l(1)}))||!r((function(){new l(-1)}))||!a((function(e){new l,new l(null),new l(1.5),new l(e)}),!0)||r((function(){return 1!==new l(new c(2),1,undefined).length}))},function(e,t,n){"use strict";t.__esModule=!0,t.ButtonInput=t.ButtonConfirm=t.ButtonCheckbox=t.Button=void 0;var o=n(1),r=n(12),a=n(19),i=n(115),c=n(51),l=n(116),u=n(17),d=n(87),s=n(159);n(160),n(161);function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function m(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var f=(0,c.createLogger)("Button"),h=function(e){var t=e.className,n=e.fluid,c=e.icon,p=e.color,h=e.disabled,C=e.selected,g=e.tooltip,b=e.tooltipPosition,v=e.ellipsis,N=e.content,V=e.iconRotation,y=e.iconSpin,_=e.children,x=e.onclick,k=e.onClick,L=m(e,["className","fluid","icon","color","disabled","selected","tooltip","tooltipPosition","ellipsis","content","iconRotation","iconSpin","children","onclick","onClick"]),w=!(!N&&!_);return x&&f.warn("Lowercase 'onclick' is not supported on Button and lowercase prop names are discouraged in general. Please use a camelCase'onClick' instead and read: https://infernojs.org/docs/guides/event-handling"),(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Box,Object.assign({as:"span",className:(0,r.classes)(["Button",n&&"Button--fluid",h&&"Button--disabled",C&&"Button--selected",w&&"Button--hasContent",v&&"Button--ellipsis",p&&"string"==typeof p?"Button--color--"+p:"Button--color--default",t]),tabIndex:!h&&"0",unselectable:a.tridentVersion<=4,onclick:function(e){(0,l.refocusLayout)(),!h&&k&&k(e)},onKeyDown:function(e){var t=window.event?e.which:e.keyCode;return t===i.KEY_SPACE||t===i.KEY_ENTER?(e.preventDefault(),void(!h&&k&&k(e))):t===i.KEY_ESCAPE?(e.preventDefault(),void(0,l.refocusLayout)()):void 0}},L,{children:[c&&(0,o.createComponentVNode)(2,d.Icon,{name:c,rotation:V,spin:y}),N,_,g&&(0,o.createComponentVNode)(2,s.Tooltip,{content:g,position:b})]})))};t.Button=h,h.defaultHooks=r.pureComponentHooks;var C=function(e){var t=e.checked,n=m(e,["checked"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({color:"transparent",icon:t?"check-square-o":"square-o",selected:t},n)))};t.ButtonCheckbox=C,h.Checkbox=C;var g=function(e){function t(){var t;return(t=e.call(this)||this).state={clickedOnce:!1},t.handleClick=function(){t.state.clickedOnce&&t.setClickedOnce(!1)},t}p(t,e);var n=t.prototype;return n.setClickedOnce=function(e){var t=this;this.setState({clickedOnce:e}),e?setTimeout((function(){return window.addEventListener("click",t.handleClick)})):window.removeEventListener("click",this.handleClick)},n.render=function(){var e=this,t=this.props,n=t.confirmMessage,r=void 0===n?"Confirm?":n,a=t.confirmColor,i=void 0===a?"bad":a,c=t.color,l=t.content,u=t.onClick,d=m(t,["confirmMessage","confirmColor","color","content","onClick"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({content:this.state.clickedOnce?r:l,color:this.state.clickedOnce?i:c,onClick:function(){return e.state.clickedOnce?u():e.setClickedOnce(!0)}},d)))},t}(o.Component);t.ButtonConfirm=g,h.Confirm=g;var b=function(e){function t(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={inInput:!1},t}p(t,e);var n=t.prototype;return n.setInInput=function(e){if(this.setState({inInput:e}),this.inputRef){var t=this.inputRef.current;if(e){t.value=this.props.currentValue||"";try{t.focus(),t.select()}catch(n){}}}},n.commitResult=function(e){if(this.inputRef){var t=this.inputRef.current;if(""!==t.value)return void this.props.onCommit(e,t.value);if(!this.props.defaultValue)return;this.props.onCommit(e,this.props.defaultValue)}},n.render=function(){var e=this,t=this.props,n=t.fluid,a=t.content,c=t.color,l=void 0===c?"default":c,d=(t.placeholder,t.maxLength,m(t,["fluid","content","color","placeholder","maxLength"]));return(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Box,Object.assign({className:(0,r.classes)(["Button",n&&"Button--fluid","Button--color--"+l])},d,{onClick:function(){return e.setInInput(!0)},children:[(0,o.createVNode)(1,"div",null,a,0),(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:this.state.inInput?undefined:"none","text-align":"left"},onBlur:function(t){e.state.inInput&&(e.setInInput(!1),e.commitResult(t))},onKeyDown:function(t){if(t.keyCode===i.KEY_ENTER)return e.setInInput(!1),void e.commitResult(t);t.keyCode===i.KEY_ESCAPE&&e.setInInput(!1)}},null,this.inputRef)]})))},t}(o.Component);t.ButtonInput=b,h.Input=b},function(e,t,n){"use strict";t.__esModule=!0,t.hotKeyReducer=t.hotKeyMiddleware=t.releaseHeldKeys=t.KEY_MINUS=t.KEY_EQUAL=t.KEY_Z=t.KEY_Y=t.KEY_X=t.KEY_W=t.KEY_V=t.KEY_U=t.KEY_T=t.KEY_S=t.KEY_R=t.KEY_Q=t.KEY_P=t.KEY_O=t.KEY_N=t.KEY_M=t.KEY_L=t.KEY_K=t.KEY_J=t.KEY_I=t.KEY_H=t.KEY_G=t.KEY_F=t.KEY_E=t.KEY_D=t.KEY_C=t.KEY_B=t.KEY_A=t.KEY_9=t.KEY_8=t.KEY_7=t.KEY_6=t.KEY_5=t.KEY_4=t.KEY_3=t.KEY_2=t.KEY_1=t.KEY_0=t.KEY_SPACE=t.KEY_ESCAPE=t.KEY_ALT=t.KEY_CTRL=t.KEY_SHIFT=t.KEY_ENTER=t.KEY_TAB=t.KEY_BACKSPACE=void 0;var o=n(51),r=n(19),a=(0,o.createLogger)("hotkeys");t.KEY_BACKSPACE=8;t.KEY_TAB=9;t.KEY_ENTER=13;t.KEY_SHIFT=16;t.KEY_CTRL=17;t.KEY_ALT=18;t.KEY_ESCAPE=27;t.KEY_SPACE=32;t.KEY_0=48;t.KEY_1=49;t.KEY_2=50;t.KEY_3=51;t.KEY_4=52;t.KEY_5=53;t.KEY_6=54;t.KEY_7=55;t.KEY_8=56;t.KEY_9=57;t.KEY_A=65;t.KEY_B=66;t.KEY_C=67;t.KEY_D=68;t.KEY_E=69;t.KEY_F=70;t.KEY_G=71;t.KEY_H=72;t.KEY_I=73;t.KEY_J=74;t.KEY_K=75;t.KEY_L=76;t.KEY_M=77;t.KEY_N=78;t.KEY_O=79;t.KEY_P=80;t.KEY_Q=81;t.KEY_R=82;t.KEY_S=83;t.KEY_T=84;t.KEY_U=85;t.KEY_V=86;t.KEY_W=87;t.KEY_X=88;t.KEY_Y=89;t.KEY_Z=90;t.KEY_EQUAL=187;t.KEY_MINUS=189;var i=[17,18,16],c=[27,13,32,9,17,16],l={},u=function(e,t,n,o){var r="";return e&&(r+="Ctrl+"),t&&(r+="Alt+"),n&&(r+="Shift+"),r+=o>=48&&o<=90?String.fromCharCode(o):"["+o+"]"},d=function(e){var t=window.event?e.which:e.keyCode,n=e.ctrlKey,o=e.altKey,r=e.shiftKey;return{keyCode:t,ctrlKey:n,altKey:o,shiftKey:r,hasModifierKeys:n||o||r,keyString:u(n,o,r,t)}},s=function(){for(var e=0,t=Object.keys(l);e4&&function(e,t){if(!e.defaultPrevented){var n=e.target&&e.target.localName;if("input"!==n&&"textarea"!==n){var o=d(e),i=o.keyCode,u=o.ctrlKey,s=o.shiftKey;u||s||c.includes(i)||("keydown"!==t||l[i]?"keyup"===t&&l[i]&&(a.debug("passthrough",t,o),(0,r.callByond)("",{__keyup:i})):(a.debug("passthrough",t,o),(0,r.callByond)("",{__keydown:i})))}}}(e,t),function(e,t,n){if("keyup"===t){var o=d(e),r=o.ctrlKey,c=o.altKey,l=o.keyCode,u=o.hasModifierKeys,s=o.keyString;u&&!i.includes(l)&&(a.log(s),r&&c&&8===l&&setTimeout((function(){throw new Error("OOPSIE WOOPSIE!! UwU We made a fucky wucky!! A wittle fucko boingo! The code monkeys at our headquarters are working VEWY HAWD to fix this!")})),n({type:"hotKey",payload:o}))}}(e,t,n)},document.addEventListener("keydown",(function(e){var n=window.event?e.which:e.keyCode;t(e,"keydown"),l[n]=!0})),document.addEventListener("keyup",(function(e){var n=window.event?e.which:e.keyCode;t(e,"keyup"),l[n]=!1})),r.tridentVersion>4&&function(e){var t;document.addEventListener("focusout",(function(){t=setTimeout(e)})),document.addEventListener("focusin",(function(){clearTimeout(t)})),window.addEventListener("beforeunload",e)}((function(){s()})),function(e){return function(t){return e(t)}}};t.hotKeyReducer=function(e,t){var n=t.type,o=t.payload;if("hotKey"===n){var r=o.ctrlKey,a=o.altKey,i=o.keyCode;return r&&a&&187===i?Object.assign({},e,{showKitchenSink:!e.showKitchenSink}):e}return e}},function(e,t,n){"use strict";t.__esModule=!0,t.refocusLayout=void 0;var o=n(19);t.refocusLayout=function(){if(!(o.tridentVersion<=4)){var e=document.getElementById("Layout__content");e&&e.focus()}}},function(e,t,n){"use strict";t.__esModule=!0,t.toastReducer=t.showToast=t.Toast=void 0;var o,r=n(1),a=n(12),i=function(e){var t=e.content,n=e.children;return(0,r.createVNode)(1,"div","Layout__toast",[t,n],0)};t.Toast=i,i.defaultHooks=a.pureComponentHooks;t.showToast=function(e,t){o&&clearTimeout(o),o=setTimeout((function(){o=undefined,e({type:"hideToast"})}),5e3),e({type:"showToast",payload:{text:t}})};t.toastReducer=function(e,t){var n=t.type,o=t.payload;if("showToast"===n){var r=o.text;return Object.assign({},e,{toastText:r})}return"hideToast"===n?Object.assign({},e,{toastText:null}):e}},function(e,t,n){"use strict";var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(r){"object"==typeof window&&(o=window)}e.exports=o},function(e,t,n){"use strict";var o=n(9),r=n(4),a=n(88);e.exports=!o&&!r((function(){return 7!=Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var o=n(5),r=n(89),a=o["__core-js_shared__"]||r("__core-js_shared__",{});e.exports=a},function(e,t,n){"use strict";var o=n(5),r=n(90),a=o.WeakMap;e.exports="function"==typeof a&&/native code/.test(r(a))},function(e,t,n){"use strict";var o=n(15),r=n(92),a=n(18),i=n(13);e.exports=function(e,t){for(var n=r(t),c=i.f,l=a.f,u=0;ul;)o(c,n=t[l++])&&(~a(u,n)||u.push(n));return u}},function(e,t,n){"use strict";var o=n(95);e.exports=o&&!Symbol.sham&&"symbol"==typeof Symbol()},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(8),i=n(62);e.exports=o?Object.defineProperties:function(e,t){a(e);for(var n,o=i(t),c=o.length,l=0;c>l;)r.f(e,n=o[l++],t[n]);return e}},function(e,t,n){"use strict";var o=n(35);e.exports=o("document","documentElement")},function(e,t,n){"use strict";var o=n(24),r=n(47).f,a={}.toString,i="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(e){try{return r(e)}catch(t){return i.slice()}};e.exports.f=function(e){return i&&"[object Window]"==a.call(e)?c(e):r(o(e))}},function(e,t,n){"use strict";var o=n(11);t.f=o},function(e,t,n){"use strict";var o=n(14),r=n(41),a=n(10),i=Math.min;e.exports=[].copyWithin||function(e,t){var n=o(this),c=a(n.length),l=r(e,c),u=r(t,c),d=arguments.length>2?arguments[2]:undefined,s=i((d===undefined?c:r(d,c))-u,c-l),p=1;for(u0;)u in n?n[l]=n[u]:delete n[l],l+=p,u+=p;return n}},function(e,t,n){"use strict";var o=n(52),r=n(10),a=n(48);e.exports=function i(e,t,n,c,l,u,d,s){for(var p,m=l,f=0,h=!!d&&a(d,s,3);f0&&o(p))m=i(e,t,p,r(p.length),m,u-1)-1;else{if(m>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[m]=p}m++}f++}return m}},function(e,t,n){"use strict";var o=n(8);e.exports=function(e,t,n,r){try{return r?t(o(n)[0],n[1]):t(n)}catch(i){var a=e["return"];throw a!==undefined&&o(a.call(e)),i}}},function(e,t,n){"use strict";var o=n(24),r=n(44),a=n(65),i=n(34),c=n(101),l=i.set,u=i.getterFor("Array Iterator");e.exports=c(Array,"Array",(function(e,t){l(this,{type:"Array Iterator",target:o(e),index:0,kind:t})}),(function(){var e=u(this),t=e.target,n=e.kind,o=e.index++;return!t||o>=t.length?(e.target=undefined,{value:undefined,done:!0}):"keys"==n?{value:o,done:!1}:"values"==n?{value:t[o],done:!1}:{value:[o,t[o]],done:!1}}),"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},function(e,t,n){"use strict";var o,r,a,i=n(36),c=n(25),l=n(15),u=n(11),d=n(38),s=u("iterator"),p=!1;[].keys&&("next"in(a=[].keys())?(r=i(i(a)))!==Object.prototype&&(o=r):p=!0),o==undefined&&(o={}),d||l(o,s)||c(o,s,(function(){return this})),e.exports={IteratorPrototype:o,BUGGY_SAFARI_ITERATORS:p}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){if(!o(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},function(e,t,n){"use strict";var o=n(24),r=n(30),a=n(10),i=n(39),c=Math.min,l=[].lastIndexOf,u=!!l&&1/[1].lastIndexOf(1,-0)<0,d=i("lastIndexOf");e.exports=u||d?function(e){if(u)return l.apply(this,arguments)||0;var t=o(this),n=a(t.length),i=n-1;for(arguments.length>1&&(i=c(i,r(arguments[1]))),i<0&&(i=n+i);i>=0;i--)if(i in t&&t[i]===e)return i||0;return-1}:l},function(e,t,n){"use strict";var o=n(30),r=n(10);e.exports=function(e){if(e===undefined)return 0;var t=o(e),n=r(t);if(t!==n)throw RangeError("Wrong length or index");return n}},function(e,t,n){"use strict";var o=n(31),r=n(6),a=[].slice,i={},c=function(e,t,n){if(!(t in i)){for(var o=[],r=0;r1?arguments[1]:undefined,3);t=t?t.next:n.first;)for(o(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!g(this,e)}}),a(d.prototype,n?{get:function(e){var t=g(this,e);return t&&t.value},set:function(e,t){return C(this,0===e?0:e,t)}}:{add:function(e){return C(this,e=0===e?0:e,e)}}),s&&o(d.prototype,"size",{get:function(){return m(this).size}}),d},setStrong:function(e,t,n){var o=t+" Iterator",r=h(t),a=h(o);u(e,t,(function(e,t){f(this,{type:o,target:e,state:r(e),kind:t,last:undefined})}),(function(){for(var e=a(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=undefined,{value:undefined,done:!0})}),n?"entries":"values",!n,!0),d(t)}}},function(e,t,n){"use strict";var o=Math.log;e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:o(1+e)}},function(e,t,n){"use strict";var o=n(6),r=Math.floor;e.exports=function(e){return!o(e)&&isFinite(e)&&r(e)===e}},function(e,t,n){"use strict";var o=n(5),r=n(56).trim,a=n(81),i=o.parseInt,c=/^[+-]?0[Xx]/,l=8!==i(a+"08")||22!==i(a+"0x16");e.exports=l?function(e,t){var n=r(String(e));return i(n,t>>>0||(c.test(n)?16:10))}:i},function(e,t,n){"use strict";var o=n(9),r=n(62),a=n(24),i=n(71).f,c=function(e){return function(t){for(var n,c=a(t),l=r(c),u=l.length,d=0,s=[];u>d;)n=l[d++],o&&!i.call(c,n)||s.push(e?[n,c[n]]:c[n]);return s}};e.exports={entries:c(!0),values:c(!1)}},function(e,t,n){"use strict";e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},function(e,t,n){"use strict";var o=n(5);e.exports=o.Promise},function(e,t,n){"use strict";var o=n(73);e.exports=/(iphone|ipod|ipad).*applewebkit/i.test(o)},function(e,t,n){"use strict";var o,r,a,i,c,l,u,d,s=n(5),p=n(18).f,m=n(32),f=n(106).set,h=n(146),C=s.MutationObserver||s.WebKitMutationObserver,g=s.process,b=s.Promise,v="process"==m(g),N=p(s,"queueMicrotask"),V=N&&N.value;V||(o=function(){var e,t;for(v&&(e=g.domain)&&e.exit();r;){t=r.fn,r=r.next;try{t()}catch(n){throw r?i():a=undefined,n}}a=undefined,e&&e.enter()},v?i=function(){g.nextTick(o)}:C&&!h?(c=!0,l=document.createTextNode(""),new C(o).observe(l,{characterData:!0}),i=function(){l.data=c=!c}):b&&b.resolve?(u=b.resolve(undefined),d=u.then,i=function(){d.call(u,o)}):i=function(){f.call(s,o)}),e.exports=V||function(e){var t={fn:e,next:undefined};a&&(a.next=t),r||(r=t,i()),a=t}},function(e,t,n){"use strict";var o=n(8),r=n(6),a=n(149);e.exports=function(e,t){if(o(e),r(t)&&t.constructor===e)return t;var n=a.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){"use strict";var o=n(31),r=function(e){var t,n;this.promise=new e((function(e,o){if(t!==undefined||n!==undefined)throw TypeError("Bad Promise constructor");t=e,n=o})),this.resolve=o(t),this.reject=o(n)};e.exports.f=function(e){return new r(e)}},function(e,t,n){"use strict";var o=n(73);e.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o)},function(e,t,n){"use strict";var o=n(347);e.exports=function(e,t){var n=o(e);if(n%t)throw RangeError("Wrong offset");return n}},function(e,t,n){"use strict";var o=n(14),r=n(10),a=n(99),i=n(98),c=n(48),l=n(7).aTypedArrayConstructor;e.exports=function(e){var t,n,u,d,s,p,m=o(e),f=arguments.length,h=f>1?arguments[1]:undefined,C=h!==undefined,g=a(m);if(g!=undefined&&!i(g))for(p=(s=g.call(m)).next,m=[];!(d=p.call(s)).done;)m.push(d.value);for(C&&f>2&&(h=c(h,arguments[2],2)),n=r(m.length),u=new(l(this))(n),t=0;n>t;t++)u[t]=C?h(m[t],t):m[t];return u}},function(e,t,n){"use strict";var o=n(66),r=n(50).getWeakData,a=n(8),i=n(6),c=n(55),l=n(68),u=n(16),d=n(15),s=n(34),p=s.set,m=s.getterFor,f=u.find,h=u.findIndex,C=0,g=function(e){return e.frozen||(e.frozen=new b)},b=function(){this.entries=[]},v=function(e,t){return f(e.entries,(function(e){return e[0]===t}))};b.prototype={get:function(e){var t=v(this,e);if(t)return t[1]},has:function(e){return!!v(this,e)},set:function(e,t){var n=v(this,e);n?n[1]=t:this.entries.push([e,t])},"delete":function(e){var t=h(this.entries,(function(t){return t[0]===e}));return~t&&this.entries.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,u){var s=e((function(e,o){c(e,s,t),p(e,{type:t,id:C++,frozen:undefined}),o!=undefined&&l(o,e[u],e,n)})),f=m(t),h=function(e,t,n){var o=f(e),i=r(a(t),!0);return!0===i?g(o).set(t,n):i[o.id]=n,e};return o(s.prototype,{"delete":function(e){var t=f(this);if(!i(e))return!1;var n=r(e);return!0===n?g(t)["delete"](e):n&&d(n,t.id)&&delete n[t.id]},has:function(e){var t=f(this);if(!i(e))return!1;var n=r(e);return!0===n?g(t).has(e):n&&d(n,t.id)}}),o(s.prototype,n?{get:function(e){var t=f(this);if(i(e)){var n=r(e);return!0===n?g(t).get(e):n?n[t.id]:undefined}},set:function(e,t){return h(this,e,t)}}:{add:function(e){return h(this,e,!0)}}),s}}},function(e,t,n){"use strict";t.__esModule=!0,t.setupHotReloading=t.sendLogEntry=void 0;t.sendLogEntry=function(e,t){};t.setupHotReloading=function(){0}},function(e,t,n){"use strict";t.__esModule=!0,t.resizeStartHandler=t.dragStartHandler=t.setupDrag=void 0;var o,r,a,i,c,l=n(156),u=n(19),d=(0,n(51).createLogger)("drag"),s=!1,p=!1,m=[0,0],f=function(e){return(0,u.winget)(e,"pos").then((function(e){return[e.x,e.y]}))},h=function(e,t){return(0,u.winset)(e,"pos",t[0]+","+t[1])},C=function(e){var t,n,r,a;return regeneratorRuntime.async((function(i){for(;;)switch(i.prev=i.next){case 0:return d.log("setting up"),o=e.config.window,i.next=4,regeneratorRuntime.awrap(f(o));case 4:t=i.sent,m=[t[0]-window.screenLeft,t[1]-window.screenTop],n=g(t),r=n[0],a=n[1],r&&h(o,a),d.debug("current state",{ref:o,screenOffset:m});case 9:case"end":return i.stop()}}))};t.setupDrag=C;var g=function(e){var t=e[0],n=e[1],o=!1;return t<0?(t=0,o=!0):t+window.innerWidth>window.screen.availWidth&&(t=window.screen.availWidth-window.innerWidth,o=!0),n<0?(n=0,o=!0):n+window.innerHeight>window.screen.availHeight&&(n=window.screen.availHeight-window.innerHeight,o=!0),[o,[t,n]]};t.dragStartHandler=function(e){d.log("drag start"),s=!0,r=[window.screenLeft-e.screenX,window.screenTop-e.screenY],document.addEventListener("mousemove",v),document.addEventListener("mouseup",b),v(e)};var b=function y(e){d.log("drag end"),v(e),document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",y),s=!1},v=function(e){s&&(e.preventDefault(),h(o,(0,l.vecAdd)([e.screenX,e.screenY],m,r)))};t.resizeStartHandler=function(e,t){return function(n){a=[e,t],d.log("resize start",a),p=!0,r=[window.screenLeft-n.screenX,window.screenTop-n.screenY],i=[window.innerWidth,window.innerHeight],document.addEventListener("mousemove",V),document.addEventListener("mouseup",N),V(n)}};var N=function _(e){d.log("resize end",c),V(e),document.removeEventListener("mousemove",V),document.removeEventListener("mouseup",_),p=!1},V=function(e){p&&(e.preventDefault(),(c=(0,l.vecAdd)(i,(0,l.vecMultiply)(a,(0,l.vecAdd)([e.screenX,e.screenY],(0,l.vecInverse)([window.screenLeft,window.screenTop]),r,[1,1]))))[0]=Math.max(c[0],250),c[1]=Math.max(c[1],120),function(e,t){(0,u.winset)(e,"size",t[0]+","+t[1])}(o,c))}},function(e,t,n){"use strict";t.__esModule=!0,t.vecNormalize=t.vecLength=t.vecInverse=t.vecScale=t.vecDivide=t.vecMultiply=t.vecSubtract=t.vecAdd=t.vecCreate=void 0;var o=n(23);t.vecCreate=function(){for(var e=arguments.length,t=new Array(e),n=0;n35;return(0,o.createVNode)(1,"div",(0,r.classes)(["Tooltip",i&&"Tooltip--long",a&&"Tooltip--"+a]),null,1,{"data-tooltip":t})}},function(e,t,n){"use strict";t.__esModule=!0,t.Input=void 0;var o=n(1),r=n(12),a=n(17);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){return(0,r.isFalsy)(e)?"":e},l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={editing:!1},t.handleInput=function(e){var n=t.state.editing,o=t.props.onInput;n||t.setEditing(!0),o&&o(e,e.target.value)},t.handleFocus=function(e){t.state.editing||t.setEditing(!0)},t.handleBlur=function(e){var n=t.state.editing,o=t.props.onChange;n&&(t.setEditing(!1),o&&o(e,e.target.value))},t.handleKeyDown=function(e){var n=t.props,o=n.onInput,r=n.onChange,a=n.onEnter;return 13===e.keyCode?(t.setEditing(!1),r&&r(e,e.target.value),o&&o(e,e.target.value),a&&a(e,e.target.value),void(t.props.selfClear?e.target.value="":e.target.blur())):27===e.keyCode?(t.setEditing(!1),e.target.value=c(t.props.value),void e.target.blur()):void 0},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentDidMount=function(){var e=this.props.value,t=this.inputRef.current;t&&(t.value=c(e))},u.componentDidUpdate=function(e,t){var n=this.state.editing,o=e.value,r=this.props.value,a=this.inputRef.current;a&&!n&&o!==r&&(a.value=c(r))},u.setEditing=function(e){this.setState({editing:e})},u.render=function(){var e=this.props,t=(e.selfClear,e.onInput,e.onChange,e.onEnter,e.value,e.maxLength),n=e.placeholder,c=i(e,["selfClear","onInput","onChange","onEnter","value","maxLength","placeholder"]),l=c.className,u=c.fluid,d=i(c,["className","fluid"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Input",u&&"Input--fluid",l])},d,{children:[(0,o.createVNode)(1,"div","Input__baseline",".",16),(0,o.createVNode)(64,"input","Input__input",null,1,{placeholder:n,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,maxLength:t},null,this.inputRef)]})))},l}(o.Component);t.Input=l},function(e,t,n){"use strict";t.__esModule=!0,t.GridColumn=t.Grid=void 0;var o=n(1),r=n(162),a=n(12);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.children,n=i(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table,Object.assign({},n,{children:(0,o.createComponentVNode)(2,r.Table.Row,{children:t})})))};t.Grid=c,c.defaultHooks=a.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t,a=e.style,c=i(e,["size","style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table.Cell,Object.assign({style:Object.assign({width:n+"%"},a)},c)))};t.GridColumn=l,c.defaultHooks=a.pureComponentHooks,c.Column=l},function(e,t,n){"use strict";t.__esModule=!0,t.TableCell=t.TableRow=t.Table=void 0;var o=n(1),r=n(12),a=n(17);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.collapsing,n=e.className,c=e.content,l=e.children,u=i(e,["collapsing","className","content","children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"table",className:(0,r.classes)(["Table",t&&"Table--collapsing",n])},u,{children:(0,o.createVNode)(1,"tbody",null,[c,l],0)})))};t.Table=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.className,n=e.header,c=i(e,["className","header"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"tr",className:(0,r.classes)(["Table__row",n&&"Table__row--header",t])},c)))};t.TableRow=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.collapsing,c=e.header,l=i(e,["className","collapsing","header"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"td",className:(0,r.classes)(["Table__cell",n&&"Table__cell--collapsing",c&&"Table__cell--header",t])},l)))};t.TableCell=u,u.defaultHooks=r.pureComponentHooks,c.Row=l,c.Cell=u},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledListDivider=t.LabeledListItem=t.LabeledList=void 0;var o=n(1),r=n(12),a=n(17),i=function(e){var t=e.children;return(0,o.createVNode)(1,"table","LabeledList",t,0)};t.LabeledList=i,i.defaultHooks=r.pureComponentHooks;var c=function(e){var t=e.className,n=e.label,i=e.labelColor,c=void 0===i?"label":i,l=e.color,u=e.buttons,d=e.content,s=e.children;return(0,o.createVNode)(1,"tr",(0,r.classes)(["LabeledList__row",t]),[(0,o.createComponentVNode)(2,a.Box,{as:"td",color:c,className:(0,r.classes)(["LabeledList__cell","LabeledList__label"]),content:n+":"}),(0,o.createComponentVNode)(2,a.Box,{as:"td",color:l,className:(0,r.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:u?undefined:2,children:[d,s]}),u&&(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",u,0)],0)};t.LabeledListItem=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t;return(0,o.createVNode)(1,"tr","LabeledList__row",(0,o.createVNode)(1,"td",null,null,1,{style:{"padding-bottom":(0,a.unit)(n)}}),2)};t.LabeledListDivider=l,l.defaultHooks=r.pureComponentHooks,i.Item=c,i.Divider=l},function(e,t,n){n(165),n(166),n(167),n(168),n(169),n(170),e.exports=n(171)},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){"use strict";n(172),n(173),n(174),n(175),n(176),n(177),n(178),n(179),n(180),n(181),n(182),n(183),n(184),n(185),n(186),n(187),n(188),n(189),n(190),n(191),n(192),n(193),n(194),n(195),n(197),n(199),n(200),n(201),n(133),n(203),n(204),n(205),n(206),n(207),n(208),n(209),n(210),n(211),n(212),n(213),n(214),n(215),n(216),n(218),n(219),n(220),n(221),n(222),n(224),n(225),n(227),n(228),n(229),n(230),n(231),n(232),n(233),n(234),n(235),n(236),n(237),n(238),n(239),n(240),n(242),n(243),n(244),n(245),n(246),n(247),n(248),n(249),n(250),n(251),n(252),n(253),n(254),n(256),n(257),n(258),n(259),n(260),n(261),n(263),n(264),n(266),n(268),n(269),n(270),n(271),n(272),n(273),n(274),n(275),n(276),n(277),n(278),n(279),n(280),n(281),n(282),n(283),n(284),n(285),n(286),n(287),n(288),n(289),n(290),n(292),n(293),n(294),n(297),n(298),n(299),n(300),n(301),n(302),n(303),n(304),n(305),n(306),n(307),n(308),n(309),n(310),n(311),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),n(320),n(321),n(322),n(323),n(324),n(325),n(326),n(327),n(328),n(329),n(330),n(331),n(332),n(333),n(334),n(335),n(336),n(337),n(338),n(339),n(340),n(341),n(342),n(343),n(344),n(345),n(346),n(348),n(349),n(350),n(351),n(352),n(353),n(354),n(355),n(356),n(357),n(358),n(359),n(360),n(361),n(362),n(363),n(364),n(365),n(366),n(367),n(368),n(369),n(370),n(371),n(372),n(373),n(374),n(375),n(376),n(377),n(378),n(379),n(380),n(381),n(382),n(383),n(384),n(385);var o=n(1);n(387),n(388);var r=n(389),a=(n(154),n(3)),i=n(19),c=n(155),l=n(51),u=n(157),d=n(502),s=(0,l.createLogger)(),p=(0,d.createStore)(),m=document.getElementById("react-root"),f=!0,h=!1,C=function(){for(p.subscribe((function(){!function(){if(!h){0;try{var e=p.getState();if(f){if(s.log("initial render",e),!(0,u.getRoute)(e)){if(s.info("loading old tgui"),h=!0,window.update=window.initialize=function(){},i.tridentVersion<=4)return void setTimeout((function(){location.href="tgui-fallback.html?ref="+window.__ref__}),10);document.getElementById("data").textContent=JSON.stringify(e),(0,r.loadCSS)("v4shim.css"),(0,r.loadCSS)("tgui.css");var t=document.getElementsByTagName("head")[0],a=document.createElement("script");return a.type="text/javascript",a.src="tgui.js",void t.appendChild(a)}(0,c.setupDrag)(e)}var l=n(504).Layout,d=(0,o.createComponentVNode)(2,l,{state:e,dispatch:p.dispatch});(0,o.render)(d,m)}catch(C){s.error("rendering error",C)}f&&(f=!1)}}()})),window.update=window.initialize=function(e){var t=function(e){var t=function(e,t){return"object"==typeof t&&null!==t&&t.__number__?parseFloat(t.__number__):t};i.tridentVersion<=4&&(t=undefined);try{return JSON.parse(e,t)}catch(o){s.log(o),s.log("What we got:",e);var n=o&&o.message;throw new Error("JSON parsing error: "+n)}}(e);p.dispatch((0,a.backendUpdate)(t))};;){var e=window.__updateQueue__.shift();if(!e)break;window.update(e)}(0,r.loadCSS)("font-awesome.css")};i.tridentVersion<=4&&"loading"===document.readyState?document.addEventListener("DOMContentLoaded",C):C()},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(35),i=n(38),c=n(9),l=n(95),u=n(125),d=n(4),s=n(15),p=n(52),m=n(6),f=n(8),h=n(14),C=n(24),g=n(33),b=n(46),v=n(42),N=n(62),V=n(47),y=n(128),_=n(94),x=n(18),k=n(13),L=n(71),w=n(25),B=n(22),S=n(91),I=n(72),T=n(59),A=n(58),E=n(11),P=n(129),M=n(26),O=n(43),R=n(34),F=n(16).forEach,D=I("hidden"),j=E("toPrimitive"),z=R.set,H=R.getterFor("Symbol"),G=Object.prototype,U=r.Symbol,K=a("JSON","stringify"),Y=x.f,q=k.f,W=y.f,$=L.f,Q=S("symbols"),X=S("op-symbols"),J=S("string-to-symbol-registry"),Z=S("symbol-to-string-registry"),ee=S("wks"),te=r.QObject,ne=!te||!te.prototype||!te.prototype.findChild,oe=c&&d((function(){return 7!=v(q({},"a",{get:function(){return q(this,"a",{value:7}).a}})).a}))?function(e,t,n){var o=Y(G,t);o&&delete G[t],q(e,t,n),o&&e!==G&&q(G,t,o)}:q,re=function(e,t){var n=Q[e]=v(U.prototype);return z(n,{type:"Symbol",tag:e,description:t}),c||(n.description=t),n},ae=l&&"symbol"==typeof U.iterator?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof U},ie=function(e,t,n){e===G&&ie(X,t,n),f(e);var o=g(t,!0);return f(n),s(Q,o)?(n.enumerable?(s(e,D)&&e[D][o]&&(e[D][o]=!1),n=v(n,{enumerable:b(0,!1)})):(s(e,D)||q(e,D,b(1,{})),e[D][o]=!0),oe(e,o,n)):q(e,o,n)},ce=function(e,t){f(e);var n=C(t),o=N(n).concat(pe(n));return F(o,(function(t){c&&!ue.call(n,t)||ie(e,t,n[t])})),e},le=function(e,t){return t===undefined?v(e):ce(v(e),t)},ue=function(e){var t=g(e,!0),n=$.call(this,t);return!(this===G&&s(Q,t)&&!s(X,t))&&(!(n||!s(this,t)||!s(Q,t)||s(this,D)&&this[D][t])||n)},de=function(e,t){var n=C(e),o=g(t,!0);if(n!==G||!s(Q,o)||s(X,o)){var r=Y(n,o);return!r||!s(Q,o)||s(n,D)&&n[D][o]||(r.enumerable=!0),r}},se=function(e){var t=W(C(e)),n=[];return F(t,(function(e){s(Q,e)||s(T,e)||n.push(e)})),n},pe=function(e){var t=e===G,n=W(t?X:C(e)),o=[];return F(n,(function(e){!s(Q,e)||t&&!s(G,e)||o.push(Q[e])})),o};(l||(B((U=function(){if(this instanceof U)throw TypeError("Symbol is not a constructor");var e=arguments.length&&arguments[0]!==undefined?String(arguments[0]):undefined,t=A(e),n=function o(e){this===G&&o.call(X,e),s(this,D)&&s(this[D],t)&&(this[D][t]=!1),oe(this,t,b(1,e))};return c&&ne&&oe(G,t,{configurable:!0,set:n}),re(t,e)}).prototype,"toString",(function(){return H(this).tag})),L.f=ue,k.f=ie,x.f=de,V.f=y.f=se,_.f=pe,c&&(q(U.prototype,"description",{configurable:!0,get:function(){return H(this).description}}),i||B(G,"propertyIsEnumerable",ue,{unsafe:!0}))),u||(P.f=function(e){return re(E(e),e)}),o({global:!0,wrap:!0,forced:!l,sham:!l},{Symbol:U}),F(N(ee),(function(e){M(e)})),o({target:"Symbol",stat:!0,forced:!l},{"for":function(e){var t=String(e);if(s(J,t))return J[t];var n=U(t);return J[t]=n,Z[n]=t,n},keyFor:function(e){if(!ae(e))throw TypeError(e+" is not a symbol");if(s(Z,e))return Z[e]},useSetter:function(){ne=!0},useSimple:function(){ne=!1}}),o({target:"Object",stat:!0,forced:!l,sham:!c},{create:le,defineProperty:ie,defineProperties:ce,getOwnPropertyDescriptor:de}),o({target:"Object",stat:!0,forced:!l},{getOwnPropertyNames:se,getOwnPropertySymbols:pe}),o({target:"Object",stat:!0,forced:d((function(){_.f(1)}))},{getOwnPropertySymbols:function(e){return _.f(h(e))}}),K)&&o({target:"JSON",stat:!0,forced:!l||d((function(){var e=U();return"[null]"!=K([e])||"{}"!=K({a:e})||"{}"!=K(Object(e))}))},{stringify:function(e,t,n){for(var o,r=[e],a=1;arguments.length>a;)r.push(arguments[a++]);if(o=t,(m(t)||e!==undefined)&&!ae(e))return p(t)||(t=function(e,t){if("function"==typeof o&&(t=o.call(this,e,t)),!ae(t))return t}),r[1]=t,K.apply(null,r)}});U.prototype[j]||w(U.prototype,j,U.prototype.valueOf),O(U,"Symbol"),T[D]=!0},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(5),i=n(15),c=n(6),l=n(13).f,u=n(122),d=a.Symbol;if(r&&"function"==typeof d&&(!("description"in d.prototype)||d().description!==undefined)){var s={},p=function(){var e=arguments.length<1||arguments[0]===undefined?undefined:String(arguments[0]),t=this instanceof p?new d(e):e===undefined?d():d(e);return""===e&&(s[t]=!0),t};u(p,d);var m=p.prototype=d.prototype;m.constructor=p;var f=m.toString,h="Symbol(test)"==String(d("test")),C=/^Symbol\((.*)\)[^)]+$/;l(m,"description",{configurable:!0,get:function(){var e=c(this)?this.valueOf():this,t=f.call(e);if(i(s,e))return"";var n=h?t.slice(7,-1):t.replace(C,"$1");return""===n?undefined:n}}),o({global:!0,forced:!0},{Symbol:p})}},function(e,t,n){"use strict";n(26)("asyncIterator")},function(e,t,n){"use strict";n(26)("hasInstance")},function(e,t,n){"use strict";n(26)("isConcatSpreadable")},function(e,t,n){"use strict";n(26)("iterator")},function(e,t,n){"use strict";n(26)("match")},function(e,t,n){"use strict";n(26)("replace")},function(e,t,n){"use strict";n(26)("search")},function(e,t,n){"use strict";n(26)("species")},function(e,t,n){"use strict";n(26)("split")},function(e,t,n){"use strict";n(26)("toPrimitive")},function(e,t,n){"use strict";n(26)("toStringTag")},function(e,t,n){"use strict";n(26)("unscopables")},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(52),i=n(6),c=n(14),l=n(10),u=n(49),d=n(63),s=n(64),p=n(11),m=n(96),f=p("isConcatSpreadable"),h=9007199254740991,C="Maximum allowed index exceeded",g=m>=51||!r((function(){var e=[];return e[f]=!1,e.concat()[0]!==e})),b=s("concat"),v=function(e){if(!i(e))return!1;var t=e[f];return t!==undefined?!!t:a(e)};o({target:"Array",proto:!0,forced:!g||!b},{concat:function(e){var t,n,o,r,a,i=c(this),s=d(i,0),p=0;for(t=-1,o=arguments.length;th)throw TypeError(C);for(n=0;n=h)throw TypeError(C);u(s,p++,a)}return s.length=p,s}})},function(e,t,n){"use strict";var o=n(0),r=n(130),a=n(44);o({target:"Array",proto:!0},{copyWithin:r}),a("copyWithin")},function(e,t,n){"use strict";var o=n(0),r=n(16).every;o({target:"Array",proto:!0,forced:n(39)("every")},{every:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(97),a=n(44);o({target:"Array",proto:!0},{fill:r}),a("fill")},function(e,t,n){"use strict";var o=n(0),r=n(16).filter,a=n(4),i=n(64)("filter"),c=i&&!a((function(){[].filter.call({length:-1,0:1},(function(e){throw e}))}));o({target:"Array",proto:!0,forced:!i||!c},{filter:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(16).find,a=n(44),i=!0;"find"in[]&&Array(1).find((function(){i=!1})),o({target:"Array",proto:!0,forced:i},{find:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("find")},function(e,t,n){"use strict";var o=n(0),r=n(16).findIndex,a=n(44),i=!0;"findIndex"in[]&&Array(1).findIndex((function(){i=!1})),o({target:"Array",proto:!0,forced:i},{findIndex:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("findIndex")},function(e,t,n){"use strict";var o=n(0),r=n(131),a=n(14),i=n(10),c=n(30),l=n(63);o({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:undefined,t=a(this),n=i(t.length),o=l(t,0);return o.length=r(o,t,t,n,0,e===undefined?1:c(e)),o}})},function(e,t,n){"use strict";var o=n(0),r=n(131),a=n(14),i=n(10),c=n(31),l=n(63);o({target:"Array",proto:!0},{flatMap:function(e){var t,n=a(this),o=i(n.length);return c(e),(t=l(n,0)).length=r(t,n,n,o,0,1,e,arguments.length>1?arguments[1]:undefined),t}})},function(e,t,n){"use strict";var o=n(0),r=n(196);o({target:"Array",proto:!0,forced:[].forEach!=r},{forEach:r})},function(e,t,n){"use strict";var o=n(16).forEach,r=n(39);e.exports=r("forEach")?function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}:[].forEach},function(e,t,n){"use strict";var o=n(0),r=n(198);o({target:"Array",stat:!0,forced:!n(75)((function(e){Array.from(e)}))},{from:r})},function(e,t,n){"use strict";var o=n(48),r=n(14),a=n(132),i=n(98),c=n(10),l=n(49),u=n(99);e.exports=function(e){var t,n,d,s,p,m=r(e),f="function"==typeof this?this:Array,h=arguments.length,C=h>1?arguments[1]:undefined,g=C!==undefined,b=0,v=u(m);if(g&&(C=o(C,h>2?arguments[2]:undefined,2)),v==undefined||f==Array&&i(v))for(n=new f(t=c(m.length));t>b;b++)l(n,b,g?C(m[b],b):m[b]);else for(p=(s=v.call(m)).next,n=new f;!(d=p.call(s)).done;b++)l(n,b,g?a(s,C,[d.value,b],!0):d.value);return n.length=b,n}},function(e,t,n){"use strict";var o=n(0),r=n(60).includes,a=n(44);o({target:"Array",proto:!0},{includes:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("includes")},function(e,t,n){"use strict";var o=n(0),r=n(60).indexOf,a=n(39),i=[].indexOf,c=!!i&&1/[1].indexOf(1,-0)<0,l=a("indexOf");o({target:"Array",proto:!0,forced:c||l},{indexOf:function(e){return c?i.apply(this,arguments)||0:r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";n(0)({target:"Array",stat:!0},{isArray:n(52)})},function(e,t,n){"use strict";var o=n(134).IteratorPrototype,r=n(42),a=n(46),i=n(43),c=n(65),l=function(){return this};e.exports=function(e,t,n){var u=t+" Iterator";return e.prototype=r(o,{next:a(1,n)}),i(e,u,!1,!0),c[u]=l,e}},function(e,t,n){"use strict";var o=n(0),r=n(57),a=n(24),i=n(39),c=[].join,l=r!=Object,u=i("join",",");o({target:"Array",proto:!0,forced:l||u},{join:function(e){return c.call(a(this),e===undefined?",":e)}})},function(e,t,n){"use strict";var o=n(0),r=n(136);o({target:"Array",proto:!0,forced:r!==[].lastIndexOf},{lastIndexOf:r})},function(e,t,n){"use strict";var o=n(0),r=n(16).map,a=n(4),i=n(64)("map"),c=i&&!a((function(){[].map.call({length:-1,0:1},(function(e){throw e}))}));o({target:"Array",proto:!0,forced:!i||!c},{map:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(49);o({target:"Array",stat:!0,forced:r((function(){function e(){}return!(Array.of.call(e)instanceof e)}))},{of:function(){for(var e=0,t=arguments.length,n=new("function"==typeof this?this:Array)(t);t>e;)a(n,e,arguments[e++]);return n.length=t,n}})},function(e,t,n){"use strict";var o=n(0),r=n(76).left;o({target:"Array",proto:!0,forced:n(39)("reduce")},{reduce:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(76).right;o({target:"Array",proto:!0,forced:n(39)("reduceRight")},{reduceRight:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(52),i=n(41),c=n(10),l=n(24),u=n(49),d=n(64),s=n(11)("species"),p=[].slice,m=Math.max;o({target:"Array",proto:!0,forced:!d("slice")},{slice:function(e,t){var n,o,d,f=l(this),h=c(f.length),C=i(e,h),g=i(t===undefined?h:t,h);if(a(f)&&("function"!=typeof(n=f.constructor)||n!==Array&&!a(n.prototype)?r(n)&&null===(n=n[s])&&(n=undefined):n=undefined,n===Array||n===undefined))return p.call(f,C,g);for(o=new(n===undefined?Array:n)(m(g-C,0)),d=0;C1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(31),a=n(14),i=n(4),c=n(39),l=[],u=l.sort,d=i((function(){l.sort(undefined)})),s=i((function(){l.sort(null)})),p=c("sort");o({target:"Array",proto:!0,forced:d||!s||p},{sort:function(e){return e===undefined?u.call(a(this)):u.call(a(this),r(e))}})},function(e,t,n){"use strict";n(54)("Array")},function(e,t,n){"use strict";var o=n(0),r=n(41),a=n(30),i=n(10),c=n(14),l=n(63),u=n(49),d=n(64),s=Math.max,p=Math.min,m=9007199254740991,f="Maximum allowed length exceeded";o({target:"Array",proto:!0,forced:!d("splice")},{splice:function(e,t){var n,o,d,h,C,g,b=c(this),v=i(b.length),N=r(e,v),V=arguments.length;if(0===V?n=o=0:1===V?(n=0,o=v-N):(n=V-2,o=p(s(a(t),0),v-N)),v+n-o>m)throw TypeError(f);for(d=l(b,o),h=0;hv-o+n;h--)delete b[h-1]}else if(n>o)for(h=v-o;h>N;h--)g=h+n-1,(C=h+o-1)in b?b[g]=b[C]:delete b[g];for(h=0;h>1,h=23===t?r(2,-24)-r(2,-77):0,C=e<0||0===e&&1/e<0?1:0,g=0;for((e=o(e))!=e||e===1/0?(u=e!=e?1:0,l=m):(l=a(i(e)/c),e*(d=r(2,-l))<1&&(l--,d*=2),(e+=l+f>=1?h/d:h*r(2,1-f))*d>=2&&(l++,d/=2),l+f>=m?(u=0,l=m):l+f>=1?(u=(e*d-1)*r(2,t),l+=f):(u=e*r(2,f-1)*r(2,t),l=0));t>=8;s[g++]=255&u,u/=256,t-=8);for(l=l<0;s[g++]=255&l,l/=256,p-=8);return s[--g]|=128*C,s},unpack:function(e,t){var n,o=e.length,a=8*o-t-1,i=(1<>1,l=a-7,u=o-1,d=e[u--],s=127&d;for(d>>=7;l>0;s=256*s+e[u],u--,l-=8);for(n=s&(1<<-l)-1,s>>=-l,l+=t;l>0;n=256*n+e[u],u--,l-=8);if(0===s)s=1-c;else{if(s===i)return n?NaN:d?-1/0:1/0;n+=r(2,t),s-=c}return(d?-1:1)*n*r(2,s-t)}}},function(e,t,n){"use strict";var o=n(0),r=n(7);o({target:"ArrayBuffer",stat:!0,forced:!r.NATIVE_ARRAY_BUFFER_VIEWS},{isView:r.isView})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(77),i=n(8),c=n(41),l=n(10),u=n(45),d=a.ArrayBuffer,s=a.DataView,p=d.prototype.slice;o({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:r((function(){return!new d(2).slice(1,undefined).byteLength}))},{slice:function(e,t){if(p!==undefined&&t===undefined)return p.call(i(this),e);for(var n=i(this).byteLength,o=c(e,n),r=c(t===undefined?n:t,n),a=new(u(this,d))(l(r-o)),m=new s(this),f=new s(a),h=0;o9999?"+":"";return n+r(a(e),n?6:4,0)+"-"+r(this.getUTCMonth()+1,2,0)+"-"+r(this.getUTCDate(),2,0)+"T"+r(this.getUTCHours(),2,0)+":"+r(this.getUTCMinutes(),2,0)+":"+r(this.getUTCSeconds(),2,0)+"."+r(t,3,0)+"Z"}:l},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(14),i=n(33);o({target:"Date",proto:!0,forced:r((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}))},{toJSON:function(e){var t=a(this),n=i(t);return"number"!=typeof n||isFinite(n)?t.toISOString():null}})},function(e,t,n){"use strict";var o=n(25),r=n(226),a=n(11)("toPrimitive"),i=Date.prototype;a in i||o(i,a,r)},function(e,t,n){"use strict";var o=n(8),r=n(33);e.exports=function(e){if("string"!==e&&"number"!==e&&"default"!==e)throw TypeError("Incorrect hint");return r(o(this),"number"!==e)}},function(e,t,n){"use strict";var o=n(22),r=Date.prototype,a="Invalid Date",i=r.toString,c=r.getTime;new Date(NaN)+""!=a&&o(r,"toString",(function(){var e=c.call(this);return e==e?i.call(this):a}))},function(e,t,n){"use strict";n(0)({target:"Function",proto:!0},{bind:n(138)})},function(e,t,n){"use strict";var o=n(6),r=n(13),a=n(36),i=n(11)("hasInstance"),c=Function.prototype;i in c||r.f(c,i,{value:function(e){if("function"!=typeof this||!o(e))return!1;if(!o(this.prototype))return e instanceof this;for(;e=a(e);)if(this.prototype===e)return!0;return!1}})},function(e,t,n){"use strict";var o=n(9),r=n(13).f,a=Function.prototype,i=a.toString,c=/^\s*function ([^ (]*)/;!o||"name"in a||r(a,"name",{configurable:!0,get:function(){try{return i.call(this).match(c)[1]}catch(e){return""}}})},function(e,t,n){"use strict";var o=n(5);n(43)(o.JSON,"JSON",!0)},function(e,t,n){"use strict";var o=n(78),r=n(139);e.exports=o("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),r)},function(e,t,n){"use strict";var o=n(0),r=n(140),a=Math.acosh,i=Math.log,c=Math.sqrt,l=Math.LN2;o({target:"Math",stat:!0,forced:!a||710!=Math.floor(a(Number.MAX_VALUE))||a(Infinity)!=Infinity},{acosh:function(e){return(e=+e)<1?NaN:e>94906265.62425156?i(e)+l:r(e-1+c(e-1)*c(e+1))}})},function(e,t,n){"use strict";var o=n(0),r=Math.asinh,a=Math.log,i=Math.sqrt;o({target:"Math",stat:!0,forced:!(r&&1/r(0)>0)},{asinh:function c(e){return isFinite(e=+e)&&0!=e?e<0?-c(-e):a(e+i(e*e+1)):e}})},function(e,t,n){"use strict";var o=n(0),r=Math.atanh,a=Math.log;o({target:"Math",stat:!0,forced:!(r&&1/r(-0)<0)},{atanh:function(e){return 0==(e=+e)?e:a((1+e)/(1-e))/2}})},function(e,t,n){"use strict";var o=n(0),r=n(105),a=Math.abs,i=Math.pow;o({target:"Math",stat:!0},{cbrt:function(e){return r(e=+e)*i(a(e),1/3)}})},function(e,t,n){"use strict";var o=n(0),r=Math.floor,a=Math.log,i=Math.LOG2E;o({target:"Math",stat:!0},{clz32:function(e){return(e>>>=0)?31-r(a(e+.5)*i):32}})},function(e,t,n){"use strict";var o=n(0),r=n(80),a=Math.cosh,i=Math.abs,c=Math.E;o({target:"Math",stat:!0,forced:!a||a(710)===Infinity},{cosh:function(e){var t=r(i(e)-1)+1;return(t+1/(t*c*c))*(c/2)}})},function(e,t,n){"use strict";var o=n(0),r=n(80);o({target:"Math",stat:!0,forced:r!=Math.expm1},{expm1:r})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{fround:n(241)})},function(e,t,n){"use strict";var o=n(105),r=Math.abs,a=Math.pow,i=a(2,-52),c=a(2,-23),l=a(2,127)*(2-c),u=a(2,-126),d=function(e){return e+1/i-1/i};e.exports=Math.fround||function(e){var t,n,a=r(e),s=o(e);return al||n!=n?s*Infinity:s*n}},function(e,t,n){"use strict";var o=n(0),r=Math.hypot,a=Math.abs,i=Math.sqrt;o({target:"Math",stat:!0,forced:!!r&&r(Infinity,NaN)!==Infinity},{hypot:function(e,t){for(var n,o,r=0,c=0,l=arguments.length,u=0;c0?(o=n/u)*o:n;return u===Infinity?Infinity:u*i(r)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=Math.imul;o({target:"Math",stat:!0,forced:r((function(){return-5!=a(4294967295,5)||2!=a.length}))},{imul:function(e,t){var n=+e,o=+t,r=65535&n,a=65535&o;return 0|r*a+((65535&n>>>16)*a+r*(65535&o>>>16)<<16>>>0)}})},function(e,t,n){"use strict";var o=n(0),r=Math.log,a=Math.LOG10E;o({target:"Math",stat:!0},{log10:function(e){return r(e)*a}})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{log1p:n(140)})},function(e,t,n){"use strict";var o=n(0),r=Math.log,a=Math.LN2;o({target:"Math",stat:!0},{log2:function(e){return r(e)/a}})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{sign:n(105)})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(80),i=Math.abs,c=Math.exp,l=Math.E;o({target:"Math",stat:!0,forced:r((function(){return-2e-17!=Math.sinh(-2e-17)}))},{sinh:function(e){return i(e=+e)<1?(a(e)-a(-e))/2:(c(e-1)-c(-e-1))*(l/2)}})},function(e,t,n){"use strict";var o=n(0),r=n(80),a=Math.exp;o({target:"Math",stat:!0},{tanh:function(e){var t=r(e=+e),n=r(-e);return t==Infinity?1:n==Infinity?-1:(t-n)/(a(e)+a(-e))}})},function(e,t,n){"use strict";n(43)(Math,"Math",!0)},function(e,t,n){"use strict";var o=n(0),r=Math.ceil,a=Math.floor;o({target:"Math",stat:!0},{trunc:function(e){return(e>0?a:r)(e)}})},function(e,t,n){"use strict";var o=n(9),r=n(5),a=n(61),i=n(22),c=n(15),l=n(32),u=n(79),d=n(33),s=n(4),p=n(42),m=n(47).f,f=n(18).f,h=n(13).f,C=n(56).trim,g="Number",b=r[g],v=b.prototype,N=l(p(v))==g,V=function(e){var t,n,o,r,a,i,c,l,u=d(e,!1);if("string"==typeof u&&u.length>2)if(43===(t=(u=C(u)).charCodeAt(0))||45===t){if(88===(n=u.charCodeAt(2))||120===n)return NaN}else if(48===t){switch(u.charCodeAt(1)){case 66:case 98:o=2,r=49;break;case 79:case 111:o=8,r=55;break;default:return+u}for(i=(a=u.slice(2)).length,c=0;cr)return NaN;return parseInt(a,o)}return+u};if(a(g,!b(" 0o1")||!b("0b1")||b("+0x1"))){for(var y,_=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof _&&(N?s((function(){v.valueOf.call(n)})):l(n)!=g)?u(new b(V(t)),n,_):V(t)},x=o?m(b):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),k=0;x.length>k;k++)c(b,y=x[k])&&!c(_,y)&&h(_,y,f(b,y));_.prototype=v,v.constructor=_,i(r,g,_)}},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isFinite:n(255)})},function(e,t,n){"use strict";var o=n(5).isFinite;e.exports=Number.isFinite||function(e){return"number"==typeof e&&o(e)}},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isInteger:n(141)})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isNaN:function(e){return e!=e}})},function(e,t,n){"use strict";var o=n(0),r=n(141),a=Math.abs;o({target:"Number",stat:!0},{isSafeInteger:function(e){return r(e)&&a(e)<=9007199254740991}})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(e,t,n){"use strict";var o=n(0),r=n(262);o({target:"Number",stat:!0,forced:Number.parseFloat!=r},{parseFloat:r})},function(e,t,n){"use strict";var o=n(5),r=n(56).trim,a=n(81),i=o.parseFloat,c=1/i(a+"-0")!=-Infinity;e.exports=c?function(e){var t=r(String(e)),n=i(t);return 0===n&&"-"==t.charAt(0)?-0:n}:i},function(e,t,n){"use strict";var o=n(0),r=n(142);o({target:"Number",stat:!0,forced:Number.parseInt!=r},{parseInt:r})},function(e,t,n){"use strict";var o=n(0),r=n(30),a=n(265),i=n(104),c=n(4),l=1..toFixed,u=Math.floor,d=function p(e,t,n){return 0===t?n:t%2==1?p(e,t-1,n*e):p(e*e,t/2,n)},s=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t};o({target:"Number",proto:!0,forced:l&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!c((function(){l.call({})}))},{toFixed:function(e){var t,n,o,c,l=a(this),p=r(e),m=[0,0,0,0,0,0],f="",h="0",C=function(e,t){for(var n=-1,o=t;++n<6;)o+=e*m[n],m[n]=o%1e7,o=u(o/1e7)},g=function(e){for(var t=6,n=0;--t>=0;)n+=m[t],m[t]=u(n/e),n=n%e*1e7},b=function(){for(var e=6,t="";--e>=0;)if(""!==t||0===e||0!==m[e]){var n=String(m[e]);t=""===t?n:t+i.call("0",7-n.length)+n}return t};if(p<0||p>20)throw RangeError("Incorrect fraction digits");if(l!=l)return"NaN";if(l<=-1e21||l>=1e21)return String(l);if(l<0&&(f="-",l=-l),l>1e-21)if(n=(t=s(l*d(2,69,1))-69)<0?l*d(2,-t,1):l/d(2,t,1),n*=4503599627370496,(t=52-t)>0){for(C(0,n),o=p;o>=7;)C(1e7,0),o-=7;for(C(d(10,o,1),0),o=t-1;o>=23;)g(1<<23),o-=23;g(1<0?f+((c=h.length)<=p?"0."+i.call("0",p-c)+h:h.slice(0,c-p)+"."+h.slice(c-p)):f+h}})},function(e,t,n){"use strict";var o=n(32);e.exports=function(e){if("number"!=typeof e&&"Number"!=o(e))throw TypeError("Incorrect invocation");return+e}},function(e,t,n){"use strict";var o=n(0),r=n(267);o({target:"Object",stat:!0,forced:Object.assign!==r},{assign:r})},function(e,t,n){"use strict";var o=n(9),r=n(4),a=n(62),i=n(94),c=n(71),l=n(14),u=n(57),d=Object.assign,s=Object.defineProperty;e.exports=!d||r((function(){if(o&&1!==d({b:1},d(s({},"a",{enumerable:!0,get:function(){s(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol();return e[n]=7,"abcdefghijklmnopqrst".split("").forEach((function(e){t[e]=e})),7!=d({},e)[n]||"abcdefghijklmnopqrst"!=a(d({},t)).join("")}))?function(e,t){for(var n=l(e),r=arguments.length,d=1,s=i.f,p=c.f;r>d;)for(var m,f=u(arguments[d++]),h=s?a(f).concat(s(f)):a(f),C=h.length,g=0;C>g;)m=h[g++],o&&!p.call(f,m)||(n[m]=f[m]);return n}:d},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0,sham:!n(9)},{create:n(42)})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(31),l=n(13);r&&o({target:"Object",proto:!0,forced:a},{__defineGetter__:function(e,t){l.f(i(this),e,{get:c(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var o=n(0),r=n(9);o({target:"Object",stat:!0,forced:!r,sham:!r},{defineProperties:n(126)})},function(e,t,n){"use strict";var o=n(0),r=n(9);o({target:"Object",stat:!0,forced:!r,sham:!r},{defineProperty:n(13).f})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(31),l=n(13);r&&o({target:"Object",proto:!0,forced:a},{__defineSetter__:function(e,t){l.f(i(this),e,{set:c(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var o=n(0),r=n(143).entries;o({target:"Object",stat:!0},{entries:function(e){return r(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(67),a=n(4),i=n(6),c=n(50).onFreeze,l=Object.freeze;o({target:"Object",stat:!0,forced:a((function(){l(1)})),sham:!r},{freeze:function(e){return l&&i(e)?l(c(e)):e}})},function(e,t,n){"use strict";var o=n(0),r=n(68),a=n(49);o({target:"Object",stat:!0},{fromEntries:function(e){var t={};return r(e,(function(e,n){a(t,e,n)}),undefined,!0),t}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(24),i=n(18).f,c=n(9),l=r((function(){i(1)}));o({target:"Object",stat:!0,forced:!c||l,sham:!c},{getOwnPropertyDescriptor:function(e,t){return i(a(e),t)}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(92),i=n(24),c=n(18),l=n(49);o({target:"Object",stat:!0,sham:!r},{getOwnPropertyDescriptors:function(e){for(var t,n,o=i(e),r=c.f,u=a(o),d={},s=0;u.length>s;)(n=r(o,t=u[s++]))!==undefined&&l(d,t,n);return d}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(128).f;o({target:"Object",stat:!0,forced:r((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:a})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(14),i=n(36),c=n(102);o({target:"Object",stat:!0,forced:r((function(){i(1)})),sham:!c},{getPrototypeOf:function(e){return i(a(e))}})},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0},{is:n(144)})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isExtensible;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isExtensible:function(e){return!!a(e)&&(!i||i(e))}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isFrozen;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isFrozen:function(e){return!a(e)||!!i&&i(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isSealed;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isSealed:function(e){return!a(e)||!!i&&i(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(14),a=n(62);o({target:"Object",stat:!0,forced:n(4)((function(){a(1)}))},{keys:function(e){return a(r(e))}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(33),l=n(36),u=n(18).f;r&&o({target:"Object",proto:!0,forced:a},{__lookupGetter__:function(e){var t,n=i(this),o=c(e,!0);do{if(t=u(n,o))return t.get}while(n=l(n))}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(33),l=n(36),u=n(18).f;r&&o({target:"Object",proto:!0,forced:a},{__lookupSetter__:function(e){var t,n=i(this),o=c(e,!0);do{if(t=u(n,o))return t.set}while(n=l(n))}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(50).onFreeze,i=n(67),c=n(4),l=Object.preventExtensions;o({target:"Object",stat:!0,forced:c((function(){l(1)})),sham:!i},{preventExtensions:function(e){return l&&r(e)?l(a(e)):e}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(50).onFreeze,i=n(67),c=n(4),l=Object.seal;o({target:"Object",stat:!0,forced:c((function(){l(1)})),sham:!i},{seal:function(e){return l&&r(e)?l(a(e)):e}})},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0},{setPrototypeOf:n(53)})},function(e,t,n){"use strict";var o=n(100),r=n(22),a=n(291);o||r(Object.prototype,"toString",a,{unsafe:!0})},function(e,t,n){"use strict";var o=n(100),r=n(74);e.exports=o?{}.toString:function(){return"[object "+r(this)+"]"}},function(e,t,n){"use strict";var o=n(0),r=n(143).values;o({target:"Object",stat:!0},{values:function(e){return r(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(142);o({global:!0,forced:parseInt!=r},{parseInt:r})},function(e,t,n){"use strict";var o,r,a,i,c=n(0),l=n(38),u=n(5),d=n(35),s=n(145),p=n(22),m=n(66),f=n(43),h=n(54),C=n(6),g=n(31),b=n(55),v=n(32),N=n(90),V=n(68),y=n(75),_=n(45),x=n(106).set,k=n(147),L=n(148),w=n(295),B=n(149),S=n(296),I=n(34),T=n(61),A=n(11),E=n(96),P=A("species"),M="Promise",O=I.get,R=I.set,F=I.getterFor(M),D=s,j=u.TypeError,z=u.document,H=u.process,G=d("fetch"),U=B.f,K=U,Y="process"==v(H),q=!!(z&&z.createEvent&&u.dispatchEvent),W=0,$=T(M,(function(){if(!(N(D)!==String(D))){if(66===E)return!0;if(!Y&&"function"!=typeof PromiseRejectionEvent)return!0}if(l&&!D.prototype["finally"])return!0;if(E>=51&&/native code/.test(D))return!1;var e=D.resolve(1),t=function(e){e((function(){}),(function(){}))};return(e.constructor={})[P]=t,!(e.then((function(){}))instanceof t)})),Q=$||!y((function(e){D.all(e)["catch"]((function(){}))})),X=function(e){var t;return!(!C(e)||"function"!=typeof(t=e.then))&&t},J=function(e,t,n){if(!t.notified){t.notified=!0;var o=t.reactions;k((function(){for(var r=t.value,a=1==t.state,i=0;o.length>i;){var c,l,u,d=o[i++],s=a?d.ok:d.fail,p=d.resolve,m=d.reject,f=d.domain;try{s?(a||(2===t.rejection&&ne(e,t),t.rejection=1),!0===s?c=r:(f&&f.enter(),c=s(r),f&&(f.exit(),u=!0)),c===d.promise?m(j("Promise-chain cycle")):(l=X(c))?l.call(c,p,m):p(c)):m(r)}catch(h){f&&!u&&f.exit(),m(h)}}t.reactions=[],t.notified=!1,n&&!t.rejection&&ee(e,t)}))}},Z=function(e,t,n){var o,r;q?((o=z.createEvent("Event")).promise=t,o.reason=n,o.initEvent(e,!1,!0),u.dispatchEvent(o)):o={promise:t,reason:n},(r=u["on"+e])?r(o):"unhandledrejection"===e&&w("Unhandled promise rejection",n)},ee=function(e,t){x.call(u,(function(){var n,o=t.value;if(te(t)&&(n=S((function(){Y?H.emit("unhandledRejection",o,e):Z("unhandledrejection",e,o)})),t.rejection=Y||te(t)?2:1,n.error))throw n.value}))},te=function(e){return 1!==e.rejection&&!e.parent},ne=function(e,t){x.call(u,(function(){Y?H.emit("rejectionHandled",e):Z("rejectionhandled",e,t.value)}))},oe=function(e,t,n,o){return function(r){e(t,n,r,o)}},re=function(e,t,n,o){t.done||(t.done=!0,o&&(t=o),t.value=n,t.state=2,J(e,t,!0))},ae=function ie(e,t,n,o){if(!t.done){t.done=!0,o&&(t=o);try{if(e===n)throw j("Promise can't be resolved itself");var r=X(n);r?k((function(){var o={done:!1};try{r.call(n,oe(ie,e,o,t),oe(re,e,o,t))}catch(a){re(e,o,a,t)}})):(t.value=n,t.state=1,J(e,t,!1))}catch(a){re(e,{done:!1},a,t)}}};$&&(D=function(e){b(this,D,M),g(e),o.call(this);var t=O(this);try{e(oe(ae,this,t),oe(re,this,t))}catch(n){re(this,t,n)}},(o=function(e){R(this,{type:M,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:W,value:undefined})}).prototype=m(D.prototype,{then:function(e,t){var n=F(this),o=U(_(this,D));return o.ok="function"!=typeof e||e,o.fail="function"==typeof t&&t,o.domain=Y?H.domain:undefined,n.parent=!0,n.reactions.push(o),n.state!=W&&J(this,n,!1),o.promise},"catch":function(e){return this.then(undefined,e)}}),r=function(){var e=new o,t=O(e);this.promise=e,this.resolve=oe(ae,e,t),this.reject=oe(re,e,t)},B.f=U=function(e){return e===D||e===a?new r(e):K(e)},l||"function"!=typeof s||(i=s.prototype.then,p(s.prototype,"then",(function(e,t){var n=this;return new D((function(e,t){i.call(n,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof G&&c({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return L(D,G.apply(u,arguments))}}))),c({global:!0,wrap:!0,forced:$},{Promise:D}),f(D,M,!1,!0),h(M),a=d(M),c({target:M,stat:!0,forced:$},{reject:function(e){var t=U(this);return t.reject.call(undefined,e),t.promise}}),c({target:M,stat:!0,forced:l||$},{resolve:function(e){return L(l&&this===a?D:this,e)}}),c({target:M,stat:!0,forced:Q},{all:function(e){var t=this,n=U(t),o=n.resolve,r=n.reject,a=S((function(){var n=g(t.resolve),a=[],i=0,c=1;V(e,(function(e){var l=i++,u=!1;a.push(undefined),c++,n.call(t,e).then((function(e){u||(u=!0,a[l]=e,--c||o(a))}),r)})),--c||o(a)}));return a.error&&r(a.value),n.promise},race:function(e){var t=this,n=U(t),o=n.reject,r=S((function(){var r=g(t.resolve);V(e,(function(e){r.call(t,e).then(n.resolve,o)}))}));return r.error&&o(r.value),n.promise}})},function(e,t,n){"use strict";var o=n(5);e.exports=function(e,t){var n=o.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))}},function(e,t,n){"use strict";e.exports=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}}},function(e,t,n){"use strict";var o=n(0),r=n(38),a=n(145),i=n(4),c=n(35),l=n(45),u=n(148),d=n(22);o({target:"Promise",proto:!0,real:!0,forced:!!a&&i((function(){a.prototype["finally"].call({then:function(){}},(function(){}))}))},{"finally":function(e){var t=l(this,c("Promise")),n="function"==typeof e;return this.then(n?function(n){return u(t,e()).then((function(){return n}))}:e,n?function(n){return u(t,e()).then((function(){throw n}))}:e)}}),r||"function"!=typeof a||a.prototype["finally"]||d(a.prototype,"finally",c("Promise").prototype["finally"])},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(31),i=n(8),c=n(4),l=r("Reflect","apply"),u=Function.apply;o({target:"Reflect",stat:!0,forced:!c((function(){l((function(){}))}))},{apply:function(e,t,n){return a(e),i(n),l?l(e,t,n):u.call(e,t,n)}})},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(31),i=n(8),c=n(6),l=n(42),u=n(138),d=n(4),s=r("Reflect","construct"),p=d((function(){function e(){}return!(s((function(){}),[],e)instanceof e)})),m=!d((function(){s((function(){}))})),f=p||m;o({target:"Reflect",stat:!0,forced:f,sham:f},{construct:function(e,t){a(e),i(t);var n=arguments.length<3?e:a(arguments[2]);if(m&&!p)return s(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var o=[null];return o.push.apply(o,t),new(u.apply(e,o))}var r=n.prototype,d=l(c(r)?r:Object.prototype),f=Function.apply.call(e,d,t);return c(f)?f:d}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(8),i=n(33),c=n(13);o({target:"Reflect",stat:!0,forced:n(4)((function(){Reflect.defineProperty(c.f({},1,{value:1}),1,{value:2})})),sham:!r},{defineProperty:function(e,t,n){a(e);var o=i(t,!0);a(n);try{return c.f(e,o,n),!0}catch(r){return!1}}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(18).f;o({target:"Reflect",stat:!0},{deleteProperty:function(e,t){var n=a(r(e),t);return!(n&&!n.configurable)&&delete e[t]}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(8),i=n(15),c=n(18),l=n(36);o({target:"Reflect",stat:!0},{get:function u(e,t){var n,o,d=arguments.length<3?e:arguments[2];return a(e)===d?e[t]:(n=c.f(e,t))?i(n,"value")?n.value:n.get===undefined?undefined:n.get.call(d):r(o=l(e))?u(o,t,d):void 0}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(8),i=n(18);o({target:"Reflect",stat:!0,sham:!r},{getOwnPropertyDescriptor:function(e,t){return i.f(a(e),t)}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(36);o({target:"Reflect",stat:!0,sham:!n(102)},{getPrototypeOf:function(e){return a(r(e))}})},function(e,t,n){"use strict";n(0)({target:"Reflect",stat:!0},{has:function(e,t){return t in e}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=Object.isExtensible;o({target:"Reflect",stat:!0},{isExtensible:function(e){return r(e),!a||a(e)}})},function(e,t,n){"use strict";n(0)({target:"Reflect",stat:!0},{ownKeys:n(92)})},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(8);o({target:"Reflect",stat:!0,sham:!n(67)},{preventExtensions:function(e){a(e);try{var t=r("Object","preventExtensions");return t&&t(e),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(6),i=n(15),c=n(4),l=n(13),u=n(18),d=n(36),s=n(46);o({target:"Reflect",stat:!0,forced:c((function(){var e=l.f({},"a",{configurable:!0});return!1!==Reflect.set(d(e),"a",1,e)}))},{set:function p(e,t,n){var o,c,m=arguments.length<4?e:arguments[3],f=u.f(r(e),t);if(!f){if(a(c=d(e)))return p(c,t,n,m);f=s(0)}if(i(f,"value")){if(!1===f.writable||!a(m))return!1;if(o=u.f(m,t)){if(o.get||o.set||!1===o.writable)return!1;o.value=n,l.f(m,t,o)}else l.f(m,t,s(0,n));return!0}return f.set!==undefined&&(f.set.call(m,n),!0)}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(135),i=n(53);i&&o({target:"Reflect",stat:!0},{setPrototypeOf:function(e,t){r(e),a(t);try{return i(e,t),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var o=n(9),r=n(5),a=n(61),i=n(79),c=n(13).f,l=n(47).f,u=n(107),d=n(83),s=n(22),p=n(4),m=n(54),f=n(11)("match"),h=r.RegExp,C=h.prototype,g=/a/g,b=/a/g,v=new h(g)!==g;if(o&&a("RegExp",!v||p((function(){return b[f]=!1,h(g)!=g||h(b)==b||"/a/i"!=h(g,"i")})))){for(var N=function(e,t){var n=this instanceof N,o=u(e),r=t===undefined;return!n&&o&&e.constructor===N&&r?e:i(v?new h(o&&!r?e.source:e,t):h((o=e instanceof N)?e.source:e,o&&r?d.call(e):t),n?this:C,N)},V=function(e){e in N||c(N,e,{configurable:!0,get:function(){return h[e]},set:function(t){h[e]=t}})},y=l(h),_=0;y.length>_;)V(y[_++]);C.constructor=N,N.prototype=C,s(r,"RegExp",N)}m("RegExp")},function(e,t,n){"use strict";var o=n(0),r=n(84);o({target:"RegExp",proto:!0,forced:/./.exec!==r},{exec:r})},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(83);o&&"g"!=/./g.flags&&r.f(RegExp.prototype,"flags",{configurable:!0,get:a})},function(e,t,n){"use strict";var o=n(22),r=n(8),a=n(4),i=n(83),c=RegExp.prototype,l=c.toString,u=a((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),d="toString"!=l.name;(u||d)&&o(RegExp.prototype,"toString",(function(){var e=r(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(n===undefined&&e instanceof RegExp&&!("flags"in c)?i.call(e):n)}),{unsafe:!0})},function(e,t,n){"use strict";var o=n(78),r=n(139);e.exports=o("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),r)},function(e,t,n){"use strict";var o=n(0),r=n(108).codeAt;o({target:"String",proto:!0},{codePointAt:function(e){return r(this,e)}})},function(e,t,n){"use strict";var o,r=n(0),a=n(18).f,i=n(10),c=n(109),l=n(21),u=n(110),d=n(38),s="".endsWith,p=Math.min,m=u("endsWith");r({target:"String",proto:!0,forced:!!(d||m||(o=a(String.prototype,"endsWith"),!o||o.writable))&&!m},{endsWith:function(e){var t=String(l(this));c(e);var n=arguments.length>1?arguments[1]:undefined,o=i(t.length),r=n===undefined?o:p(i(n),o),a=String(e);return s?s.call(t,a,r):t.slice(r-a.length,r)===a}})},function(e,t,n){"use strict";var o=n(0),r=n(41),a=String.fromCharCode,i=String.fromCodePoint;o({target:"String",stat:!0,forced:!!i&&1!=i.length},{fromCodePoint:function(e){for(var t,n=[],o=arguments.length,i=0;o>i;){if(t=+arguments[i++],r(t,1114111)!==t)throw RangeError(t+" is not a valid code point");n.push(t<65536?a(t):a(55296+((t-=65536)>>10),t%1024+56320))}return n.join("")}})},function(e,t,n){"use strict";var o=n(0),r=n(109),a=n(21);o({target:"String",proto:!0,forced:!n(110)("includes")},{includes:function(e){return!!~String(a(this)).indexOf(r(e),arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(108).charAt,r=n(34),a=n(101),i=r.set,c=r.getterFor("String Iterator");a(String,"String",(function(e){i(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=c(this),n=t.string,r=t.index;return r>=n.length?{value:undefined,done:!0}:(e=o(n,r),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){"use strict";var o=n(85),r=n(8),a=n(10),i=n(21),c=n(111),l=n(86);o("match",1,(function(e,t,n){return[function(t){var n=i(this),o=t==undefined?undefined:t[e];return o!==undefined?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var i=r(e),u=String(this);if(!i.global)return l(i,u);var d=i.unicode;i.lastIndex=0;for(var s,p=[],m=0;null!==(s=l(i,u));){var f=String(s[0]);p[m]=f,""===f&&(i.lastIndex=c(u,a(i.lastIndex),d)),m++}return 0===m?null:p}]}))},function(e,t,n){"use strict";var o=n(0),r=n(103).end;o({target:"String",proto:!0,forced:n(150)},{padEnd:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(103).start;o({target:"String",proto:!0,forced:n(150)},{padStart:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(24),a=n(10);o({target:"String",stat:!0},{raw:function(e){for(var t=r(e.raw),n=a(t.length),o=arguments.length,i=[],c=0;n>c;)i.push(String(t[c++])),c]*>)/g,h=/\$([$&'`]|\d\d?)/g;o("replace",2,(function(e,t,n){return[function(n,o){var r=l(this),a=n==undefined?undefined:n[e];return a!==undefined?a.call(n,r,o):t.call(String(r),n,o)},function(e,a){var l=n(t,e,this,a);if(l.done)return l.value;var m=r(e),f=String(this),h="function"==typeof a;h||(a=String(a));var C=m.global;if(C){var g=m.unicode;m.lastIndex=0}for(var b=[];;){var v=d(m,f);if(null===v)break;if(b.push(v),!C)break;""===String(v[0])&&(m.lastIndex=u(f,i(m.lastIndex),g))}for(var N,V="",y=0,_=0;_=y&&(V+=f.slice(y,k)+I,y=k+x.length)}return V+f.slice(y)}];function o(e,n,o,r,i,c){var l=o+e.length,u=r.length,d=h;return i!==undefined&&(i=a(i),d=f),t.call(c,d,(function(t,a){var c;switch(a.charAt(0)){case"$":return"$";case"&":return e;case"`":return n.slice(0,o);case"'":return n.slice(l);case"<":c=i[a.slice(1,-1)];break;default:var d=+a;if(0===d)return t;if(d>u){var s=m(d/10);return 0===s?t:s<=u?r[s-1]===undefined?a.charAt(1):r[s-1]+a.charAt(1):t}c=r[d-1]}return c===undefined?"":c}))}}))},function(e,t,n){"use strict";var o=n(85),r=n(8),a=n(21),i=n(144),c=n(86);o("search",1,(function(e,t,n){return[function(t){var n=a(this),o=t==undefined?undefined:t[e];return o!==undefined?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var a=r(e),l=String(this),u=a.lastIndex;i(u,0)||(a.lastIndex=0);var d=c(a,l);return i(a.lastIndex,u)||(a.lastIndex=u),null===d?-1:d.index}]}))},function(e,t,n){"use strict";var o=n(85),r=n(107),a=n(8),i=n(21),c=n(45),l=n(111),u=n(10),d=n(86),s=n(84),p=n(4),m=[].push,f=Math.min,h=!p((function(){return!RegExp(4294967295,"y")}));o("split",2,(function(e,t,n){var o;return o="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,n){var o=String(i(this)),a=n===undefined?4294967295:n>>>0;if(0===a)return[];if(e===undefined)return[o];if(!r(e))return t.call(o,e,a);for(var c,l,u,d=[],p=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),f=0,h=new RegExp(e.source,p+"g");(c=s.call(h,o))&&!((l=h.lastIndex)>f&&(d.push(o.slice(f,c.index)),c.length>1&&c.index=a));)h.lastIndex===c.index&&h.lastIndex++;return f===o.length?!u&&h.test("")||d.push(""):d.push(o.slice(f)),d.length>a?d.slice(0,a):d}:"0".split(undefined,0).length?function(e,n){return e===undefined&&0===n?[]:t.call(this,e,n)}:t,[function(t,n){var r=i(this),a=t==undefined?undefined:t[e];return a!==undefined?a.call(t,r,n):o.call(String(r),t,n)},function(e,r){var i=n(o,e,this,r,o!==t);if(i.done)return i.value;var s=a(e),p=String(this),m=c(s,RegExp),C=s.unicode,g=(s.ignoreCase?"i":"")+(s.multiline?"m":"")+(s.unicode?"u":"")+(h?"y":"g"),b=new m(h?s:"^(?:"+s.source+")",g),v=r===undefined?4294967295:r>>>0;if(0===v)return[];if(0===p.length)return null===d(b,p)?[p]:[];for(var N=0,V=0,y=[];V1?arguments[1]:undefined,t.length)),o=String(e);return s?s.call(t,o,n):t.slice(n,n+o.length)===o}})},function(e,t,n){"use strict";var o=n(0),r=n(56).trim;o({target:"String",proto:!0,forced:n(112)("trim")},{trim:function(){return r(this)}})},function(e,t,n){"use strict";var o=n(0),r=n(56).end,a=n(112)("trimEnd"),i=a?function(){return r(this)}:"".trimEnd;o({target:"String",proto:!0,forced:a},{trimEnd:i,trimRight:i})},function(e,t,n){"use strict";var o=n(0),r=n(56).start,a=n(112)("trimStart"),i=a?function(){return r(this)}:"".trimStart;o({target:"String",proto:!0,forced:a},{trimStart:i,trimLeft:i})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("anchor")},{anchor:function(e){return r(this,"a","name",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("big")},{big:function(){return r(this,"big","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("blink")},{blink:function(){return r(this,"blink","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("bold")},{bold:function(){return r(this,"b","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("fixed")},{fixed:function(){return r(this,"tt","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("fontcolor")},{fontcolor:function(e){return r(this,"font","color",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("fontsize")},{fontsize:function(e){return r(this,"font","size",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("italics")},{italics:function(){return r(this,"i","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("link")},{link:function(e){return r(this,"a","href",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("small")},{small:function(){return r(this,"small","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("strike")},{strike:function(){return r(this,"strike","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("sub")},{sub:function(){return r(this,"sub","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("sup")},{sup:function(){return r(this,"sup","","")}})},function(e,t,n){"use strict";n(40)("Float32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";var o=n(30);e.exports=function(e){var t=o(e);if(t<0)throw RangeError("The argument can't be less than 0");return t}},function(e,t,n){"use strict";n(40)("Float64",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int8",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int16",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint8",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint8",(function(e){return function(t,n,o){return e(this,t,n,o)}}),!0)},function(e,t,n){"use strict";n(40)("Uint16",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";var o=n(7),r=n(130),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("copyWithin",(function(e,t){return r.call(a(this),e,t,arguments.length>2?arguments[2]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).every,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("every",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(97),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("fill",(function(e){return r.apply(a(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).filter,a=n(45),i=o.aTypedArray,c=o.aTypedArrayConstructor;(0,o.exportTypedArrayMethod)("filter",(function(e){for(var t=r(i(this),e,arguments.length>1?arguments[1]:undefined),n=a(this,this.constructor),o=0,l=t.length,u=new(c(n))(l);l>o;)u[o]=t[o++];return u}))},function(e,t,n){"use strict";var o=n(7),r=n(16).find,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("find",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).findIndex,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("findIndex",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).forEach,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("forEach",(function(e){r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(113);(0,n(7).exportTypedArrayStaticMethod)("from",n(152),o)},function(e,t,n){"use strict";var o=n(7),r=n(60).includes,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("includes",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(60).indexOf,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("indexOf",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(5),r=n(7),a=n(133),i=n(11)("iterator"),c=o.Uint8Array,l=a.values,u=a.keys,d=a.entries,s=r.aTypedArray,p=r.exportTypedArrayMethod,m=c&&c.prototype[i],f=!!m&&("values"==m.name||m.name==undefined),h=function(){return l.call(s(this))};p("entries",(function(){return d.call(s(this))})),p("keys",(function(){return u.call(s(this))})),p("values",h,!f),p(i,h,!f)},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=[].join;a("join",(function(e){return i.apply(r(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(136),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("lastIndexOf",(function(e){return r.apply(a(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).map,a=n(45),i=o.aTypedArray,c=o.aTypedArrayConstructor;(0,o.exportTypedArrayMethod)("map",(function(e){return r(i(this),e,arguments.length>1?arguments[1]:undefined,(function(e,t){return new(c(a(e,e.constructor)))(t)}))}))},function(e,t,n){"use strict";var o=n(7),r=n(113),a=o.aTypedArrayConstructor;(0,o.exportTypedArrayStaticMethod)("of",(function(){for(var e=0,t=arguments.length,n=new(a(this))(t);t>e;)n[e]=arguments[e++];return n}),r)},function(e,t,n){"use strict";var o=n(7),r=n(76).left,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("reduce",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(76).right,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("reduceRight",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=Math.floor;a("reverse",(function(){for(var e,t=r(this).length,n=i(t/2),o=0;o1?arguments[1]:undefined,1),n=this.length,o=i(e),c=r(o.length),u=0;if(c+t>n)throw RangeError("Wrong length");for(;ua;)d[a]=n[a++];return d}),a((function(){new Int8Array(1).slice()})))},function(e,t,n){"use strict";var o=n(7),r=n(16).some,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("some",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=[].sort;a("sort",(function(e){return i.call(r(this),e)}))},function(e,t,n){"use strict";var o=n(7),r=n(10),a=n(41),i=n(45),c=o.aTypedArray;(0,o.exportTypedArrayMethod)("subarray",(function(e,t){var n=c(this),o=n.length,l=a(e,o);return new(i(n,n.constructor))(n.buffer,n.byteOffset+l*n.BYTES_PER_ELEMENT,r((t===undefined?o:a(t,o))-l))}))},function(e,t,n){"use strict";var o=n(5),r=n(7),a=n(4),i=o.Int8Array,c=r.aTypedArray,l=r.exportTypedArrayMethod,u=[].toLocaleString,d=[].slice,s=!!i&&a((function(){u.call(new i(1))}));l("toLocaleString",(function(){return u.apply(s?d.call(c(this)):c(this),arguments)}),a((function(){return[1,2].toLocaleString()!=new i([1,2]).toLocaleString()}))||!a((function(){i.prototype.toLocaleString.call([1,2])})))},function(e,t,n){"use strict";var o=n(7).exportTypedArrayMethod,r=n(4),a=n(5).Uint8Array,i=a&&a.prototype||{},c=[].toString,l=[].join;r((function(){c.call({})}))&&(c=function(){return l.call(this)});var u=i.toString!=c;o("toString",c,u)},function(e,t,n){"use strict";var o,r=n(5),a=n(66),i=n(50),c=n(78),l=n(153),u=n(6),d=n(34).enforce,s=n(121),p=!r.ActiveXObject&&"ActiveXObject"in r,m=Object.isExtensible,f=function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}},h=e.exports=c("WeakMap",f,l);if(s&&p){o=l.getConstructor(f,"WeakMap",!0),i.REQUIRED=!0;var C=h.prototype,g=C["delete"],b=C.has,v=C.get,N=C.set;a(C,{"delete":function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),g.call(this,e)||t.frozen["delete"](e)}return g.call(this,e)},has:function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),b.call(this,e)||t.frozen.has(e)}return b.call(this,e)},get:function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),b.call(this,e)?v.call(this,e):t.frozen.get(e)}return v.call(this,e)},set:function(e,t){if(u(e)&&!m(e)){var n=d(this);n.frozen||(n.frozen=new o),b.call(this,e)?N.call(this,e,t):n.frozen.set(e,t)}else N.call(this,e,t);return this}})}},function(e,t,n){"use strict";n(78)("WeakSet",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),n(153))},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(106);o({global:!0,bind:!0,enumerable:!0,forced:!r.setImmediate||!r.clearImmediate},{setImmediate:a.set,clearImmediate:a.clear})},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(147),i=n(32),c=r.process,l="process"==i(c);o({global:!0,enumerable:!0,noTargetGet:!0},{queueMicrotask:function(e){var t=l&&c.domain;a(t?t.bind(e):e)}})},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(73),i=[].slice,c=function(e){return function(t,n){var o=arguments.length>2,r=o?i.call(arguments,2):undefined;return e(o?function(){("function"==typeof t?t:Function(t)).apply(this,r)}:t,n)}};o({global:!0,bind:!0,forced:/MSIE .\./.test(a)},{setTimeout:c(r.setTimeout),setInterval:c(r.setInterval)})},function(e,t,n){"use strict";t.__esModule=!0,t._CI=Ie,t._HI=D,t._M=Te,t._MCCC=Me,t._ME=Ee,t._MFCC=Oe,t._MP=Be,t._MR=Ne,t.__render=ze,t.createComponentVNode=function(e,t,n,o,r){var i=new T(1,null,null,e=function(e,t){if(12&e)return e;if(t.prototype&&t.prototype.render)return 4;if(t.render)return 32776;return 8}(e,t),o,function(e,t,n){var o=(32768&e?t.render:t).defaultProps;if(a(o))return n;if(a(n))return d(o,null);return B(n,o)}(e,t,n),function(e,t,n){if(4&e)return n;var o=(32768&e?t.render:t).defaultHooks;if(a(o))return n;if(a(n))return o;return B(n,o)}(e,t,r),t);k.createVNode&&k.createVNode(i);return i},t.createFragment=P,t.createPortal=function(e,t){var n=D(e);return A(1024,1024,null,n,0,null,n.key,t)},t.createRef=function(){return{current:null}},t.createRenderer=function(e){return function(t,n,o,r){e||(e=t),He(n,e,o,r)}},t.createTextVNode=E,t.createVNode=A,t.directClone=M,t.findDOMfromVNode=N,t.forwardRef=function(e){return{render:e}},t.getFlagsForElementVnode=function(e){switch(e){case"svg":return 32;case"input":return 64;case"select":return 256;case"textarea":return 128;case m:return 8192;default:return 1}},t.linkEvent=function(e,t){if(c(t))return{data:e,event:t};return null},t.normalizeProps=function(e){var t=e.props;if(t){var n=e.flags;481&n&&(void 0!==t.children&&a(e.children)&&F(e,t.children),void 0!==t.className&&(e.className=t.className||null,t.className=undefined)),void 0!==t.key&&(e.key=t.key,t.key=undefined),void 0!==t.ref&&(e.ref=8&n?d(e.ref,t.ref):t.ref,t.ref=undefined)}return e},t.render=He,t.rerender=We,t.version=t.options=t.Fragment=t.EMPTY_OBJ=t.Component=void 0;var o=Array.isArray;function r(e){var t=typeof e;return"string"===t||"number"===t}function a(e){return null==e}function i(e){return null===e||!1===e||!0===e||void 0===e}function c(e){return"function"==typeof e}function l(e){return"string"==typeof e}function u(e){return null===e}function d(e,t){var n={};if(e)for(var o in e)n[o]=e[o];if(t)for(var r in t)n[r]=t[r];return n}function s(e){return!u(e)&&"object"==typeof e}var p={};t.EMPTY_OBJ=p;var m="$F";function f(e){return e.substr(2).toLowerCase()}function h(e,t){e.appendChild(t)}function C(e,t,n){u(n)?h(e,t):e.insertBefore(t,n)}function g(e,t){e.removeChild(t)}function b(e){for(var t;(t=e.shift())!==undefined;)t()}function v(e,t,n){var o=e.children;return 4&n?o.$LI:8192&n?2===e.childFlags?o:o[t?0:o.length-1]:o}function N(e,t){for(var n;e;){if(2033&(n=e.flags))return e.dom;e=v(e,t,n)}return null}function V(e,t){do{var n=e.flags;if(2033&n)return void g(t,e.dom);var o=e.children;if(4&n&&(e=o.$LI),8&n&&(e=o),8192&n){if(2!==e.childFlags){for(var r=0,a=o.length;r0,f=u(p),h=l(p)&&p[0]===I;m||f||h?(n=n||t.slice(0,d),(m||h)&&(s=M(s)),(f||h)&&(s.key=I+d),n.push(s)):n&&n.push(s),s.flags|=65536}}a=0===(n=n||t).length?1:8}else(n=t).flags|=65536,81920&t.flags&&(n=M(t)),a=2;return e.children=n,e.childFlags=a,e}function D(e){return i(e)||r(e)?E(e,null):o(e)?P(e,0,null):16384&e.flags?M(e):e}var j="http://www.w3.org/1999/xlink",z="http://www.w3.org/XML/1998/namespace",H={"xlink:actuate":j,"xlink:arcrole":j,"xlink:href":j,"xlink:role":j,"xlink:show":j,"xlink:title":j,"xlink:type":j,"xml:base":z,"xml:lang":z,"xml:space":z};function G(e){return{onClick:e,onDblClick:e,onFocusIn:e,onFocusOut:e,onKeyDown:e,onKeyPress:e,onKeyUp:e,onMouseDown:e,onMouseMove:e,onMouseUp:e,onTouchEnd:e,onTouchMove:e,onTouchStart:e}}var U=G(0),K=G(null),Y=G(!0);function q(e,t){var n=t.$EV;return n||(n=t.$EV=G(null)),n[e]||1==++U[e]&&(K[e]=function(e){var t="onClick"===e||"onDblClick"===e?function(e){return function(t){0===t.button?$(t,!0,e,Z(t)):t.stopPropagation()}}(e):function(e){return function(t){$(t,!1,e,Z(t))}}(e);return document.addEventListener(f(e),t),t}(e)),n}function W(e,t){var n=t.$EV;n&&n[e]&&(0==--U[e]&&(document.removeEventListener(f(e),K[e]),K[e]=null),n[e]=null)}function $(e,t,n,o){var r=function(e){return c(e.composedPath)?e.composedPath()[0]:e.target}(e);do{if(t&&r.disabled)return;var a=r.$EV;if(a){var i=a[n];if(i&&(o.dom=r,i.event?i.event(i.data,e):i(e),e.cancelBubble))return}r=r.parentNode}while(!u(r))}function Q(){this.cancelBubble=!0,this.immediatePropagationStopped||this.stopImmediatePropagation()}function X(){return this.defaultPrevented}function J(){return this.cancelBubble}function Z(e){var t={dom:document};return e.isDefaultPrevented=X,e.isPropagationStopped=J,e.stopPropagation=Q,Object.defineProperty(e,"currentTarget",{configurable:!0,get:function(){return t.dom}}),t}function ee(e,t,n){if(e[t]){var o=e[t];o.event?o.event(o.data,n):o(n)}else{var r=t.toLowerCase();e[r]&&e[r](n)}}function te(e,t){var n=function(n){var o=this.$V;if(o){var r=o.props||p,a=o.dom;if(l(e))ee(r,e,n);else for(var i=0;i-1&&t.options[i]&&(c=t.options[i].value),n&&a(c)&&(c=e.defaultValue),le(o,c)}}var se,pe,me=te("onInput",he),fe=te("onChange");function he(e,t,n){var o=e.value,r=t.value;if(a(o)){if(n){var i=e.defaultValue;a(i)||i===r||(t.defaultValue=i,t.value=i)}}else r!==o&&(t.defaultValue=o,t.value=o)}function Ce(e,t,n,o,r,a){64&e?ce(o,n):256&e?de(o,n,r,t):128&e&&he(o,n,r),a&&(n.$V=t)}function ge(e,t,n){64&e?function(e,t){oe(t.type)?(ne(e,"change",ae),ne(e,"click",ie)):ne(e,"input",re)}(t,n):256&e?function(e){ne(e,"change",ue)}(t):128&e&&function(e,t){ne(e,"input",me),t.onChange&&ne(e,"change",fe)}(t,n)}function be(e){return e.type&&oe(e.type)?!a(e.checked):!a(e.value)}function ve(e){e&&!S(e,null)&&e.current&&(e.current=null)}function Ne(e,t,n){e&&(c(e)||void 0!==e.current)&&n.push((function(){S(e,t)||void 0===e.current||(e.current=t)}))}function Ve(e,t){ye(e),V(e,t)}function ye(e){var t,n=e.flags,o=e.children;if(481&n){t=e.ref;var r=e.props;ve(t);var i=e.childFlags;if(!u(r))for(var l=Object.keys(r),d=0,s=l.length;d0;for(var c in i&&(a=be(n))&&ge(t,o,n),n)we(c,null,n[c],o,r,a,null);i&&Ce(t,e,o,n,!0,a)}function Se(e,t,n){var o=D(e.render(t,e.state,n)),r=n;return c(e.getChildContext)&&(r=d(n,e.getChildContext())),e.$CX=r,o}function Ie(e,t,n,o,r,a){var i=new t(n,o),l=i.$N=Boolean(t.getDerivedStateFromProps||i.getSnapshotBeforeUpdate);if(i.$SVG=r,i.$L=a,e.children=i,i.$BS=!1,i.context=o,i.props===p&&(i.props=n),l)i.state=_(i,n,i.state);else if(c(i.componentWillMount)){i.$BR=!0,i.componentWillMount();var d=i.$PS;if(!u(d)){var s=i.state;if(u(s))i.state=d;else for(var m in d)s[m]=d[m];i.$PS=null}i.$BR=!1}return i.$LI=Se(i,n,o),i}function Te(e,t,n,o,r,a){var i=e.flags|=16384;481&i?Ee(e,t,n,o,r,a):4&i?function(e,t,n,o,r,a){var i=Ie(e,e.type,e.props||p,n,o,a);Te(i.$LI,t,i.$CX,o,r,a),Me(e.ref,i,a)}(e,t,n,o,r,a):8&i?(!function(e,t,n,o,r,a){Te(e.children=D(function(e,t){return 32768&e.flags?e.type.render(e.props||p,e.ref,t):e.type(e.props||p,t)}(e,n)),t,n,o,r,a)}(e,t,n,o,r,a),Oe(e,a)):512&i||16&i?Ae(e,t,r):8192&i?function(e,t,n,o,r,a){var i=e.children,c=e.childFlags;12&c&&0===i.length&&(c=e.childFlags=2,i=e.children=O());2===c?Te(i,n,r,o,r,a):Pe(i,n,t,o,r,a)}(e,n,t,o,r,a):1024&i&&function(e,t,n,o,r){Te(e.children,e.ref,t,!1,null,r);var a=O();Ae(a,n,o),e.dom=a.dom}(e,n,t,r,a)}function Ae(e,t,n){var o=e.dom=document.createTextNode(e.children);u(t)||C(t,o,n)}function Ee(e,t,n,o,r,i){var c=e.flags,l=e.props,d=e.className,s=e.children,p=e.childFlags,m=e.dom=function(e,t){return t?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e)}(e.type,o=o||(32&c)>0);if(a(d)||""===d||(o?m.setAttribute("class",d):m.className=d),16===p)L(m,s);else if(1!==p){var f=o&&"foreignObject"!==e.type;2===p?(16384&s.flags&&(e.children=s=M(s)),Te(s,m,n,f,null,i)):8!==p&&4!==p||Pe(s,m,n,f,null,i)}u(t)||C(t,m,r),u(l)||Be(e,c,l,m,o),Ne(e.ref,m,i)}function Pe(e,t,n,o,r,a){for(var i=0;i0,u!==d){var f=u||p;if((c=d||p)!==p)for(var h in(s=(448&r)>0)&&(m=be(c)),c){var C=f[h],g=c[h];C!==g&&we(h,C,g,l,o,m,e)}if(f!==p)for(var b in f)a(c[b])&&!a(f[b])&&we(b,f[b],null,l,o,m,e)}var v=t.children,N=t.className;e.className!==N&&(a(N)?l.removeAttribute("class"):o?l.setAttribute("class",N):l.className=N);4096&r?function(e,t){e.textContent!==t&&(e.textContent=t)}(l,v):Fe(e.childFlags,t.childFlags,e.children,v,l,n,o&&"foreignObject"!==t.type,null,e,i);s&&Ce(r,t,l,c,!1,m);var V=t.ref,y=e.ref;y!==V&&(ve(y),Ne(V,l,i))}(e,t,o,r,m,s):4&m?function(e,t,n,o,r,a,i){var l=t.children=e.children;if(u(l))return;l.$L=i;var s=t.props||p,m=t.ref,f=e.ref,h=l.state;if(!l.$N){if(c(l.componentWillReceiveProps)){if(l.$BR=!0,l.componentWillReceiveProps(s,o),l.$UN)return;l.$BR=!1}u(l.$PS)||(h=d(h,l.$PS),l.$PS=null)}De(l,h,s,n,o,r,!1,a,i),f!==m&&(ve(f),Ne(m,l,i))}(e,t,n,o,r,l,s):8&m?function(e,t,n,o,r,i,l){var u=!0,d=t.props||p,s=t.ref,m=e.props,f=!a(s),h=e.children;f&&c(s.onComponentShouldUpdate)&&(u=s.onComponentShouldUpdate(m,d));if(!1!==u){f&&c(s.onComponentWillUpdate)&&s.onComponentWillUpdate(m,d);var C=t.type,g=D(32768&t.flags?C.render(d,s,o):C(d,o));Re(h,g,n,o,r,i,l),t.children=g,f&&c(s.onComponentDidUpdate)&&s.onComponentDidUpdate(m,d)}else t.children=h}(e,t,n,o,r,l,s):16&m?function(e,t){var n=t.children,o=t.dom=e.dom;n!==e.children&&(o.nodeValue=n)}(e,t):512&m?t.dom=e.dom:8192&m?function(e,t,n,o,r,a){var i=e.children,c=t.children,l=e.childFlags,u=t.childFlags,d=null;12&u&&0===c.length&&(u=t.childFlags=2,c=t.children=O());var s=0!=(2&u);if(12&l){var p=i.length;(8&l&&8&u||s||!s&&c.length>p)&&(d=N(i[p-1],!1).nextSibling)}Fe(l,u,i,c,n,o,r,d,e,a)}(e,t,n,o,r,s):function(e,t,n,o){var r=e.ref,a=t.ref,c=t.children;if(Fe(e.childFlags,t.childFlags,e.children,c,r,n,!1,null,e,o),t.dom=e.dom,r!==a&&!i(c)){var l=c.dom;g(r,l),h(a,l)}}(e,t,o,s)}function Fe(e,t,n,o,r,a,i,c,l,u){switch(e){case 2:switch(t){case 2:Re(n,o,r,a,i,c,u);break;case 1:Ve(n,r);break;case 16:ye(n),L(r,o);break;default:!function(e,t,n,o,r,a){ye(e),Pe(t,n,o,r,N(e,!0),a),V(e,n)}(n,o,r,a,i,u)}break;case 1:switch(t){case 2:Te(o,r,a,i,c,u);break;case 1:break;case 16:L(r,o);break;default:Pe(o,r,a,i,c,u)}break;case 16:switch(t){case 16:!function(e,t,n){e!==t&&(""!==e?n.firstChild.nodeValue=t:L(n,t))}(n,o,r);break;case 2:xe(r),Te(o,r,a,i,c,u);break;case 1:xe(r);break;default:xe(r),Pe(o,r,a,i,c,u)}break;default:switch(t){case 16:_e(n),L(r,o);break;case 2:ke(r,l,n),Te(o,r,a,i,c,u);break;case 1:ke(r,l,n);break;default:var d=0|n.length,s=0|o.length;0===d?s>0&&Pe(o,r,a,i,c,u):0===s?ke(r,l,n):8===t&&8===e?function(e,t,n,o,r,a,i,c,l,u){var d,s,p=a-1,m=i-1,f=0,h=e[f],C=t[f];e:{for(;h.key===C.key;){if(16384&C.flags&&(t[f]=C=M(C)),Re(h,C,n,o,r,c,u),e[f]=C,++f>p||f>m)break e;h=e[f],C=t[f]}for(h=e[p],C=t[m];h.key===C.key;){if(16384&C.flags&&(t[m]=C=M(C)),Re(h,C,n,o,r,c,u),e[p]=C,p--,m--,f>p||f>m)break e;h=e[p],C=t[m]}}if(f>p){if(f<=m)for(s=(d=m+1)m)for(;f<=p;)Ve(e[f++],n);else!function(e,t,n,o,r,a,i,c,l,u,d,s,p){var m,f,h,C=0,g=c,b=c,v=a-c+1,V=i-c+1,_=new Int32Array(V+1),x=v===o,k=!1,L=0,w=0;if(r<4||(v|V)<32)for(C=g;C<=a;++C)if(m=e[C],wc?k=!0:L=c,16384&f.flags&&(t[c]=f=M(f)),Re(m,f,l,n,u,d,p),++w;break}!x&&c>i&&Ve(m,l)}else x||Ve(m,l);else{var B={};for(C=b;C<=i;++C)B[t[C].key]=C;for(C=g;C<=a;++C)if(m=e[C],wg;)Ve(e[g++],l);_[c-b]=C+1,L>c?k=!0:L=c,16384&(f=t[c]).flags&&(t[c]=f=M(f)),Re(m,f,l,n,u,d,p),++w}else x||Ve(m,l);else x||Ve(m,l)}if(x)ke(l,s,e),Pe(t,l,n,u,d,p);else if(k){var S=function(e){var t=0,n=0,o=0,r=0,a=0,i=0,c=0,l=e.length;l>je&&(je=l,se=new Int32Array(l),pe=new Int32Array(l));for(;n>1]]0&&(pe[n]=se[a-1]),se[a]=n)}a=r+1;var u=new Int32Array(a);i=se[a-1];for(;a-- >0;)u[a]=i,i=pe[i],se[a]=0;return u}(_);for(c=S.length-1,C=V-1;C>=0;C--)0===_[C]?(16384&(f=t[L=C+b]).flags&&(t[L]=f=M(f)),Te(f,l,n,u,(h=L+1)=0;C--)0===_[C]&&(16384&(f=t[L=C+b]).flags&&(t[L]=f=M(f)),Te(f,l,n,u,(h=L+1)i?i:a,p=0;pi)for(p=s;p0&&b(r),x.v=!1,c(n)&&n(),c(k.renderComplete)&&k.renderComplete(i,t)}function He(e,t,n,o){void 0===n&&(n=null),void 0===o&&(o=p),ze(e,t,n,o)}"undefined"!=typeof document&&window.Node&&(Node.prototype.$EV=null,Node.prototype.$V=null);var Ge=[],Ue="undefined"!=typeof Promise?Promise.resolve().then.bind(Promise.resolve()):function(e){window.setTimeout(e,0)},Ke=!1;function Ye(e,t,n,o){var r=e.$PS;if(c(t)&&(t=t(r?d(e.state,r):e.state,e.props,e.context)),a(r))e.$PS=t;else for(var i in t)r[i]=t[i];if(e.$BR)c(n)&&e.$L.push(n.bind(e));else{if(!x.v&&0===Ge.length)return void $e(e,o,n);if(-1===Ge.indexOf(e)&&Ge.push(e),Ke||(Ke=!0,Ue(We)),c(n)){var l=e.$QU;l||(l=e.$QU=[]),l.push(n)}}}function qe(e){for(var t=e.$QU,n=0,o=t.length;n0&&b(r),x.v=!1}else e.state=e.$PS,e.$PS=null;c(n)&&n.call(e)}}var Qe=function(e,t){this.state=null,this.$BR=!1,this.$BS=!0,this.$PS=null,this.$LI=null,this.$UN=!1,this.$CX=null,this.$QU=null,this.$N=!1,this.$L=null,this.$SVG=!1,this.props=e||p,this.context=t||p};t.Component=Qe,Qe.prototype.forceUpdate=function(e){this.$UN||Ye(this,{},e,!0)},Qe.prototype.setState=function(e,t){this.$UN||this.$BS||Ye(this,e,t,!1)},Qe.prototype.render=function(e,t,n){return null};t.version="7.3.3"},function(e,t,n){"use strict";var o=function(e){var t,n=Object.prototype,o=n.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},a=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",c=r.toStringTag||"@@toStringTag";function l(e,t,n,o){var r=t&&t.prototype instanceof h?t:h,a=Object.create(r.prototype),i=new w(o||[]);return a._invoke=function(e,t,n){var o=d;return function(r,a){if(o===p)throw new Error("Generator is already running");if(o===m){if("throw"===r)throw a;return S()}for(n.method=r,n.arg=a;;){var i=n.delegate;if(i){var c=x(i,n);if(c){if(c===f)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===d)throw o=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=p;var l=u(e,t,n);if("normal"===l.type){if(o=n.done?m:s,l.arg===f)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(o=m,n.method="throw",n.arg=l.arg)}}}(e,n,i),a}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(o){return{type:"throw",arg:o}}}e.wrap=l;var d="suspendedStart",s="suspendedYield",p="executing",m="completed",f={};function h(){}function C(){}function g(){}var b={};b[a]=function(){return this};var v=Object.getPrototypeOf,N=v&&v(v(B([])));N&&N!==n&&o.call(N,a)&&(b=N);var V=g.prototype=h.prototype=Object.create(b);function y(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function _(e){var t;this._invoke=function(n,r){function a(){return new Promise((function(t,a){!function i(t,n,r,a){var c=u(e[t],e,n);if("throw"!==c.type){var l=c.arg,d=l.value;return d&&"object"==typeof d&&o.call(d,"__await")?Promise.resolve(d.__await).then((function(e){i("next",e,r,a)}),(function(e){i("throw",e,r,a)})):Promise.resolve(d).then((function(e){l.value=e,r(l)}),(function(e){return i("throw",e,r,a)}))}a(c.arg)}(n,r,t,a)}))}return t=t?t.then(a,a):a()}}function x(e,n){var o=e.iterator[n.method];if(o===t){if(n.delegate=null,"throw"===n.method){if(e.iterator["return"]&&(n.method="return",n.arg=t,x(e,n),"throw"===n.method))return f;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var r=u(o,e.iterator,n.arg);if("throw"===r.type)return n.method="throw",n.arg=r.arg,n.delegate=null,f;var a=r.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,f):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,f)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function L(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function B(e){if(e){var n=e[a];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function n(){for(;++r=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var l=o.call(i,"catchLoc"),u=o.call(i,"finallyLoc");if(l&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&o.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),L(n),f}},"catch":function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var o=n.completion;if("throw"===o.type){var r=o.arg;L(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,o){return this.delegate={iterator:B(e),resultName:n,nextLoc:o},"next"===this.method&&(this.arg=t),f}},e}(e.exports);try{regeneratorRuntime=o}catch(r){Function("r","regeneratorRuntime = r")(o)}},function(e,t,n){"use strict";window.Int32Array||(window.Int32Array=Array)},function(e,t,n){"use strict";(function(e){ /*! loadCSS. [c]2017 Filament Group, Inc. MIT License */ -var n;n=void 0!==e?e:void 0,t.loadCSS=function(e,t,o,r){var a,i=n.document,c=i.createElement("link");if(t)a=t;else{var l=(i.body||i.getElementsByTagName("head")[0]).childNodes;a=l[l.length-1]}var u=i.styleSheets;if(r)for(var s in r)r.hasOwnProperty(s)&&c.setAttribute(s,r[s]);c.rel="stylesheet",c.href=e,c.media="only x",function f(e){if(i.body)return e();setTimeout((function(){f(e)}))}((function(){a.parentNode.insertBefore(c,t?a:a.nextSibling)}));var d=function m(e){for(var t=c.href,n=u.length;n--;)if(u[n].href===t)return e();setTimeout((function(){m(e)}))};function p(){c.addEventListener&&c.removeEventListener("load",p),c.media=o||"all"}return c.addEventListener&&c.addEventListener("load",p),c.onloadcssdefined=d,d(p),c}}).call(this,n(118))},function(e,t,n){"use strict";t.__esModule=!0,t.Achievements=t.Score=t.Achievement=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.name,n=e.desc,r=e.icon_class,i=e.value;return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,a.Box,{className:r}),2,{style:{padding:"6px"}}),(0,o.createVNode)(1,"td",null,[(0,o.createVNode)(1,"h1",null,t,0),n,(0,o.createComponentVNode)(2,a.Box,{color:i?"good":"bad",content:i?"Unlocked":"Locked"})],0,{style:{"vertical-align":"top"}})],4,null,t)};t.Achievement=i;var c=function(e){var t=e.name,n=e.desc,r=e.icon_class,i=e.value;return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,a.Box,{className:r}),2,{style:{padding:"6px"}}),(0,o.createVNode)(1,"td",null,[(0,o.createVNode)(1,"h1",null,t,0),n,(0,o.createComponentVNode)(2,a.Box,{color:i>0?"good":"bad",content:i>0?"Earned "+i+" times":"Locked"})],0,{style:{"vertical-align":"top"}})],4,null,t)};t.Score=c;t.Achievements=function(e){var t=(0,r.useBackend)(e).data;return(0,o.createComponentVNode)(2,a.Tabs,{children:[t.categories.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e,children:(0,o.createComponentVNode)(2,a.Box,{as:"Table",children:t.achievements.filter((function(t){return t.category===e})).map((function(e){return e.score?(0,o.createComponentVNode)(2,c,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name):(0,o.createComponentVNode)(2,i,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name)}))})},e)})),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"High Scores",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:t.highscore.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e.name,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"#"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Key"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Score"})]}),Object.keys(e.scores).map((function(n,r){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",m:2,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:r+1}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:n===t.user_ckey&&"green",textAlign:"center",children:[0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",mr:2}),n,0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",ml:2})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:e.scores[n]})]},n)}))]})},e.name)}))})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.BlockQuote=void 0;var o=n(1),r=n(12),a=n(17);t.BlockQuote=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["BlockQuote",t])},n)))}},function(e,t,n){"use strict";var o,r;t.__esModule=!0,t.VNodeFlags=t.ChildFlags=void 0,t.VNodeFlags=o,function(e){e[e.HtmlElement=1]="HtmlElement",e[e.ComponentUnknown=2]="ComponentUnknown",e[e.ComponentClass=4]="ComponentClass",e[e.ComponentFunction=8]="ComponentFunction",e[e.Text=16]="Text",e[e.SvgElement=32]="SvgElement",e[e.InputElement=64]="InputElement",e[e.TextareaElement=128]="TextareaElement",e[e.SelectElement=256]="SelectElement",e[e.Void=512]="Void",e[e.Portal=1024]="Portal",e[e.ReCreate=2048]="ReCreate",e[e.ContentEditable=4096]="ContentEditable",e[e.Fragment=8192]="Fragment",e[e.InUse=16384]="InUse",e[e.ForwardRef=32768]="ForwardRef",e[e.Normalized=65536]="Normalized",e[e.ForwardRefComponent=32776]="ForwardRefComponent",e[e.FormElement=448]="FormElement",e[e.Element=481]="Element",e[e.Component=14]="Component",e[e.DOMRef=2033]="DOMRef",e[e.InUseOrNormalized=81920]="InUseOrNormalized",e[e.ClearInUse=-16385]="ClearInUse",e[e.ComponentKnown=12]="ComponentKnown"}(o||(t.VNodeFlags=o={})),t.ChildFlags=r,function(e){e[e.UnknownChildren=0]="UnknownChildren",e[e.HasInvalidChildren=1]="HasInvalidChildren",e[e.HasVNodeChildren=2]="HasVNodeChildren",e[e.HasNonKeyedChildren=4]="HasNonKeyedChildren",e[e.HasKeyedChildren=8]="HasKeyedChildren",e[e.HasTextChildren=16]="HasTextChildren",e[e.MultipleChildren=12]="MultipleChildren"}(r||(t.ChildFlags=r={}))},function(e,t,n){"use strict";t.__esModule=!0,t.ColorBox=void 0;var o=n(1),r=n(12),a=n(17);var i=function(e){var t=e.color,n=e.content,i=e.className,c=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["color","content","className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["ColorBox",i]),color:n?null:"transparent",backgroundColor:t,content:n||"."},c)))};t.ColorBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Collapsible=void 0;var o=n(1),r=n(17),a=n(114);var i=function(e){var t,n;function i(t){var n;n=e.call(this,t)||this;var o=t.open;return n.state={open:o||!1},n}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i.prototype.render=function(){var e=this,t=this.props,n=this.state.open,i=t.children,c=t.color,l=void 0===c?"default":c,u=t.title,s=t.buttons,d=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(t,["children","color","title","buttons"]);return(0,o.createComponentVNode)(2,r.Box,{mb:1,children:[(0,o.createVNode)(1,"div","Table",[(0,o.createVNode)(1,"div","Table__cell",(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Button,Object.assign({fluid:!0,color:l,icon:n?"chevron-down":"chevron-right",onClick:function(){return e.setState({open:!n})}},d,{children:u}))),2),s&&(0,o.createVNode)(1,"div","Table__cell Table__cell--collapsing",s,0)],0),n&&(0,o.createComponentVNode)(2,r.Box,{mt:1,children:i})]})},i}(o.Component);t.Collapsible=i},function(e,t,n){"use strict";t.__esModule=!0,t.Dimmer=void 0;var o=n(1),r=n(17);t.Dimmer=function(e){var t=e.style,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Box,Object.assign({style:Object.assign({position:"absolute",top:0,bottom:0,left:0,right:0,"background-color":"rgba(0, 0, 0, 0.75)","z-index":1},t)},n)))}},function(e,t,n){"use strict";t.__esModule=!0,t.Dropdown=void 0;var o=n(1),r=n(12),a=n(17),i=n(87);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t,n;function l(t){var n;return(n=e.call(this,t)||this).state={selected:t.selected,open:!1},n.handleClick=function(){n.state.open&&n.setOpen(!1)},n}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentWillUnmount=function(){window.removeEventListener("click",this.handleClick)},u.setOpen=function(e){var t=this;this.setState({open:e}),e?(setTimeout((function(){return window.addEventListener("click",t.handleClick)})),this.menuRef.focus()):window.removeEventListener("click",this.handleClick)},u.setSelected=function(e){this.setState({selected:e}),this.setOpen(!1),this.props.onSelected(e)},u.buildMenu=function(){var e=this,t=this.props.options,n=(void 0===t?[]:t).map((function(t){return(0,o.createVNode)(1,"div","Dropdown__menuentry",t,0,{onClick:function(n){e.setSelected(t)}},t)}));return n.length?n:"No Options Found"},u.render=function(){var e=this,t=this.props,n=t.color,l=void 0===n?"default":n,u=t.over,s=t.width,d=(t.onClick,t.selected,c(t,["color","over","width","onClick","selected"])),p=d.className,f=c(d,["className"]),m=u?!this.state.open:this.state.open,h=this.state.open?(0,o.createVNode)(1,"div",(0,r.classes)(["Dropdown__menu",u&&"Dropdown__over"]),this.buildMenu(),0,{tabIndex:"-1",style:{width:s}},null,(function(t){e.menuRef=t})):null;return(0,o.createVNode)(1,"div","Dropdown",[(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({width:s,className:(0,r.classes)(["Dropdown__control","Button","Button--color--"+l,p])},f,{onClick:function(t){e.setOpen(!e.state.open)},children:[(0,o.createVNode)(1,"span","Dropdown__selected-text",this.state.selected,0),(0,o.createVNode)(1,"span","Dropdown__arrow-button",(0,o.createComponentVNode)(2,i.Icon,{name:m?"chevron-up":"chevron-down"}),2)]}))),h],0)},l}(o.Component);t.Dropdown=l},function(e,t,n){"use strict";t.__esModule=!0,t.FlexItem=t.computeFlexItemProps=t.Flex=t.computeFlexProps=void 0;var o=n(1),r=n(12),a=n(17);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.className,n=e.direction,o=e.wrap,a=e.align,c=e.justify,l=e.spacing,u=void 0===l?0:l,s=i(e,["className","direction","wrap","align","justify","spacing"]);return Object.assign({className:(0,r.classes)(["Flex",u>0&&"Flex--spacing--"+u,t]),style:Object.assign({},s.style,{"flex-direction":n,"flex-wrap":o,"align-items":a,"justify-content":c})},s)};t.computeFlexProps=c;var l=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},c(e))))};t.Flex=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.grow,o=e.order,a=e.align,c=i(e,["className","grow","order","align"]);return Object.assign({className:(0,r.classes)(["Flex__item",t]),style:Object.assign({},c.style,{"flex-grow":n,order:o,"align-self":a})},c)};t.computeFlexItemProps=u;var s=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},u(e))))};t.FlexItem=s,s.defaultHooks=r.pureComponentHooks,l.Item=s},function(e,t,n){"use strict";t.__esModule=!0,t.NoticeBox=void 0;var o=n(1),r=n(12),a=n(17);var i=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["NoticeBox",t])},n)))};t.NoticeBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.NumberInput=void 0;var o=n(1),r=n(20),a=n(12),i=n(19),c=n(158),l=n(17);var u=function(e){var t,n;function u(t){var n;n=e.call(this,t)||this;var a=t.value;return n.inputRef=(0,o.createRef)(),n.state={value:a,dragging:!1,editing:!1,internalValue:null,origin:null,suppressingFlicker:!1},n.flickerTimer=null,n.suppressFlicker=function(){var e=n.props.suppressFlicker;e>0&&(n.setState({suppressingFlicker:!0}),clearTimeout(n.flickerTimer),n.flickerTimer=setTimeout((function(){return n.setState({suppressingFlicker:!1})}),e))},n.handleDragStart=function(e){var t=n.props.value;n.state.editing||(document.body.style["pointer-events"]="none",n.ref=e.target,n.setState({dragging:!1,origin:e.screenY,value:t,internalValue:t}),n.timer=setTimeout((function(){n.setState({dragging:!0})}),250),n.dragInterval=setInterval((function(){var t=n.state,o=t.dragging,r=t.value,a=n.props.onDrag;o&&a&&a(e,r)}),500),document.addEventListener("mousemove",n.handleDragMove),document.addEventListener("mouseup",n.handleDragEnd))},n.handleDragMove=function(e){var t=n.props,o=t.minValue,a=t.maxValue,i=t.step,c=t.stepPixelSize;n.setState((function(t){var n=Object.assign({},t),l=n.origin-e.screenY;if(t.dragging){var u=Number.isFinite(o)?o%i:0;n.internalValue=(0,r.clamp)(n.internalValue+l*i/c,o-i,a+i),n.value=(0,r.clamp)(n.internalValue-n.internalValue%i+u,o,a),n.origin=e.screenY}else Math.abs(l)>4&&(n.dragging=!0);return n}))},n.handleDragEnd=function(e){var t=n.props,o=t.onChange,r=t.onDrag,a=n.state,i=a.dragging,c=a.value,l=a.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(n.timer),clearInterval(n.dragInterval),n.setState({dragging:!1,editing:!i,origin:null}),document.removeEventListener("mousemove",n.handleDragMove),document.removeEventListener("mouseup",n.handleDragEnd),i)n.suppressFlicker(),o&&o(e,c),r&&r(e,c);else if(n.inputRef){var u=n.inputRef.current;u.value=l;try{u.focus(),u.select()}catch(s){}}},n}return n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,u.prototype.render=function(){var e=this,t=this.state,n=t.dragging,u=t.editing,s=t.value,d=t.suppressingFlicker,p=this.props,f=p.className,m=p.fluid,h=p.animated,C=p.value,g=p.unit,b=p.minValue,v=p.maxValue,N=p.height,V=p.width,y=p.lineHeight,_=p.fontSize,x=p.format,k=p.onChange,w=p.onDrag,L=C;(n||d)&&(L=s);var B=function(e){return(0,o.createVNode)(1,"div","NumberInput__content",e+(g?" "+g:""),0,{unselectable:i.tridentVersion<=4})},S=h&&!n&&!d&&(0,o.createComponentVNode)(2,c.AnimatedNumber,{value:L,format:x,children:B})||B(x?x(L):L);return(0,o.createComponentVNode)(2,l.Box,{className:(0,a.classes)(["NumberInput",m&&"NumberInput--fluid",f]),minWidth:V,minHeight:N,lineHeight:y,fontSize:_,onMouseDown:this.handleDragStart,children:[(0,o.createVNode)(1,"div","NumberInput__barContainer",(0,o.createVNode)(1,"div","NumberInput__bar",null,1,{style:{height:(0,r.clamp)((L-b)/(v-b)*100,0,100)+"%"}}),2),S,(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:u?undefined:"none",height:N,"line-height":y,"font-size":_},onBlur:function(t){if(u){var n=(0,r.clamp)(t.target.value,b,v);e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),w&&w(t,n)}},onKeyDown:function(t){if(13===t.keyCode){var n=(0,r.clamp)(t.target.value,b,v);return e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),void(w&&w(t,n))}27!==t.keyCode||e.setState({editing:!1})}},null,this.inputRef)]})},u}(o.Component);t.NumberInput=u,u.defaultHooks=a.pureComponentHooks,u.defaultProps={minValue:-Infinity,maxValue:+Infinity,step:1,stepPixelSize:1,suppressFlicker:50}},function(e,t,n){"use strict";t.__esModule=!0,t.ProgressBar=void 0;var o=n(1),r=n(12),a=n(20),i=function(e){var t=e.value,n=e.minValue,i=void 0===n?0:n,c=e.maxValue,l=void 0===c?1:c,u=e.ranges,s=void 0===u?{}:u,d=e.content,p=e.children,f=(t-i)/(l-i),m=d!==undefined||p!==undefined,h=e.color;if(!h)for(var C=0,g=Object.keys(s);C=v[0]&&t<=v[1]){h=b;break}}return h||(h="default"),(0,o.createVNode)(1,"div",(0,r.classes)(["ProgressBar","ProgressBar--color--"+h]),[(0,o.createVNode)(1,"div","ProgressBar__fill",null,1,{style:{width:100*(0,a.clamp)(f,0,1)+"%"}}),(0,o.createVNode)(1,"div","ProgressBar__content",[m&&d,m&&p,!m&&(0,a.toFixed)(100*f)+"%"],0)],4)};t.ProgressBar=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Section=void 0;var o=n(1),r=n(12),a=n(17);var i=function(e){var t=e.className,n=e.title,i=e.level,c=void 0===i?1:i,l=e.buttons,u=e.content,s=e.children,d=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className","title","level","buttons","content","children"]),p=!(0,r.isFalsy)(n)||!(0,r.isFalsy)(l),f=!(0,r.isFalsy)(u)||!(0,r.isFalsy)(s);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Section","Section--level--"+c,t])},d,{children:[p&&(0,o.createVNode)(1,"div","Section__title",[(0,o.createVNode)(1,"span","Section__titleText",n,0),(0,o.createVNode)(1,"div","Section__buttons",l,0)],4),f&&(0,o.createVNode)(1,"div","Section__content",[u,s],0)]})))};t.Section=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Tab=t.Tabs=void 0;var o=n(1),r=n(12),a=n(17),i=n(114);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t=e,n=Array.isArray(t),o=0;for(t=n?t:t[Symbol.iterator]();;){var r;if(n){if(o>=t.length)break;r=t[o++]}else{if((o=t.next()).done)break;r=o.value}var a=r;if(!a.props||"Tab"!==a.props.__type__){var i=JSON.stringify(a,null,2);throw new Error(" only accepts children of type .This is what we received: "+i)}}},u=function(e){var t,n;function u(t){var n;return(n=e.call(this,t)||this).state={activeTabKey:null},n}n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var s=u.prototype;return s.getActiveTab=function(){var e=this.state,t=this.props,n=(0,r.normalizeChildren)(t.children);l(n);var o=t.activeTab||e.activeTabKey,a=n.find((function(e){return(e.key||e.props.label)===o}));return a||(a=n[0],o=a&&(a.key||a.props.label)),{tabs:n,activeTab:a,activeTabKey:o}},s.render=function(){var e=this,t=this.props,n=t.className,l=t.vertical,u=(t.children,c(t,["className","vertical","children"])),s=this.getActiveTab(),d=s.tabs,p=s.activeTab,f=s.activeTabKey,m=null;return p&&(m=p.props.content||p.props.children),"function"==typeof m&&(m=m(f)),(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Tabs",l&&"Tabs--vertical",n])},u,{children:[(0,o.createVNode)(1,"div","Tabs__tabBox",d.map((function(t){var n=t.props,a=n.className,l=n.label,u=(n.content,n.children,n.onClick),s=n.highlight,d=c(n,["className","label","content","children","onClick","highlight"]),p=t.key||t.props.label,m=t.active||p===f;return(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Button,Object.assign({className:(0,r.classes)(["Tabs__tab",m&&"Tabs__tab--active",s&&!m&&"color-yellow",a]),selected:m,color:"transparent",onClick:function(n){e.setState({activeTabKey:p}),u&&u(n,t)}},d,{children:l}),p))})),0),(0,o.createVNode)(1,"div","Tabs__content",m||null,0)]})))},u}(o.Component);t.Tabs=u;var s=function(e){return null};t.Tab=s,s.defaultProps={__type__:"Tab"},u.Tab=s},function(e,t,n){"use strict";t.__esModule=!0,t.TitleBar=void 0;var o=n(1),r=n(12),a=n(28),i=n(19),c=n(37),l=n(87),u=function(e){switch(e){case c.UI_INTERACTIVE:return"good";case c.UI_UPDATE:return"average";case c.UI_DISABLED:default:return"bad"}},s=function(e){var t=e.className,n=e.title,c=e.status,s=e.fancy,d=e.onDragStart,p=e.onClose;return(0,o.createVNode)(1,"div",(0,r.classes)(["TitleBar",t]),[(0,o.createComponentVNode)(2,l.Icon,{className:"TitleBar__statusIcon",color:u(c),name:"eye"}),(0,o.createVNode)(1,"div","TitleBar__title",n===n.toLowerCase()?(0,a.toTitleCase)(n):n,0),(0,o.createVNode)(1,"div","TitleBar__dragZone",null,1,{onMousedown:function(e){return s&&d(e)}}),!!s&&(0,o.createVNode)(1,"div","TitleBar__close TitleBar__clickable",i.tridentVersion<=4?"x":"\xd7",0,{onclick:p})],0)};t.TitleBar=s,s.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=void 0;var o=n(1),r=n(29),a=n(17),i=n(12),c=n(19);var l=function(e,t,n,o){if(0===e.length)return[];var a=(0,r.zipWith)(Math.min).apply(void 0,e),i=(0,r.zipWith)(Math.max).apply(void 0,e);return n!==undefined&&(a[0]=n[0],i[0]=n[1]),o!==undefined&&(a[1]=o[0],i[1]=o[1]),(0,r.map)((function(e){return(0,r.zipWith)((function(e,t,n,o){return(e-t)/(n-t)*o}))(e,a,i,t)}))(e)},u=function(e){for(var t="",n=0;n=0||(r[n]=e[n]);return r}(t,["data","rangeX","rangeY","fillColor","strokeColor","strokeWidth"]),g=this.state.viewBox,b=l(r,g,i,c);if(b.length>0){var v=b[0],N=b[b.length-1];b.push([g[0]+h,N[1]]),b.push([g[0]+h,-h]),b.push([-h,-h]),b.push([-h,v[1]])}var V=u(b);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({position:"relative"},C,{children:function(t){return(0,o.normalizeProps)((0,o.createVNode)(1,"div",null,(0,o.createVNode)(32,"svg",null,(0,o.createVNode)(32,"polyline",null,null,1,{transform:"scale(1, -1) translate(0, -"+g[1]+")",fill:d,stroke:f,"stroke-width":h,points:V}),2,{viewBox:"0 0 "+g[0]+" "+g[1],preserveAspectRatio:"none",style:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden"}}),2,Object.assign({},t),null,e.ref))}})))},r}(o.Component);s.defaultHooks=i.pureComponentHooks;var d={Line:c.tridentVersion<=4?function(e){return null}:s};t.Chart=d},function(e,t,n){"use strict";t.__esModule=!0,t.AiAirlock=void 0;var o=n(1),r=n(3),a=n(2);t.AiAirlock=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c={2:{color:"good",localStatusText:"Offline"},1:{color:"average",localStatusText:"Caution"},0:{color:"bad",localStatusText:"Optimal"}},l=c[i.power.main]||c[0],u=c[i.power.backup]||c[0],s=c[i.shock]||c[0];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main",color:l.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.main,content:"Disrupt",onClick:function(){return n("disrupt-main")}}),children:[i.power.main?"Online":"Offline"," ",i.wires.main_1&&i.wires.main_2?i.power.main_timeleft>0&&"["+i.power.main_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Backup",color:u.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.backup,content:"Disrupt",onClick:function(){return n("disrupt-backup")}}),children:[i.power.backup?"Online":"Offline"," ",i.wires.backup_1&&i.wires.backup_2?i.power.backup_timeleft>0&&"["+i.power.backup_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Electrify",color:s.color,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",disabled:!(i.wires.shock&&0===i.shock),content:"Restore",onClick:function(){return n("shock-restore")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Temporary",onClick:function(){return n("shock-temp")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Permanent",onClick:function(){return n("shock-perm")}})],4),children:[2===i.shock?"Safe":"Electrified"," ",(i.wires.shock?i.shock_timeleft>0&&"["+i.shock_timeleft+"s]":"[Wires have been cut!]")||-1===i.shock_timeleft&&"[Permanent]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Access and Door Control",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID Scan",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.id_scanner?"power-off":"times",content:i.id_scanner?"Enabled":"Disabled",selected:i.id_scanner,disabled:!i.wires.id_scanner,onClick:function(){return n("idscan-toggle")}}),children:!i.wires.id_scanner&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Access",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.emergency?"power-off":"times",content:i.emergency?"Enabled":"Disabled",selected:i.emergency,onClick:function(){return n("emergency-toggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolts",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.locked?"lock":"unlock",content:i.locked?"Lowered":"Raised",selected:i.locked,disabled:!i.wires.bolts,onClick:function(){return n("bolt-toggle")}}),children:!i.wires.bolts&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolt Lights",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.lights?"power-off":"times",content:i.lights?"Enabled":"Disabled",selected:i.lights,disabled:!i.wires.lights,onClick:function(){return n("light-toggle")}}),children:!i.wires.lights&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Force Sensors",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.safe?"power-off":"times",content:i.safe?"Enabled":"Disabled",selected:i.safe,disabled:!i.wires.safe,onClick:function(){return n("safe-toggle")}}),children:!i.wires.safe&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Timing Safety",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.speed?"power-off":"times",content:i.speed?"Enabled":"Disabled",selected:i.speed,disabled:!i.wires.timing,onClick:function(){return n("speed-toggle")}}),children:!i.wires.timing&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Control",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.opened?"sign-out-alt":"sign-in-alt",content:i.opened?"Open":"Closed",selected:i.opened,disabled:i.locked||i.welded,onClick:function(){return n("open-close")}}),children:!(!i.locked&&!i.welded)&&(0,o.createVNode)(1,"span",null,[(0,o.createTextVNode)("[Door is "),i.locked?"bolted":"",i.locked&&i.welded?" and ":"",i.welded?"welded":"",(0,o.createTextVNode)("!]")],0)})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.AirAlarm=void 0;var o=n(1),r=n(20),a=n(28),i=n(3),c=n(2),l=n(37),u=n(69);t.AirAlarm=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.data,c=a.locked&&!a.siliconUser;return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.InterfaceLockNoticeBox,{siliconUser:a.siliconUser,locked:a.locked,onLockStatusChange:function(){return r("lock")}}),(0,o.createComponentVNode)(2,s,{state:t}),!c&&(0,o.createComponentVNode)(2,p,{state:t})],0)};var s=function(e){var t=(0,i.useBackend)(e).data,n=(t.environment_data||[]).filter((function(e){return e.value>=.01})),a={0:{color:"good",localStatusText:"Optimal"},1:{color:"average",localStatusText:"Caution"},2:{color:"bad",localStatusText:"Danger (Internals Required)"}},l=a[t.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.Section,{title:"Air Status",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[n.length>0&&(0,o.createFragment)([n.map((function(e){var t=a[e.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.name,color:t.color,children:[(0,r.toFixed)(e.value,2),e.unit]},e.name)})),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Local status",color:l.color,children:l.localStatusText}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Area status",color:t.atmos_alarm||t.fire_alarm?"bad":"good",children:(t.atmos_alarm?"Atmosphere Alarm":t.fire_alarm&&"Fire Alarm")||"Nominal"})],0)||(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Cannot obtain air sample for analysis."}),!!t.emagged&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Safety measures offline. Device may exhibit abnormal behavior."})]})})},d={home:{title:"Air Controls",component:function(){return f}},vents:{title:"Vent Controls",component:function(){return m}},scrubbers:{title:"Scrubber Controls",component:function(){return C}},modes:{title:"Operating Mode",component:function(){return b}},thresholds:{title:"Alarm Thresholds",component:function(){return v}}},p=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.config,l=d[a.screen]||d.home,u=l.component();return(0,o.createComponentVNode)(2,c.Section,{title:l.title,buttons:"home"!==a.screen&&(0,o.createComponentVNode)(2,c.Button,{icon:"arrow-left",content:"Back",onClick:function(){return r("tgui:view",{screen:"home"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},f=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data,a=r.mode,l=r.atmos_alarm;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:l?"exclamation-triangle":"exclamation",color:l&&"caution",content:"Area Atmosphere Alarm",onClick:function(){return n(l?"reset":"alarm")}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:3===a?"exclamation-triangle":"exclamation",color:3===a&&"danger",content:"Panic Siphon",onClick:function(){return n("mode",{mode:3===a?1:3})}}),(0,o.createComponentVNode)(2,c.Box,{mt:2}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"Vent Controls",onClick:function(){return n("tgui:view",{screen:"vents"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"filter",content:"Scrubber Controls",onClick:function(){return n("tgui:view",{screen:"scrubbers"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"cog",content:"Operating Mode",onClick:function(){return n("tgui:view",{screen:"modes"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"chart-bar",content:"Alarm Thresholds",onClick:function(){return n("tgui:view",{screen:"thresholds"})}})],4)},m=function(e){var t=e.state,n=(0,i.useBackend)(e).data.vents;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},h=function(e){var t=e.id_tag,n=e.long_name,r=e.power,l=e.checks,u=e.excheck,s=e.incheck,d=e.direction,p=e.external,f=e.internal,m=e.extdefault,h=e.intdefault,C=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(n),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:r?"power-off":"times",selected:r,content:r?"On":"Off",onClick:function(){return C("power",{id_tag:t,val:Number(!r)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:"release"===d?"Pressurizing":"Releasing"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,c.Button,{icon:"sign-in-alt",content:"Internal",selected:s,onClick:function(){return C("incheck",{id_tag:t,val:l})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"External",selected:u,onClick:function(){return C("excheck",{id_tag:t,val:l})}})]}),!!s&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Internal Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(f),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_internal_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:h,content:"Reset",onClick:function(){return C("reset_internal_pressure",{id_tag:t})}})]}),!!u&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"External Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(p),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_external_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:m,content:"Reset",onClick:function(){return C("reset_external_pressure",{id_tag:t})}})]})]})})},C=function(e){var t=e.state,n=(0,i.useBackend)(e).data.scrubbers;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,g,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},g=function(e){var t=e.long_name,n=e.power,r=e.scrubbing,u=e.id_tag,s=e.widenet,d=e.filter_types,p=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(t),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:n?"power-off":"times",content:n?"On":"Off",selected:n,onClick:function(){return p("power",{id_tag:u,val:Number(!n)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:[(0,o.createComponentVNode)(2,c.Button,{icon:r?"filter":"sign-in-alt",color:r||"danger",content:r?"Scrubbing":"Siphoning",onClick:function(){return p("scrubbing",{id_tag:u,val:Number(!r)})}}),(0,o.createComponentVNode)(2,c.Button,{icon:s?"expand":"compress",selected:s,content:s?"Expanded range":"Normal range",onClick:function(){return p("widenet",{id_tag:u,val:Number(!s)})}})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Filters",children:r&&d.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,l.getGasLabel)(e.gas_id,e.gas_name),title:e.gas_name,selected:e.enabled,onClick:function(){return p("toggle_filter",{id_tag:u,val:e.gas_id})}},e.gas_id)}))||"N/A"})]})})},b=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data.modes;return r&&0!==r.length?r.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:e.selected?"check-square-o":"square-o",selected:e.selected,color:e.selected&&e.danger&&"danger",content:e.name,onClick:function(){return n("mode",{mode:e.mode})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1})],4,e.mode)})):"Nothing to show"},v=function(e){var t=(0,i.useBackend)(e),n=t.act,a=t.data.thresholds;return(0,o.createVNode)(1,"table","LabeledList",[(0,o.createVNode)(1,"thead",null,(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","color-bad","min2",16),(0,o.createVNode)(1,"td","color-average","min1",16),(0,o.createVNode)(1,"td","color-average","max1",16),(0,o.createVNode)(1,"td","color-bad","max2",16)],4),2),(0,o.createVNode)(1,"tbody",null,a.map((function(e){return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td","LabeledList__label",e.name,0),e.settings.map((function(e){return(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,c.Button,{content:(0,r.toFixed)(e.selected,2),onClick:function(){return n("threshold",{env:e.env,"var":e.val})}}),2,null,e.val)}))],0,null,e.name)})),0)],4,{style:{width:"100%"}})}},function(e,t,n){"use strict";t.__esModule=!0,t.AirlockElectronics=void 0;var o=n(1),r=n(3),a=n(2);t.AirlockElectronics=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.regions||[],l={0:{icon:"times-circle"},1:{icon:"stop-circle"},2:{icon:"check-circle"}};return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Main",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access Required",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.oneAccess?"unlock":"lock",content:i.oneAccess?"One":"All",onClick:function(){return n("one_access")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mass Modify",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"check-double",content:"Grant All",onClick:function(){return n("grant_all")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Clear All",onClick:function(){return n("clear_all")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Unrestricted Access",children:[(0,o.createComponentVNode)(2,a.Button,{icon:1&i.unres_direction?"check-square-o":"square-o",content:"North",selected:1&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"1"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:2&i.unres_direction?"check-square-o":"square-o",content:"East",selected:2&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"2"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:4&i.unres_direction?"check-square-o":"square-o",content:"South",selected:4&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"4"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:8&i.unres_direction?"check-square-o":"square-o",content:"West",selected:8&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"8"})}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Access",children:(0,o.createComponentVNode)(2,a.Box,{height:"261px",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:c.map((function(e){var t=e.name,r=e.accesses||[],i=l[function(e){var t=!1,n=!1;return e.forEach((function(e){e.req?t=!0:n=!0})),!t&&n?0:t&&n?1:2}(r)].icon;return(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:i,label:t,children:function(){return r.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:e.req?"check-square-o":"square-o",content:e.name,selected:e.req,onClick:function(){return n("set",{access:e.id})}})},e.id)}))}},t)}))})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Apc=void 0;var o=n(1),r=n(3),a=n(2),i=n(69);t.Apc=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u={2:{color:"good",externalPowerText:"External Power",chargingText:"Fully Charged"},1:{color:"average",externalPowerText:"Low External Power",chargingText:"Charging"},0:{color:"bad",externalPowerText:"No External Power",chargingText:"Not Charging"}},s={1:{icon:"terminal",content:"Override Programming",action:"hack"},2:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"},3:{icon:"caret-square-left",content:"Return to Main Core",action:"deoccupy"},4:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"}},d=u[c.externalPower]||u[0],p=u[c.chargingStatus]||u[0],f=c.powerChannels||[],m=s[c.malfStatus]||s[0],h=c.powerCellStatus/100;return c.failTime>0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createVNode)(1,"b",null,(0,o.createVNode)(1,"h3",null,"SYSTEM FAILURE",16),2),(0,o.createVNode)(1,"i",null,"I/O regulators malfunction detected! Waiting for system reboot...",16),(0,o.createVNode)(1,"br"),"Automatic reboot in ",c.failTime," seconds...",(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reboot Now",onClick:function(){return n("reboot")}})]}):(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:c.siliconUser,locked:c.locked,onLockStatusChange:function(){return n("lock")}}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main Breaker",color:d.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",content:c.isOperating?"On":"Off",selected:c.isOperating&&!l,disabled:l,onClick:function(){return n("breaker")}}),children:["[ ",d.externalPowerText," ]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power Cell",children:(0,o.createComponentVNode)(2,a.ProgressBar,{color:"good",value:h})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",color:p.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.chargeMode?"sync":"close",content:c.chargeMode?"Auto":"Off",disabled:l,onClick:function(){return n("charge")}}),children:["[ ",p.chargingText," ]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Channels",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[f.map((function(e){var t=e.topicParams;return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.title,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,mx:2,color:e.status>=2?"good":"bad",children:e.status>=2?"On":"Off"}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:!l&&(1===e.status||3===e.status),disabled:l,onClick:function(){return n("channel",t.auto)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:"On",selected:!l&&2===e.status,disabled:l,onClick:function(){return n("channel",t.on)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:!l&&0===e.status,disabled:l,onClick:function(){return n("channel",t.off)}})],4),children:e.powerLoad},e.title)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Total Load",children:(0,o.createVNode)(1,"b",null,c.totalLoad,0)})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Misc",buttons:!!c.siliconUser&&(0,o.createFragment)([!!c.malfStatus&&(0,o.createComponentVNode)(2,a.Button,{icon:m.icon,content:m.content,color:"bad",onClick:function(){return n(m.action)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:"Overload",onClick:function(){return n("overload")}})],0),children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cover Lock",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.coverLocked?"lock":"unlock",content:c.coverLocked?"Engaged":"Disengaged",disabled:l,onClick:function(){return n("cover")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.emergencyLights?"Enabled":"Disabled",disabled:l,onClick:function(){return n("emergency_lighting")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Night Shift Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.nightshiftLights?"Enabled":"Disabled",disabled:l,onClick:function(){return n("toggle_nightshift")}})})]}),c.hijackable&&(0,o.createComponentVNode)(2,a.Section,{title:"Hijacking",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"unlock",content:"Hijack",disabled:c.hijacker,onClick:function(){return n("hijack")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lock",content:"Lockdown",disabled:!c.lockdownavail,onClick:function(){return n("lockdown")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:"Drain",disabled:!c.drainavail,onClick:function(){return n("drain")}})],4)})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosAlertConsole=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosAlertConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.priority||[],l=i.minor||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Alarms",children:(0,o.createVNode)(1,"ul",null,[c.length>0?c.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"bad",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Priority Alerts",16),l.length>0?l.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"average",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Minor Alerts",16)],0)})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosControlConsole=void 0;var o=n(1),r=n(29),a=n(20),i=n(3),c=n(2);t.AtmosControlConsole=function(e){var t=(0,i.useBackend)(e),n=t.act,l=t.data,u=l.sensors||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:!!l.tank&&u[0].long_name,children:u.map((function(e){var t=e.gases||{};return(0,o.createComponentVNode)(2,c.Section,{title:!l.tank&&e.long_name,level:2,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure",children:(0,a.toFixed)(e.pressure,2)+" kPa"}),!!e.temperature&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Temperature",children:(0,a.toFixed)(e.temperature,2)+" K"}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:t,children:(0,a.toFixed)(e,2)+"%"})}))(t)]})},e.id_tag)}))}),l.tank&&(0,o.createComponentVNode)(2,c.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"undo",content:"Reconnect",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Injector",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.inputting?"power-off":"times",content:l.inputting?"Injecting":"Off",selected:l.inputting,onClick:function(){return n("input")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Rate",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:l.inputRate,unit:"L/s",width:"63px",minValue:0,maxValue:200,suppressFlicker:2e3,onChange:function(e,t){return n("rate",{rate:t})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Regulator",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.outputting?"power-off":"times",content:l.outputting?"Open":"Closed",selected:l.outputting,onClick:function(){return n("output")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Pressure",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:parseFloat(l.outputPressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,suppressFlicker:2e3,onChange:function(e,t){return n("pressure",{pressure:t})}})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosFilter=void 0;var o=n(1),r=n(3),a=n(2),i=n(37);t.AtmosFilter=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.filter_types||[];return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(c.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onDrag:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:c.rate===c.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Filter",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:e.selected,content:(0,i.getGasLabel)(e.id,e.name),onClick:function(){return n("filter",{mode:e.id})}},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosMixer=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosMixer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.set_pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.set_pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 1",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node1_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node1",{concentration:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 2",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node2_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node2",{concentration:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosPump=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosPump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),i.max_rate?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onChange:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.rate===i.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}):(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BankMachine=void 0;var o=n(1),r=n(3),a=n(2);t.BankMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.current_balance,l=i.siphoning,u=i.station_name;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:u+" Vault",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Balance",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"times":"sync",content:l?"Stop Siphoning":"Siphon Credits",selected:l,onClick:function(){return n(l?"halt":"siphon")}}),children:c+" cr"})})}),(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Authorized personnel only"})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BluespaceArtillery=void 0;var o=n(1),r=n(3),a=n(2);t.BluespaceArtillery=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.notice,l=i.connected,u=i.unlocked,s=i.target;return(0,o.createFragment)([!!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:c}),l?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"crosshairs",disabled:!u,onClick:function(){return n("recalibrate")}}),children:(0,o.createComponentVNode)(2,a.Box,{color:s?"average":"bad",fontSize:"25px",children:s||"No Target Set"})}),(0,o.createComponentVNode)(2,a.Section,{children:u?(0,o.createComponentVNode)(2,a.Box,{style:{margin:"auto"},children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"FIRE",color:"bad",disabled:!s,fontSize:"30px",textAlign:"center",lineHeight:"46px",onClick:function(){return n("fire")}})}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{color:"bad",fontSize:"18px",children:"Bluespace artillery is currently locked."}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"Awaiting authorization via keycard reader from at minimum two station heads."})],4)})],4):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Maintenance",children:(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",content:"Complete Deployment",onClick:function(){return n("build")}})})})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Bepis=void 0;var o=n(1),r=(n(28),n(19)),a=n(2);t.Bepis=function(e){var t=e.state,n=t.config,i=t.data,c=n.ref,l=i.amount;return(0,o.createComponentVNode)(2,a.Section,{title:"Business Exploration Protocol Incubation Sink",children:[(0,o.createComponentVNode)(2,a.Section,{title:"Information",backgroundColor:"#450F44",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.manual_power?"Off":"On",selected:!i.manual_power,onClick:function(){return(0,r.act)(c,"toggle_power")}}),children:"All you need to know about the B.E.P.I.S. and you! The B.E.P.I.S. performs hundreds of tests a second using electrical and financial resources to invent new products, or discover new technologies otherwise overlooked for being too risky or too niche to produce!"}),(0,o.createComponentVNode)(2,a.Section,{title:"Payer's Account",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"redo-alt",content:"Reset Account",onClick:function(){return(0,r.act)(c,"account_reset")}}),children:["Console is currently being operated by ",i.account_owner?i.account_owner:"no one","."]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Stored Data and Statistics",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposited Credits",children:i.stored_cash}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Investment Variability",children:[i.accuracy_percentage,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Innovation Bonus",children:i.positive_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Risk Offset",color:"bad",children:i.negative_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposit Amount",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:l,unit:"Credits",minValue:100,maxValue:3e4,step:100,stepPixelSize:2,onChange:function(e,t){return(0,r.act)(c,"amount",{amount:t})}})})]})}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"donate",content:"Deposit Credits",disabled:1===i.manual_power||1===i.silicon_check,onClick:function(){return(0,r.act)(c,"deposit_cash")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Withdraw Credits",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"withdraw_cash")}})]})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Market Data and Analysis",children:[(0,o.createComponentVNode)(2,a.Box,{children:["Average technology cost: ",i.mean_value]}),i.error_name&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Previous Failure Reason: Deposited cash value too low. Please insert more money for future success."}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"microscope",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"begin_experiment")},content:"Begin Testing"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.BorgPanel=void 0;var o=n(1),r=n(3),a=n(2);t.BorgPanel=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.borg||{},l=i.cell||{},u=l.charge/l.maxcharge,s=i.channels||[],d=i.modules||[],p=i.upgrades||[],f=i.ais||[],m=i.laws||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:c.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Rename",onClick:function(){return n("rename")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.emagged?"check-square-o":"square-o",content:"Emagged",selected:c.emagged,onClick:function(){return n("toggle_emagged")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.lockdown?"check-square-o":"square-o",content:"Locked Down",selected:c.lockdown,onClick:function(){return n("toggle_lockdown")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.scrambledcodes?"check-square-o":"square-o",content:"Scrambled Codes",selected:c.scrambledcodes,onClick:function(){return n("toggle_scrambledcodes")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge",children:[l.missing?(0,o.createVNode)(1,"span","color-bad","No cell installed",16):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,content:l.charge+" / "+l.maxcharge}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("set_charge")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Change",onClick:function(){return n("change_cell")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:"Remove",color:"bad",onClick:function(){return n("remove_cell")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radio Channels",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_radio",{channel:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Module",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:c.active_module===e.type?"check-square-o":"square-o",content:e.name,selected:c.active_module===e.type,onClick:function(){return n("setmodule",{module:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Upgrades",children:p.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_upgrade",{upgrade:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Master AI",children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.connected?"check-square-o":"square-o",content:e.name,selected:e.connected,onClick:function(){return n("slavetoai",{slavetoai:e.ref})}},e.ref)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Laws",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.lawupdate?"check-square-o":"square-o",content:"Lawsync",selected:c.lawupdate,onClick:function(){return n("toggle_lawupdate")}}),children:m.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e},e)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BrigTimer=void 0;var o=n(1),r=n(3),a=n(2);t.BrigTimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Cell Timer",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:i.timing?"Stop":"Start",selected:i.timing,onClick:function(){return n(i.timing?"stop":"start")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:i.flash_charging?"Recharging":"Flash",disabled:i.flash_charging,onClick:function(){return n("flash")}})],4),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",onClick:function(){return n("time",{adjust:-600})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",onClick:function(){return n("time",{adjust:-100})}})," ",String(i.minutes).padStart(2,"0"),":",String(i.seconds).padStart(2,"0")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",onClick:function(){return n("time",{adjust:100})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",onClick:function(){return n("time",{adjust:600})}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Short",onClick:function(){return n("preset",{preset:"short"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Medium",onClick:function(){return n("preset",{preset:"medium"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Long",onClick:function(){return n("preset",{preset:"long"})}})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Canister=void 0;var o=n(1),r=n(3),a=n(2);t.Canister=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:["The regulator ",i.hasHoldingTank?"is":"is not"," connected to a tank."]}),(0,o.createComponentVNode)(2,a.Section,{title:"Canister",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Relabel",onClick:function(){return n("relabel")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.tankPressure})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:i.portConnected?"good":"average",content:i.portConnected?"Connected":"Not Connected"}),!!i.isPrototype&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.restricted?"lock":"unlock",color:"caution",content:i.restricted?"Restricted to Engineering":"Public",onClick:function(){return n("restricted")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Valve",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Release Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.releasePressure/(i.maxReleasePressure-i.minReleasePressure),children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.releasePressure})," kPa"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"undo",disabled:i.releasePressure===i.defaultReleasePressure,content:"Reset",onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:i.releasePressure<=i.minReleasePressure,content:"Min",onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("pressure",{pressure:"input"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:i.releasePressure>=i.maxReleasePressure,content:"Max",onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Valve",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.valveOpen?"unlock":"lock",color:i.valveOpen?i.hasHoldingTank?"caution":"danger":null,content:i.valveOpen?"Open":"Closed",onClick:function(){return n("valve")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",buttons:!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",color:i.valveOpen&&"danger",content:"Eject",onClick:function(){return n("eject")}}),children:[!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:i.holdingTank.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.holdingTank.tankPressure})," kPa"]})]}),!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Holding Tank"})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CargoExpress=t.Cargo=void 0;var o=n(1),r=n(29),a=n(19),i=n(2),c=n(69);t.Cargo=function(e){var t=e.state,n=t.config,r=t.data,c=n.ref,d=r.supplies||{},p=r.requests||[],f=r.cart||[],m=f.reduce((function(e,t){return e+t.cost}),0),h=!r.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:1,children:[0===f.length&&"Cart is empty",1===f.length&&"1 item",f.length>=2&&f.length+" items"," ",m>0&&"("+m+" cr)"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"transparent",content:"Clear",onClick:function(){return(0,a.act)(c,"clear")}})],4);return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle",children:r.docked&&!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{content:r.location,onClick:function(){return(0,a.act)(c,"send")}})||r.location}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"CentCom Message",children:r.message}),r.loan&&!r.requestonly?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Loan",children:r.loan_dispatched?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Loaned to Centcom"}):(0,o.createComponentVNode)(2,i.Button,{content:"Loan Shuttle",disabled:!(r.away&&r.docked),onClick:function(){return(0,a.act)(c,"loan")}})}):""]})}),(0,o.createComponentVNode)(2,i.Tabs,{mt:2,children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Catalog",icon:"list",lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Catalog",buttons:h,children:(0,o.createComponentVNode)(2,l,{state:t,supplies:d})})}},"catalog"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Requests ("+p.length+")",icon:"envelope",highlight:p.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Active Requests",buttons:!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Clear",color:"transparent",onClick:function(){return(0,a.act)(c,"denyall")}}),children:(0,o.createComponentVNode)(2,u,{state:t,requests:p})})}},"requests"),!r.requestonly&&(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Checkout ("+f.length+")",icon:"shopping-cart",highlight:f.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Current Cart",buttons:h,children:(0,o.createComponentVNode)(2,s,{state:t,cart:f})})}},"cart")]})],4)};var l=function(e){var t=e.state,n=e.supplies,c=t.config,l=t.data,u=c.ref,s=function(e){var t=n[e].packs;return(0,o.createVNode)(1,"table","LabeledList",t.map((function(e){return(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[e.name,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.small_item&&(0,o.createFragment)([(0,o.createTextVNode)("Small Item")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.access&&(0,o.createFragment)([(0,o.createTextVNode)("Restrictions Apply")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:(l.self_paid?Math.round(1.1*e.cost):e.cost)+" credits",tooltip:e.desc,tooltipPosition:"left",onClick:function(){return(0,a.act)(u,"add",{id:e.id})}}),2)],4,null,e.name)})),0)};return(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e){var t=e.name;return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:t,children:s},t)}))(n)})},u=function(e){var t=e.state,n=e.requests,r=t.config,c=t.data,l=r.ref;return 0===n.length?(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"No Requests"}):(0,o.createVNode)(1,"table","LabeledList",n.map((function(e){return(0,o.createFragment)([(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[(0,o.createTextVNode)("#"),e.id,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__content",e.object,0),(0,o.createVNode)(1,"td","LabeledList__cell",[(0,o.createTextVNode)("By "),(0,o.createVNode)(1,"b",null,e.orderer,0)],4),(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createVNode)(1,"i",null,e.reason,0),2),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",[e.cost,(0,o.createTextVNode)(" credits"),(0,o.createTextVNode)(" "),!c.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"check",color:"good",onClick:function(){return(0,a.act)(l,"approve",{id:e.id})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"bad",onClick:function(){return(0,a.act)(l,"deny",{id:e.id})}})],4)],0)],4)],4,e.id)})),0)},s=function(e){var t=e.state,n=e.cart,r=t.config,c=t.data,l=r.ref;return(0,o.createFragment)([0===n.length&&"Nothing in cart",n.length>0&&(0,o.createComponentVNode)(2,i.LabeledList,{children:n.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{className:"candystripe",label:"#"+e.id,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:2,children:[!!e.paid&&(0,o.createVNode)(1,"b",null,"[Paid Privately]",16)," ",e.cost," credits"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus",onClick:function(){return(0,a.act)(l,"remove",{id:e.id})}})],4),children:e.object},e.id)}))}),n.length>0&&!c.requestonly&&(0,o.createComponentVNode)(2,i.Box,{mt:2,children:1===c.away&&1===c.docked&&(0,o.createComponentVNode)(2,i.Button,{color:"green",style:{"line-height":"28px",padding:"0 12px"},content:"Confirm the order",onClick:function(){return(0,a.act)(l,"send")}})||(0,o.createComponentVNode)(2,i.Box,{opacity:.5,children:["Shuttle in ",c.location,"."]})})],0)};t.CargoExpress=function(e){var t=e.state,n=t.config,r=t.data,u=n.ref,s=r.supplies||{};return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.InterfaceLockNoticeBox,{siliconUser:r.siliconUser,locked:r.locked,onLockStatusChange:function(){return(0,a.act)(u,"lock")},accessText:"a QM-level ID card"}),!r.locked&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo Express",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Landing Location",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Cargo Bay",selected:!r.usingBeacon,onClick:function(){return(0,a.act)(u,"LZCargo")}}),(0,o.createComponentVNode)(2,i.Button,{selected:r.usingBeacon,disabled:!r.hasBeacon,onClick:function(){return(0,a.act)(u,"LZBeacon")},children:[r.beaconzone," (",r.beaconName,")"]}),(0,o.createComponentVNode)(2,i.Button,{content:r.printMsg,disabled:!r.canBuyBeacon,onClick:function(){return(0,a.act)(u,"printBeacon")}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Notice",children:r.message})]})}),(0,o.createComponentVNode)(2,l,{state:t,supplies:s})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.CellularEmporium=void 0;var o=n(1),r=n(3),a=n(2);t.CellularEmporium=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.abilities;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Genetic Points",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Readapt",disabled:!i.can_readapt,onClick:function(){return n("readapt")}}),children:i.genetic_points_remaining})})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{className:"candystripe",label:e.name,buttons:(0,o.createFragment)([e.dna_cost," ",(0,o.createComponentVNode)(2,a.Button,{content:e.owned?"Evolved":"Evolve",selected:e.owned,onClick:function(){return n("evolve",{name:e.name})}})],0),children:[e.desc,(0,o.createComponentVNode)(2,a.Box,{color:"good",children:e.helptext})]},e.name)}))})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CentcomPodLauncher=void 0;var o=n(1),r=(n(28),n(3)),a=n(2);t.CentcomPodLauncher=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:"To use this, simply spawn the atoms you want in one of the five Centcom Supplypod Bays. Items in the bay will then be launched inside your supplypod, one turf-full at a time! You can optionally use the following buttons to configure how the supplypod acts."}),(0,o.createComponentVNode)(2,a.Section,{title:"Centcom Pod Customization (To be used against Helen Weinstein)",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Supply Bay",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bay #1",selected:1===i.bayNumber,onClick:function(){return n("bay1")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #2",selected:2===i.bayNumber,onClick:function(){return n("bay2")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #3",selected:3===i.bayNumber,onClick:function(){return n("bay3")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #4",selected:4===i.bayNumber,onClick:function(){return n("bay4")}}),(0,o.createComponentVNode)(2,a.Button,{content:"ERT Bay",selected:5===i.bayNumber,tooltip:"This bay is located on the western edge of CentCom. Its the\nglass room directly west of where ERT spawn, and south of the\nCentCom ferry. Useful for launching ERT/Deathsquads/etc. onto\nthe station via drop pods.",onClick:function(){return n("bay5")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleport to",children:[(0,o.createComponentVNode)(2,a.Button,{content:i.bay,onClick:function(){return n("teleportCentcom")}}),(0,o.createComponentVNode)(2,a.Button,{content:i.oldArea?i.oldArea:"Where you were",disabled:!i.oldArea,onClick:function(){return n("teleportBack")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Clone Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:"Launch Clones",selected:i.launchClone,tooltip:"Choosing this will create a duplicate of the item to be\nlaunched in Centcom, allowing you to send one type of item\nmultiple times. Either way, the atoms are forceMoved into\nthe supplypod after it lands (but before it opens).",onClick:function(){return n("launchClone")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Launch style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Ordered",selected:1===i.launchChoice,tooltip:'Instead of launching everything in the bay at once, this\nwill "scan" things (one turf-full at a time) in order, left\nto right and top to bottom. undoing will reset the "scanner"\nto the top-leftmost position.',onClick:function(){return n("launchOrdered")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Random",selected:2===i.launchChoice,tooltip:"Instead of launching everything in the bay at once, this\nwill launch one random turf of items at a time.",onClick:function(){return n("launchRandom")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Explosion",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Size",selected:1===i.explosionChoice,tooltip:"This will cause an explosion of whatever size you like\n(including flame range) to occur as soon as the supplypod\nlands. Dont worry, supply-pods are explosion-proof!",onClick:function(){return n("explosionCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Adminbus",selected:2===i.explosionChoice,tooltip:"This will cause a maxcap explosion (dependent on server\nconfig) to occur as soon as the supplypod lands. Dont worry,\nsupply-pods are explosion-proof!",onClick:function(){return n("explosionBus")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Damage",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Damage",selected:1===i.damageChoice,tooltip:"Anyone caught under the pod when it lands will be dealt\nthis amount of brute damage. Sucks to be them!",onClick:function(){return n("damageCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gib",selected:2===i.damageChoice,tooltip:"This will attempt to gib any mob caught under the pod when\nit lands, as well as dealing a nice 5000 brute damage. Ya\nknow, just to be sure!",onClick:function(){return n("damageGib")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Effects",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Stun",selected:i.effectStun,tooltip:"Anyone who is on the turf when the supplypod is launched\nwill be stunned until the supplypod lands. They cant get\naway that easy!",onClick:function(){return n("effectStun")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Delimb",selected:i.effectLimb,tooltip:"This will cause anyone caught under the pod to lose a limb,\nexcluding their head.",onClick:function(){return n("effectLimb")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Yeet Organs",selected:i.effectOrgans,tooltip:"This will cause anyone caught under the pod to lose all\ntheir limbs and organs in a spectacular fashion.",onClick:function(){return n("effectOrgans")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Movement",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bluespace",selected:i.effectBluespace,tooltip:"Gives the supplypod an advanced Bluespace Recyling Device.\nAfter opening, the supplypod will be warped directly to the\nsurface of a nearby NT-designated trash planet (/r/ss13).",onClick:function(){return n("effectBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Stealth",selected:i.effectStealth,tooltip:'This hides the red target icon from appearing when you\nlaunch the supplypod. Combos well with the "Invisible"\nstyle. Sneak attack, go!',onClick:function(){return n("effectStealth")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Quiet",selected:i.effectQuiet,tooltip:"This will keep the supplypod from making any sounds, except\nfor those specifically set by admins in the Sound section.",onClick:function(){return n("effectQuiet")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Reverse Mode",selected:i.effectReverse,tooltip:"This pod will not send any items. Instead, after landing,\nthe supplypod will close (similar to a normal closet closing),\nand then launch back to the right centcom bay to drop off any\nnew contents.",onClick:function(){return n("effectReverse")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile Mode",selected:i.effectMissile,tooltip:"This pod will not send any items. Instead, it will immediately\ndelete after landing (Similar visually to setting openDelay\n& departDelay to 0, but this looks nicer). Useful if you just\nwanna fuck some shit up. Combos well with the Missile style.",onClick:function(){return n("effectMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Any Descent Angle",selected:i.effectCircle,tooltip:"This will make the supplypod come in from any angle. Im not\nsure why this feature exists, but here it is.",onClick:function(){return n("effectCircle")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Machine Gun Mode",selected:i.effectBurst,tooltip:"This will make each click launch 5 supplypods inaccuratly\naround the target turf (a 3x3 area). Combos well with the\nMissile Mode if you dont want shit lying everywhere after.",onClick:function(){return n("effectBurst")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Specific Target",selected:i.effectTarget,tooltip:"This will make the supplypod target a specific atom, instead\nof the mouses position. Smiting does this automatically!",onClick:function(){return n("effectTarget")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name/Desc",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Name/Desc",selected:i.effectName,tooltip:"Allows you to add a custom name and description.",onClick:function(){return n("effectName")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Alert Ghosts",selected:i.effectAnnounce,tooltip:"Alerts ghosts when a pod is launched. Useful if some dumb\nshit is aboutta come outta the pod.",onClick:function(){return n("effectAnnounce")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sound",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Sound",selected:i.fallingSound,tooltip:"Choose a sound to play as the pod falls. Note that for this\nto work right you should know the exact length of the sound,\nin seconds.",onClick:function(){return n("fallSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Sound",selected:i.landingSound,tooltip:"Choose a sound to play when the pod lands.",onClick:function(){return n("landingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Sound",selected:i.openingSound,tooltip:"Choose a sound to play when the pod opens.",onClick:function(){return n("openingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Sound",selected:i.leavingSound,tooltip:"Choose a sound to play when the pod departs (whether that be\ndelection in the case of a bluespace pod, or leaving for\ncentcom for a reversing pod).",onClick:function(){return n("leavingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Admin Sound Volume",selected:i.soundVolume,tooltip:"Choose the volume for the sound to play at. Default values\nare between 1 and 100, but hey, do whatever. Im a tooltip,\nnot a cop.",onClick:function(){return n("soundVolume")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Timers",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Duration",selected:4!==i.fallDuration,tooltip:"Set how long the animation for the pod falling lasts. Create\ndramatic, slow falling pods!",onClick:function(){return n("fallDuration")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Time",selected:20!==i.landingDelay,tooltip:"Choose the amount of time it takes for the supplypod to hit\nthe station. By default this value is 0.5 seconds.",onClick:function(){return n("landingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Time",selected:30!==i.openingDelay,tooltip:"Choose the amount of time it takes for the supplypod to open\nafter landing. Useful for giving whatevers inside the pod a\nnice dramatic entrance! By default this value is 3 seconds.",onClick:function(){return n("openingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Time",selected:30!==i.departureDelay,tooltip:"Choose the amount of time it takes for the supplypod to leave\nafter landing. By default this value is 3 seconds.",onClick:function(){return n("departureDelay")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.styleChoice,tooltip:"Same color scheme as the normal station-used supplypods",onClick:function(){return n("styleStandard")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.styleChoice,tooltip:"The same as the stations upgraded blue-and-white\nBluespace Supplypods",onClick:function(){return n("styleBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate",selected:4===i.styleChoice,tooltip:"A menacing black and blood-red. Great for sending meme-ops\nin style!",onClick:function(){return n("styleSyndie")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Deathsquad",selected:5===i.styleChoice,tooltip:"A menacing black and dark blue. Great for sending deathsquads\nin style!",onClick:function(){return n("styleBlue")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Cult Pod",selected:6===i.styleChoice,tooltip:"A blood and rune covered cult pod!",onClick:function(){return n("styleCult")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile",selected:7===i.styleChoice,tooltip:"A large missile. Combos well with a missile mode, so the\nmissile doesnt stick around after landing.",onClick:function(){return n("styleMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate Missile",selected:8===i.styleChoice,tooltip:"A large blood-red missile. Combos well with missile mode,\nso the missile doesnt stick around after landing.",onClick:function(){return n("styleSMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Supply Crate",selected:9===i.styleChoice,tooltip:"A large, dark-green military supply crate.",onClick:function(){return n("styleBox")}}),(0,o.createComponentVNode)(2,a.Button,{content:"HONK",selected:10===i.styleChoice,tooltip:"A colorful, clown inspired look.",onClick:function(){return n("styleHONK")}}),(0,o.createComponentVNode)(2,a.Button,{content:"~Fruit",selected:11===i.styleChoice,tooltip:"For when an orange is angry",onClick:function(){return n("styleFruit")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Invisible",selected:12===i.styleChoice,tooltip:'Makes the supplypod invisible! Useful for when you want to\nuse this feature with a gateway or something. Combos well\nwith the "Stealth" and "Quiet Landing" effects.',onClick:function(){return n("styleInvisible")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gondola",selected:13===i.styleChoice,tooltip:"This gondola can control when he wants to deliver his supplies\nif he has a smart enough mind, so offer up his body to ghosts\nfor maximum enjoyment. (Make sure to turn off bluespace and\nset a arbitrarily high open-time if you do!",onClick:function(){return n("styleGondola")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Show Contents (See Through Pod)",selected:14===i.styleChoice,tooltip:"By selecting this, the pod will instead look like whatevers\ninside it (as if it were the contents falling by themselves,\nwithout a pod). Useful for launching mechs at the station\nand standing tall as they soar in from the heavens.",onClick:function(){return n("styleSeeThrough")}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:i.numObjects+" turfs in "+i.bay,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"undo Pody Bay",tooltip:"Manually undoes the possible things to launch in the\npod bay.",onClick:function(){return n("undo")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Enter Launch Mode",selected:i.giveLauncher,tooltip:"THE CODEX ASTARTES CALLS THIS MANEUVER: STEEL RAIN",onClick:function(){return n("giveLauncher")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Clear Selected Bay",color:"bad",tooltip:"This will delete all objs and mobs from the selected bay.",tooltipPosition:"left",onClick:function(){return n("clearBay")}})],4)})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemAcclimator=void 0;var o=n(1),r=n(3),a=n(2);t.ChemAcclimator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Acclimator",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:[i.chem_temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.target_temperature,unit:"K",width:"59px",minValue:0,maxValue:1e3,step:5,stepPixelSize:2,onChange:function(e,t){return n("set_target_temperature",{temperature:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Acceptable Temp. Difference",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.allowed_temperature_difference,unit:"K",width:"59px",minValue:1,maxValue:i.target_temperature,stepPixelSize:2,onChange:function(e,t){n("set_allowed_temperature_difference",{temperature:t})}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.enabled?"On":"Off",selected:i.enabled,onClick:function(){return n("toggle_power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.max_volume,unit:"u",width:"50px",minValue:i.reagent_volume,maxValue:200,step:2,stepPixelSize:2,onChange:function(e,t){return n("change_volume",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Operation",children:i.acclimate_state}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current State",children:i.emptying?"Emptying":"Filling"})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemDebugSynthesizer=void 0;var o=n(1),r=n(3),a=n(2);t.ChemDebugSynthesizer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.amount,l=i.beakerCurrentVolume,u=i.beakerMaxVolume,s=i.isBeakerLoaded,d=i.beakerContents,p=void 0===d?[]:d;return(0,o.createComponentVNode)(2,a.Section,{title:"Recipient",buttons:s?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("ejectBeaker")}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",minValue:1,maxValue:u,step:1,stepPixelSize:2,onChange:function(e,t){return n("amount",{amount:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Input",onClick:function(){return n("input")}})],4):(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Create Beaker",onClick:function(){return n("makecup")}}),children:s?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l})," / "+u+" u"]}),p.length>0?(0,o.createComponentVNode)(2,a.LabeledList,{children:p.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:[e.volume," u"]},e.name)}))}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Recipient Empty"})],0):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Recipient"})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemFilter=t.ChemFilterPane=void 0;var o=n(1),r=n(3),a=n(2);var i=function(e){var t=(0,r.useBackend)(e).act,n=e.title,i=e.list,c=e.reagentName,l=e.onReagentInput,u=n.toLowerCase();return(0,o.createComponentVNode)(2,a.Section,{title:n,minHeight:40,ml:.5,mr:.5,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Input,{placeholder:"Reagent",width:"140px",onInput:function(e,t){return l(t)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return t("add",{which:u,name:c})}})],4),children:i.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"minus",content:e,onClick:function(){return t("remove",{which:u,reagent:e})}})],4,e)}))})};t.ChemFilterPane=i;var c=function(e){var t,n;function r(){var t;return(t=e.call(this)||this).state={leftReagentName:"",rightReagentName:""},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.setLeftReagentName=function(e){this.setState({leftReagentName:e})},c.setRightReagentName=function(e){this.setState({rightReagentName:e})},c.render=function(){var e=this,t=this.props.state,n=t.data,r=n.left,c=void 0===r?[]:r,l=n.right,u=void 0===l?[]:l;return(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Left",list:c,reagentName:this.state.leftReagentName,onReagentInput:function(t){return e.setLeftReagentName(t)},state:t})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Right",list:u,reagentName:this.state.rightReagentName,onReagentInput:function(t){return e.setRightReagentName(t)},state:t})})]})},r}(o.Component);t.ChemFilter=c},function(e,t,n){"use strict";t.__esModule=!0,t.ChemPress=void 0;var o=n(1),r=n(3),a=n(2);t.ChemPress=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.pill_size,l=i.pill_name,u=i.pill_style,s=i.pill_styles,d=void 0===s?[]:s;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",width:"43px",minValue:5,maxValue:50,step:1,stepPixelSize:2,onChange:function(e,t){return n("change_pill_size",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Name",children:(0,o.createComponentVNode)(2,a.Input,{value:l,onChange:function(e,t){return n("change_pill_name",{name:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Style",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:5,selected:e.id===u,textAlign:"center",color:"transparent",onClick:function(){return n("change_pill_style",{id:e.id})},children:(0,o.createComponentVNode)(2,a.Box,{mx:-1,className:e.class_name})},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemReactionChamber=void 0;var o=n(1),r=n(19),a=n(2),i=n(29),c=n(12);var l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).state={reagentName:"",reagentQuantity:1},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.setReagentName=function(e){this.setState({reagentName:e})},u.setReagentQuantity=function(e){this.setState({reagentQuantity:e})},u.render=function(){var e=this,t=this.props.state,n=t.config,l=t.data,u=n.ref,s=l.emptying,d=l.reagents||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Reagents",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:s?"bad":"good",children:s?"Emptying":"Filling"}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createVNode)(1,"tr","LabledList__row",[(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:"",placeholder:"Reagent Name",onInput:function(t,n){return e.setReagentName(n)}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td",(0,c.classes)(["LabeledList__buttons","LabeledList__cell"]),[(0,o.createComponentVNode)(2,a.NumberInput,{value:this.state.reagentQuantity,minValue:1,maxValue:100,step:1,stepPixelSize:3,width:"39px",onDrag:function(t,n){return e.setReagentQuantity(n)}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return(0,r.act)(u,"add",{chem:e.state.reagentName,amount:e.state.reagentQuantity})}})],4)],4),(0,i.map)((function(e,t){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:t,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return(0,r.act)(u,"remove",{chem:t})}}),children:e},t)}))(d)]})})},l}(o.Component);t.ChemReactionChamber=l},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSplitter=void 0;var o=n(1),r=n(20),a=n(3),i=n(2);t.ChemSplitter=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.straight,u=c.side,s=c.max_transfer;return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Straight",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:l,unit:"u",width:"55px",minValue:1,maxValue:s,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"straight",amount:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Side",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:u,unit:"u",width:"55px",minValue:1,maxValue:s,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"side",amount:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSynthesizer=void 0;var o=n(1),r=n(20),a=n(3),i=n(2);t.ChemSynthesizer=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.amount,u=c.current_reagent,s=c.chemicals,d=void 0===s?[]:s,p=c.possible_amounts,f=void 0===p?[]:p;return(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{children:f.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"plus",content:(0,r.toFixed)(e,0),selected:e===l,onClick:function(){return n("amount",{target:e})}},(0,r.toFixed)(e,0))}))}),(0,o.createComponentVNode)(2,i.Box,{mt:1,children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"tint",content:e.title,width:"129px",selected:e.id===u,onClick:function(){return n("select",{reagent:e.id})}},e.id)}))})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.CodexGigas=void 0;var o=n(1),r=n(3),a=n(2);t.CodexGigas=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[i.name,(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prefix",children:["Dark","Hellish","Fallen","Fiery","Sinful","Blood","Fluffy"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:1!==i.currentSection,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Title",children:["Lord","Prelate","Count","Viscount","Vizier","Elder","Adept"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>2,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:["hal","ve","odr","neit","ci","quon","mya","folth","wren","geyr","hil","niet","twou","phi","coa"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>4,onClick:function(){return n(e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suffix",children:["the Red","the Soulless","the Master","the Lord of all things","Jr."].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:4!==i.currentSection,onClick:function(){return n(" "+e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Submit",children:(0,o.createComponentVNode)(2,a.Button,{content:"Search",disabled:i.currentSection<4,onClick:function(){return n("search")}})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.ComputerFabricator=void 0;var o=n(1),r=(n(28),n(3)),a=n(2);t.ComputerFabricator=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{italic:!0,fontSize:"20px",children:"Your perfect device, only three steps away..."}),0!==l.state&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mb:1,icon:"circle",content:"Clear Order",onClick:function(){return c("clean_order")}}),(0,o.createComponentVNode)(2,i,{state:t})],0)};var i=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return 0===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 1",minHeight:51,children:[(0,o.createComponentVNode)(2,a.Box,{mt:5,bold:!0,textAlign:"center",fontSize:"40px",children:"Choose your Device"}),(0,o.createComponentVNode)(2,a.Box,{mt:3,children:(0,o.createComponentVNode)(2,a.Grid,{width:"100%",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"laptop",content:"Laptop",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"1"})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"tablet-alt",content:"Tablet",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"2"})}})})]})})]}):1===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 2: Customize your device",minHeight:47,buttons:(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"good",children:[i.totalprice," cr"]}),children:[(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Battery:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to operate without external utility power\nsource. Advanced batteries increase battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Hard Drive:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Stores file on your device. Advanced drives can store more\nfiles, but use more power, shortening battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Network Card:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to wirelessly connect to stationwide NTNet\nnetwork. Basic cards are limited to on-station use, while\nadvanced cards can operate anywhere near the station, which\nincludes asteroid outposts",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Nano Printer:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A device that allows for various paperwork manipulations,\nsuch as, scanning of documents or printing new ones.\nThis device was certified EcoFriendlyPlus and is capable of\nrecycling existing paper for printing purposes.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"1"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Card Reader:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Adds a slot that allows you to manipulate RFID cards.\nPlease note that this is not necessary to allow the device\nto read your identification, it is just necessary to\nmanipulate other cards.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_card,onClick:function(){return n("hw_card",{card:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_card,onClick:function(){return n("hw_card",{card:"1"})}})})]}),2!==i.devtype&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Processor Unit:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A component critical for your device's functionality.\nIt allows you to run programs from your hard drive.\nAdvanced CPUs use more power, but allow you to run\nmore programs on background at once.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Tesla Relay:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"An advanced wireless power relay that allows your device\nto connect to nearby area power controller to provide\nalternative power source. This component is currently\nunavailable on tablet computers due to size restrictions.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"1"})}})})]})],4)]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mt:3,content:"Confirm Order",color:"good",textAlign:"center",fontSize:"18px",lineHeight:"26px",onClick:function(){return n("confirm_order")}})]}):2===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 3: Payment",minHeight:47,children:[(0,o.createComponentVNode)(2,a.Box,{italic:!0,textAlign:"center",fontSize:"20px",children:"Your device is ready for fabrication..."}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:2,textAlign:"center",fontSize:"16px",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:"Please insert the required"})," ",(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:[i.totalprice," cr"]})]}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:1,textAlign:"center",fontSize:"18px",children:"Current:"}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:.5,textAlign:"center",fontSize:"18px",color:i.credits>=i.totalprice?"good":"bad",children:[i.credits," cr"]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Purchase",disabled:i.credits=10&&e<20?i.COLORS.department.security:e>=20&&e<30?i.COLORS.department.medbay:e>=30&&e<40?i.COLORS.department.science:e>=40&&e<50?i.COLORS.department.engineering:e>=50&&e<60?i.COLORS.department.cargo:e>=200&&e<230?i.COLORS.department.centcom:i.COLORS.department.other},u=function(e){var t=e.type,n=e.value;return(0,o.createComponentVNode)(2,a.Box,{inline:!0,width:4,color:i.COLORS.damageType[t],textAlign:"center",children:n})};t.CrewConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,s=i.sensors||[];return(0,o.createComponentVNode)(2,a.Section,{minHeight:90,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,textAlign:"center",children:"Vitals"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Position"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,children:"Tracking"})]}),s.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:(m=e.ijob,m%10==0),color:l(e.ijob),children:[e.name," (",e.assignment,")"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,o.createComponentVNode)(2,a.ColorBox,{color:(t=e.oxydam,r=e.toxdam,s=e.burndam,d=e.brutedam,p=t+r+s+d,f=Math.min(Math.max(Math.ceil(p/25),0),5),c[f])})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:null!==e.oxydam?(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:[(0,o.createComponentVNode)(2,u,{type:"oxy",value:e.oxydam}),"/",(0,o.createComponentVNode)(2,u,{type:"toxin",value:e.toxdam}),"/",(0,o.createComponentVNode)(2,u,{type:"burn",value:e.burndam}),"/",(0,o.createComponentVNode)(2,u,{type:"brute",value:e.brutedam})]}):e.life_status?"Alive":"Dead"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:null!==e.pos_x?e.area:"N/A"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,a.Button,{content:"Track",disabled:!e.can_track,onClick:function(){return n("select_person",{name:e.name})}})})]},e.name);var t,r,s,d,p,f,m}))]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Cryo=void 0;var o=n(1),r=n(3),a=n(2),i=n(435);t.Cryo=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",content:c.occupant.name?c.occupant.name:"No Occupant"}),!!c.hasOccupant&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",content:c.occupant.stat,color:c.occupant.statstate}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",color:c.occupant.temperaturestatus,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.bodyTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant.health/c.occupant.maxHealth,color:c.occupant.health>0?"good":"average",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant[e.type]/100,children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant[e.type]})})},e.id)}))],0)]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cell",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",content:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",disabled:c.isOpen,onClick:function(){return n("power")},color:c.isOperating&&"green",children:c.isOperating?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.cellTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.isOpen?"unlock":"lock",onClick:function(){return n("door")},content:c.isOpen?"Open":"Closed"}),(0,o.createComponentVNode)(2,a.Button,{icon:c.autoEject?"sign-out-alt":"sign-in-alt",onClick:function(){return n("autoeject")},content:c.autoEject?"Auto":"Manual"})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Beaker",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",disabled:!c.isBeakerLoaded,onClick:function(){return n("ejectbeaker")},content:"Eject"}),children:(0,o.createComponentVNode)(2,i.BeakerContents,{beakerLoaded:c.isBeakerLoaded,beakerContents:c.beakerContents})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BeakerContents=void 0;var o=n(1),r=n(2);t.BeakerContents=function(e){var t=e.beakerLoaded,n=e.beakerContents;return(0,o.createComponentVNode)(2,r.Box,{children:[!t&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"No beaker loaded."})||0===n.length&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"Beaker is empty."}),n.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{color:"label",children:[e.volume," units of ",e.name]},e.name)}))]})}},function(e,t,n){"use strict";t.__esModule=!0,t.PersonalCrafting=void 0;var o=n(1),r=n(29),a=n(3),i=n(2),c=function(e){var t=e.craftables,n=void 0===t?[]:t,r=(0,a.useBackend)(e),c=r.act,l=r.data,u=l.craftability,s=void 0===u?{}:u,d=l.display_compact,p=l.display_craftable_only;return n.map((function(e){return p&&!s[e.ref]?null:d?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,className:"candystripe",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!s[e.ref],tooltip:e.tool_text&&"Tools needed: "+e.tool_text,tooltipPosition:"left",onClick:function(){return c("make",{recipe:e.ref})}}),children:e.req_text},e.name):(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!s[e.ref],onClick:function(){return c("make",{recipe:e.ref})}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.req_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Required",children:e.req_text}),!!e.catalyst_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Catalyst",children:e.catalyst_text}),!!e.tool_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Tools",children:e.tool_text})]})},e.name)}))};t.PersonalCrafting=function(e){var t=e.state,n=(0,a.useBackend)(e),l=n.act,u=n.data,s=u.busy,d=u.display_craftable_only,p=u.display_compact,f=(0,r.map)((function(e,t){return{category:t,subcategory:e,hasSubcats:"has_subcats"in e,firstSubcatName:Object.keys(e).find((function(e){return"has_subcats"!==e}))}}))(u.crafting_recipes||{}),m=!!s&&(0,o.createComponentVNode)(2,i.Dimmer,{fontSize:"40px",textAlign:"center",children:(0,o.createComponentVNode)(2,i.Box,{mt:30,children:[(0,o.createComponentVNode)(2,i.Icon,{name:"cog",spin:1})," Crafting..."]})});return(0,o.createFragment)([m,(0,o.createComponentVNode)(2,i.Section,{title:"Personal Crafting",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:p?"check-square-o":"square-o",content:"Compact",selected:p,onClick:function(){return l("toggle_compact")}}),(0,o.createComponentVNode)(2,i.Button,{icon:d?"check-square-o":"square-o",content:"Craftable Only",selected:d,onClick:function(){return l("toggle_recipes")}})],4),children:(0,o.createComponentVNode)(2,i.Tabs,{children:f.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.category,onClick:function(){return l("set_category",{category:e.category,subcategory:e.firstSubcatName})},children:function(){return!e.hasSubcats&&(0,o.createComponentVNode)(2,c,{craftables:e.subcategory,state:t})||(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,n){if("has_subcats"!==n)return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:n,onClick:function(){return l("set_category",{subcategory:n})},children:function(){return(0,o.createComponentVNode)(2,c,{craftables:e,state:t})}})}))(e.subcategory)})}},e.category)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.DecalPainter=void 0;var o=n(1),r=n(3),a=n(2);t.DecalPainter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.decal_list||[],l=i.color_list||[],u=i.dir_list||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Decal Type",children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.name,selected:e.decal===i.decal_style,onClick:function(){return n("select decal",{decals:e.decal})}},e.decal)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Color",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:"red"===e.colors?"Red":"white"===e.colors?"White":"Yellow",selected:e.colors===i.decal_color,onClick:function(){return n("select color",{colors:e.colors})}},e.colors)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Direction",children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:1===e.dirs?"North":2===e.dirs?"South":4===e.dirs?"East":"West",selected:e.dirs===i.decal_direction,onClick:function(){return n("selected direction",{dirs:e.dirs})}},e.dirs)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.DisposalUnit=void 0;var o=n(1),r=n(3),a=n(2);t.DisposalUnit=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return l.full_pressure?(t="good",n="Ready"):l.panel_open?(t="bad",n="Power Disabled"):l.pressure_charging?(t="average",n="Pressurizing"):(t="bad",n="Off"),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:t,children:n}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.per,color:"good"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Handle",children:(0,o.createComponentVNode)(2,a.Button,{icon:l.flush?"toggle-on":"toggle-off",disabled:l.isai||l.panel_open,content:l.flush?"Disengage":"Engage",onClick:function(){return c(l.flush?"handle-0":"handle-1")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Eject",children:(0,o.createComponentVNode)(2,a.Button,{icon:"sign-out-alt",disabled:l.isai,content:"Eject Contents",onClick:function(){return c("eject")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",disabled:l.panel_open,selected:l.pressure_charging,onClick:function(){return c(l.pressure_charging?"pump-0":"pump-1")}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DnaVault=void 0;var o=n(1),r=n(3),a=n(2);t.DnaVault=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.completed,l=i.used,u=i.choiceA,s=i.choiceB,d=i.dna,p=i.dna_max,f=i.plants,m=i.plants_max,h=i.animals,C=i.animals_max;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"DNA Vault Database",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Human DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d/p,content:d+" / "+p+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plant DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:f/m,content:f+" / "+m+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Animal DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:h/h,content:h+" / "+C+" Samples"})})]})}),!(!c||l)&&(0,o.createComponentVNode)(2,a.Section,{title:"Personal Gene Therapy",children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",mb:1,children:"Applicable Gene Therapy Treatments"}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:u,textAlign:"center",onClick:function(){return n("gene",{choice:u})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:s,textAlign:"center",onClick:function(){return n("gene",{choice:s})}})})]})]})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.EightBallVote=void 0;var o=n(1),r=n(3),a=n(2),i=n(28);t.EightBallVote=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.question,u=c.shaking,s=c.answers,d=void 0===s?[]:s;return u?(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"16px",m:1,children:['"',l,'"']}),(0,o.createComponentVNode)(2,a.Grid,{children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:(0,i.toTitleCase)(e.answer),selected:e.selected,fontSize:"16px",lineHeight:"24px",textAlign:"center",mb:1,onClick:function(){return n("vote",{answer:e.answer})}}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"30px",children:e.amount})]},e.answer)}))})]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No question is currently being asked."})}},function(e,t,n){"use strict";t.__esModule=!0,t.EmergencyShuttleConsole=void 0;var o=n(1),r=n(2),a=n(3);t.EmergencyShuttleConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data,c=i.timer_str,l=i.enabled,u=i.emagged,s=i.engines_started,d=i.authorizations_remaining,p=i.authorizations,f=void 0===p?[]:p;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"40px",textAlign:"center",fontFamily:"monospace",children:c}),(0,o.createComponentVNode)(2,r.Box,{textAlign:"center",fontSize:"16px",mb:1,children:[(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,children:"ENGINES:"}),(0,o.createComponentVNode)(2,r.Box,{inline:!0,color:s?"good":"average",ml:1,children:s?"Online":"Idle"})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Early Launch Authorization",level:2,buttons:(0,o.createComponentVNode)(2,r.Button,{icon:"times",content:"Repeal All",color:"bad",disabled:!l,onClick:function(){return n("abort")}}),children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"exclamation-triangle",color:"good",content:"AUTHORIZE",disabled:!l,onClick:function(){return n("authorize")}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"minus",content:"REPEAL",disabled:!l,onClick:function(){return n("repeal")}})})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Authorizations",level:3,minHeight:"150px",buttons:(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,color:u?"bad":"good",children:u?"ERROR":"Remaining: "+d}),children:[f.length>0?f.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)})):(0,o.createComponentVNode)(2,r.Box,{bold:!0,textAlign:"center",fontSize:"16px",color:"average",children:"No Active Authorizations"}),f.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)}))]})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.EngravedMessage=void 0;var o=n(1),r=n(28),a=n(3),i=n(2);t.EngravedMessage=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.admin_mode,u=c.creator_key,s=c.creator_name,d=c.has_liked,p=c.has_disliked,f=c.hidden_message,m=c.is_creator,h=c.num_likes,C=c.num_dislikes,g=c.realdate;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{bold:!0,textAlign:"center",fontSize:"20px",mb:2,children:(0,r.decodeHtmlEntities)(f)}),(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-up",content:" "+h,disabled:m,selected:d,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("like")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"circle",disabled:m,selected:!p&&!d,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("neutral")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-down",content:" "+C,disabled:m,selected:p,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("dislike")}})})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Created On",children:g})})}),(0,o.createComponentVNode)(2,i.Section),!!l&&(0,o.createComponentVNode)(2,i.Section,{title:"Admin Panel",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Delete",color:"bad",onClick:function(){return n("delete")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Ckey",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Character Name",children:s})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Gps=void 0;var o=n(1),r=n(29),a=n(70),i=n(20),c=n(156),l=n(3),u=n(2),s=function(e){return(0,r.map)(parseFloat)(e.split(", "))};t.Gps=function(e){var t=(0,l.useBackend)(e),n=t.act,d=t.data,p=d.currentArea,f=d.currentCoords,m=d.globalmode,h=d.power,C=d.tag,g=d.updating,b=(0,a.flow)([(0,r.map)((function(e,t){var n=e.dist&&Math.round((0,c.vecLength)((0,c.vecSubtract)(s(f),s(e.coords))));return Object.assign({},e,{dist:n,index:t})})),(0,r.sortBy)((function(e){return e.dist===undefined}),(function(e){return e.entrytag}))])(d.signals||[]);return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Control",buttons:(0,o.createComponentVNode)(2,u.Button,{icon:"power-off",content:h?"On":"Off",selected:h,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,u.LabeledList,{children:[(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Tag",children:(0,o.createComponentVNode)(2,u.Button,{icon:"pencil-alt",content:C,onClick:function(){return n("rename")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Scan Mode",children:(0,o.createComponentVNode)(2,u.Button,{icon:g?"unlock":"lock",content:g?"AUTO":"MANUAL",color:!g&&"bad",onClick:function(){return n("updating")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Range",children:(0,o.createComponentVNode)(2,u.Button,{icon:"sync",content:m?"MAXIMUM":"LOCAL",selected:!m,onClick:function(){return n("globalmode")}})})]})}),!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Current Location",children:(0,o.createComponentVNode)(2,u.Box,{fontSize:"18px",children:[p," (",f,")"]})}),(0,o.createComponentVNode)(2,u.Section,{title:"Detected Signals",children:(0,o.createComponentVNode)(2,u.Table,{children:[(0,o.createComponentVNode)(2,u.Table.Row,{bold:!0,children:[(0,o.createComponentVNode)(2,u.Table.Cell,{content:"Name"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Direction"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Coordinates"})]}),b.map((function(e){return(0,o.createComponentVNode)(2,u.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,u.Table.Cell,{bold:!0,color:"label",children:e.entrytag}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,opacity:e.dist!==undefined&&(0,i.clamp)(1.2/Math.log(Math.E+e.dist/20),.4,1),children:[e.degrees!==undefined&&(0,o.createComponentVNode)(2,u.Icon,{mr:1,size:1.2,name:"arrow-up",rotation:e.degrees}),e.dist!==undefined&&e.dist+"m"]}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,children:e.coords})]},e.entrytag+e.coords+e.index)}))]})})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GravityGenerator=void 0;var o=n(1),r=n(3),a=n(2);t.GravityGenerator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.breaker,l=i.charge_count,u=i.charging_state,s=i.on,d=i.operational;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:!d&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No data available"})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Breaker",children:(0,o.createComponentVNode)(2,a.Button,{icon:c?"power-off":"times",content:c?"On":"Off",selected:c,disabled:!d,onClick:function(){return n("gentoggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Gravity Charge",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/100,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",children:[0===u&&(s&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Fully Charged"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Not Charging"})),1===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Charging"}),2===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Discharging"})]})]})}),d&&0!==u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"WARNING - Radiation detected"}),d&&0===u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No radiation detected"})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagTeleporterConsole=void 0;var o=n(1),r=n(3),a=n(2);t.GulagTeleporterConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.teleporter,l=i.teleporter_lock,u=i.teleporter_state_open,s=i.teleporter_location,d=i.beacon,p=i.beacon_location,f=i.id,m=i.id_name,h=i.can_teleport,C=i.goal,g=void 0===C?0:C,b=i.prisoner,v=void 0===b?{}:b;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Teleporter Console",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:u?"Open":"Closed",disabled:l,selected:u,onClick:function(){return n("toggle_open")}}),(0,o.createComponentVNode)(2,a.Button,{icon:l?"lock":"unlock",content:l?"Locked":"Unlocked",selected:l,disabled:u,onClick:function(){return n("teleporter_lock")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleporter Unit",color:c?"good":"bad",buttons:!c&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_teleporter")}}),children:c?s:"Not Connected"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Receiver Beacon",color:d?"good":"bad",buttons:!d&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_beacon")}}),children:d?p:"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Prisoner Details",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prisoner ID",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:f?m:"No ID",onClick:function(){return n("handle_id")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Point Goal",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:g,width:"48px",minValue:1,maxValue:1e3,onChange:function(e,t){return n("set_goal",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",children:v.name?v.name:"No Occupant"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Criminal Status",children:v.crimstat?v.crimstat:"No Status"})]})}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Process Prisoner",disabled:!h,textAlign:"center",color:"bad",onClick:function(){return n("teleport")}})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagItemReclaimer=void 0;var o=n(1),r=n(3),a=n(2);t.GulagItemReclaimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.mobs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Stored Items",children:(0,o.createComponentVNode)(2,a.Table,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:(0,o.createComponentVNode)(2,a.Button,{content:"Retrieve Items",disabled:!i.can_reclaim,onClick:function(){return n("release_items",{mobref:e.mob})}})})]},e.mob)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Holodeck=void 0;var o=n(1),r=n(3),a=n(2);t.Holodeck=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_toggle_safety,l=i.default_programs,u=void 0===l?[]:l,s=i.emag_programs,d=void 0===s?[]:s,p=i.emagged,f=i.program;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Default Programs",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:p?"unlock":"lock",content:"Safeties",color:"bad",disabled:!c,selected:!p,onClick:function(){return n("safety")}}),children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),textAlign:"center",selected:e.type===f,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))}),!!p&&(0,o.createComponentVNode)(2,a.Section,{title:"Dangerous Programs",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),color:"bad",textAlign:"center",selected:e.type===f,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.ImplantChair=void 0;var o=n(1),r=n(3),a=n(2);t.ImplantChair=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant Information",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:i.occupant.name?i.occupant.name:"No Occupant"}),!!i.occupied&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:0===i.occupant.stat?"good":1===i.occupant.stat?"average":"bad",children:0===i.occupant.stat?"Conscious":1===i.occupant.stat?"Unconcious":"Dead"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Operations",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.open?"unlock":"lock",color:i.open?"default":"red",content:i.open?"Open":"Closed",onClick:function(){return n("door")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implant Occupant",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"code-branch",content:i.ready?i.special_name||"Implant":"Recharging",onClick:function(){return n("implant")}}),0===i.ready&&(0,o.createComponentVNode)(2,a.Icon,{name:"cog",color:"orange",spin:!0})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implants Remaining",children:[i.ready_implants,1===i.replenishing&&(0,o.createComponentVNode)(2,a.Icon,{name:"sync",color:"red",spin:!0})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Intellicard=void 0;var o=n(1),r=n(3),a=n(2);t.Intellicard=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=u||s,l=i.name,u=i.isDead,s=i.isBraindead,d=i.health,p=i.wireless,f=i.radio,m=i.wiping,h=i.laws,C=void 0===h?[]:h;return(0,o.createComponentVNode)(2,a.Section,{title:l||"Empty Card",buttons:!!l&&(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:m?"Stop Wiping":"Wipe",disabled:u,onClick:function(){return n("wipe")}}),children:!!l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:c?"bad":"good",children:c?"Offline":"Operation"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Software Integrity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d,minValue:0,maxValue:100,ranges:{good:[70,Infinity],average:[50,70],bad:[-Infinity,50]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"Wireless Activity",selected:p,onClick:function(){return n("wireless")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"microphone",content:"Subspace Radio",selected:f,onClick:function(){return n("radio")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laws",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.BlockQuote,{children:e},e)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.KeycardAuth=void 0;var o=n(1),r=n(3),a=n(2);t.KeycardAuth=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{children:1===i.waiting&&(0,o.createVNode)(1,"span",null,"Waiting for another device to confirm your request...",16)}),(0,o.createComponentVNode)(2,a.Box,{children:0===i.waiting&&(0,o.createFragment)([!!i.auth_required&&(0,o.createComponentVNode)(2,a.Button,{icon:"check-square",color:"red",textAlign:"center",lineHeight:"60px",fluid:!0,onClick:function(){return n("auth_swipe")},content:"Authorize"}),0===i.auth_required&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",fluid:!0,onClick:function(){return n("red_alert")},content:"Red Alert"}),(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",fluid:!0,onClick:function(){return n("emergency_maint")},content:"Emergency Maintenance Access"}),(0,o.createComponentVNode)(2,a.Button,{icon:"meteor",fluid:!0,onClick:function(){return n("bsa_unlock")},content:"Bluespace Artillery Unlock"})],4)],0)})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.LaborClaimConsole=void 0;var o=n(1),r=n(28),a=n(3),i=n(2);t.LaborClaimConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.can_go_home,u=c.id_points,s=c.ores,d=c.status_info,p=c.unclaimed_points;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",children:d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle controls",children:(0,o.createComponentVNode)(2,i.Button,{content:"Move shuttle",disabled:!l,onClick:function(){return n("move_shuttle")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Points",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Unclaimed points",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Claim points",disabled:!p,onClick:function(){return n("claim_points")}}),children:p})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Material values",children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Material"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Value"})]}),s.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.ore)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.value})})]},e.ore)}))]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.LanguageMenu=void 0;var o=n(1),r=n(3),a=n(2);t.LanguageMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.admin_mode,l=i.is_living,u=i.omnitongue,s=i.languages,d=void 0===s?[]:s,p=i.unknown_languages,f=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Known Languages",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:d.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createFragment)([!!l&&(0,o.createComponentVNode)(2,a.Button,{content:e.is_default?"Default Language":"Select as Default",disabled:!e.can_speak,selected:e.is_default,onClick:function(){return n("select_default",{language_name:e.name})}}),!!c&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Remove",onClick:function(){return n("remove_language",{language_name:e.name})}})],4)],0),children:[e.desc," ","Key: ,",e.key," ",e.can_understand?"Can understand.":"Cannot understand."," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})}),!!c&&(0,o.createComponentVNode)(2,a.Section,{title:"Unknown Languages",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Omnitongue "+(u?"Enabled":"Disabled"),selected:u,onClick:function(){return n("toggle_omnitongue")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:f.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),children:[e.desc," ","Key: ,",e.key," ",!!e.shadow&&"(gained from mob)"," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.LaunchpadConsole=t.LaunchpadRemote=t.LaunchpadControl=t.LaunchpadButtonPad=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createComponentVNode)(2,a.Grid,{width:"1px",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",mb:1,onClick:function(){return t("move_pos",{x:-1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",mb:1,onClick:function(){return t("move_pos",{y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"R",mb:1,onClick:function(){return t("set_pos",{x:0,y:0})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",mb:1,onClick:function(){return t("move_pos",{y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",mb:1,onClick:function(){return t("move_pos",{x:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:-1})}})]})]})};t.LaunchpadButtonPad=i;var c=function(e){var t=e.topLevel,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.x,s=l.y,d=l.pad_name,p=l.range;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Input,{value:d,width:"170px",onChange:function(e,t){return c("rename",{name:t})}}),level:t?1:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Remove",color:"bad",onClick:function(){return c("remove")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Controls",level:2,children:(0,o.createComponentVNode)(2,i,{state:e.state})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Target",level:2,children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"26px",children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"X:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:u,minValue:-p,maxValue:p,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",stepPixelSize:10,onChange:function(e,t){return c("set_pos",{x:t})}})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"Y:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:s,minValue:-p,maxValue:p,stepPixelSize:10,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",onChange:function(e,t){return c("set_pos",{y:t})}})]})]})})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"upload",content:"Launch",textAlign:"center",onClick:function(){return c("launch")}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Pull",textAlign:"center",onClick:function(){return c("pull")}})})]})]})};t.LaunchpadControl=c;t.LaunchpadRemote=function(e){var t=(0,r.useBackend)(e).data,n=t.has_pad,i=t.pad_closed;return n?i?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Launchpad Closed"}):(0,o.createComponentVNode)(2,c,{topLevel:!0,state:e.state}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Launchpad Connected"})};t.LaunchpadConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.launchpads,u=void 0===l?[]:l,s=i.selected_id;return u.length<=0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Pads Connected"}):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.Box,{style:{"border-right":"2px solid rgba(255, 255, 255, 0.1)"},minHeight:"190px",mr:1,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name,selected:s===e.id,color:"transparent",onClick:function(){return n("select_pad",{id:e.id})}},e.name)}))})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:s?(0,o.createComponentVNode)(2,c,{state:e.state}):(0,o.createComponentVNode)(2,a.Box,{children:"Please select a pad"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MechBayPowerConsole=void 0;var o=n(1),r=n(3),a=n(2);t.MechBayPowerConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.recharge_port,c=i&&i.mech,l=c&&c.cell;return(0,o.createComponentVNode)(2,a.Section,{title:"Mech status",textAlign:"center",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Sync",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Integrity",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.health/c.maxhealth,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||!l&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No cell is installed."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.charge/l.maxcharge,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.charge})," / "+l.maxcharge]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Mule=void 0;var o=n(1),r=n(3),a=n(2),i=n(69);t.Mule=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u=c.siliconUser,s=c.on,d=c.cell,p=c.cellPercent,f=c.load,m=c.mode,h=c.modeStatus,C=c.haspai,g=c.autoReturn,b=c.autoPickup,v=c.reportDelivery,N=c.destination,V=c.home,y=c.id,_=c.destinations,x=void 0===_?[]:_;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:u,locked:l}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",minHeight:"110px",buttons:!l&&(0,o.createComponentVNode)(2,a.Button,{icon:s?"power-off":"times",content:s?"On":"Off",selected:s,onClick:function(){return n("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:d?p/100:0,color:d?"good":"bad"}),(0,o.createComponentVNode)(2,a.Grid,{mt:1,children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",color:h,children:m})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Load",color:f?"good":"average",children:f||"None"})})})]})]}),!l&&(0,o.createComponentVNode)(2,a.Section,{title:"Controls",buttons:(0,o.createFragment)([!!f&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Unload",onClick:function(){return n("unload")}}),!!C&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject PAI",onClick:function(){return n("ejectpai")}})],0),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID",children:(0,o.createComponentVNode)(2,a.Input,{value:y,onChange:function(e,t){return n("setid",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Destination",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:N||"None",options:x,width:"150px",onSelected:function(e){return n("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"stop",content:"Stop",onClick:function(){return n("stop")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"play",content:"Go",onClick:function(){return n("go")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Home",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:V,options:x,width:"150px",onSelected:function(e){return n("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"home",content:"Go Home",onClick:function(){return n("home")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:g,content:"Auto-Return",onClick:function(){return n("autored")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:b,content:"Auto-Pickup",onClick:function(){return n("autopick")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:v,content:"Report Delivery",onClick:function(){return n("report")}})]})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NotificationPreferences=void 0;var o=n(1),r=n(3),a=n(2);t.NotificationPreferences=function(e){var t=(0,r.useBackend)(e),n=t.act,i=(t.data.ignore||[]).sort((function(e,t){var n=e.desc.toLowerCase(),o=t.desc.toLowerCase();return no?1:0}));return(0,o.createComponentVNode)(2,a.Section,{title:"Ghost Role Notifications",children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:e.enabled?"times":"check",content:e.desc,color:e.enabled?"bad":"good",onClick:function(){return n("toggle_ignore",{key:e.key})}},e.key)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtnetRelay=void 0;var o=n(1),r=n(3),a=n(2);t.NtnetRelay=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.enabled,l=i.dos_capacity,u=i.dos_overload,s=i.dos_crashed;return(0,o.createComponentVNode)(2,a.Section,{title:"Network Buffer",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",selected:c,content:c?"ENABLED":"DISABLED",onClick:function(){return n("toggle")}}),children:s?(0,o.createComponentVNode)(2,a.Box,{fontFamily:"monospace",children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",children:"NETWORK BUFFER OVERFLOW"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",children:"OVERLOAD RECOVERY MODE"}),(0,o.createComponentVNode)(2,a.Box,{children:"This system is suffering temporary outage due to overflow of traffic buffers. Until buffered traffic is processed, all further requests will be dropped. Frequent occurences of this error may indicate insufficient hardware capacity of your network. Please contact your network planning department for instructions on how to resolve this issue."}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",color:"bad",children:"ADMINISTRATOR OVERRIDE"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",color:"bad",children:"CAUTION - DATA LOSS MAY OCCUR"}),(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"PURGE BUFFER",mt:1,color:"bad",onClick:function(){return n("restart")}})]}):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,minValue:0,maxValue:l,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u})," GQ"," / ",l," GQ"]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosArcade=void 0;var o=n(1),r=n(3),a=n(2);t.NtosArcade=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Outbomb Cuban Pete Ultra",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:2,children:[(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerHitpoints,minValue:0,maxValue:30,ranges:{olive:[31,Infinity],good:[20,31],average:[10,20],bad:[-Infinity,10]},children:[i.PlayerHitpoints,"HP"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Magic",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerMP,minValue:0,maxValue:10,ranges:{purple:[11,Infinity],violet:[3,11],bad:[-Infinity,3]},children:[i.PlayerMP,"MP"]})})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Section,{backgroundColor:1===i.PauseState?"#1b3622":"#471915",children:i.Status})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.Hitpoints/45,minValue:0,maxValue:45,ranges:{good:[30,Infinity],average:[5,30],bad:[-Infinity,5]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.Hitpoints}),"HP"]}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Section,{inline:!0,width:26,textAlign:"center",children:(0,o.createVNode)(1,"img",null,null,1,{src:i.BossID})})]})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Button,{icon:"fist-raised",tooltip:"Go in for the kill!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Attack")},content:"Attack!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"band-aid",tooltip:"Heal yourself!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Heal")},content:"Heal!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"magic",tooltip:"Recharge your magic!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Recharge_Power")},content:"Recharge!"})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"sync-alt",tooltip:"One more game couldn't hurt.",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Start_Game")},content:"Begin Game"}),(0,o.createComponentVNode)(2,a.Button,{icon:"ticket-alt",tooltip:"Claim at your local Arcade Computer for Prizes!",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Dispense_Tickets")},content:"Claim Tickets"})]}),(0,o.createComponentVNode)(2,a.Box,{color:i.TicketCount>=1?"good":"normal",children:["Earned Tickets: ",i.TicketCount]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosConfiguration=void 0;var o=n(1),r=n(3),a=n(2);t.NtosConfiguration=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.power_usage,l=i.battery_exists,u=i.battery,s=void 0===u?{}:u,d=i.disk_size,p=i.disk_used,f=i.hardware,m=void 0===f?[]:f;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Supply",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Draw: ",c,"W"]}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Battery Status",color:!l&&"average",children:l?(0,o.createComponentVNode)(2,a.ProgressBar,{value:s.charge,minValue:0,maxValue:s.max,ranges:{good:[s.max/2,Infinity],average:[s.max/4,s.max/2],bad:[-Infinity,s.max/4]},children:[s.charge," / ",s.max]}):"Not Available"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"File System",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:p,minValue:0,maxValue:d,color:"good",children:[p," GQ / ",d," GQ"]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Hardware Components",children:m.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,buttons:(0,o.createFragment)([!e.critical&&(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:"Enabled",checked:e.enabled,mr:1,onClick:function(){return n("PC_toggle_component",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Usage: ",e.powerusage,"W"]})],0),children:e.desc},e.name)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosMain=void 0;var o=n(1),r=n(3),a=n(2),i={compconfig:"cog",ntndownloader:"download",filemanager:"folder",smmonitor:"radiation",alarmmonitor:"bell",cardmod:"id-card",arcade:"gamepad",ntnrc_client:"comment-alt",nttransfer:"exchange-alt",powermonitor:"plug"};t.NtosMain=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.programs,u=void 0===l?[]:l,s=c.has_light,d=c.light_on,p=c.comp_light_color;return(0,o.createFragment)([!!s&&(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Button,{width:"144px",icon:"lightbulb",selected:d,onClick:function(){return n("PC_toggle_light")},children:["Flashlight: ",d?"ON":"OFF"]}),(0,o.createComponentVNode)(2,a.Button,{ml:1,onClick:function(){return n("PC_light_color")},children:["Color:",(0,o.createComponentVNode)(2,a.ColorBox,{ml:1,color:p})]})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",children:(0,o.createComponentVNode)(2,a.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,lineHeight:"24px",color:"transparent",icon:i[e.name]||"window-maximize-o",content:e.desc,onClick:function(){return n("PC_runprogram",{name:e.name})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,width:3,children:!!e.running&&(0,o.createComponentVNode)(2,a.Button,{lineHeight:"24px",color:"transparent",icon:"times",tooltip:"Close program",tooltipPosition:"left",onClick:function(){return n("PC_killprogram",{name:e.name})}})})]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetChat=void 0;var o=n(1),r=n(3),a=n(2);(0,n(51).createLogger)("ntos chat");t.NtosNetChat=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_admin,l=i.adminmode,u=i.authed,s=i.username,d=i.active_channel,p=i.is_operator,f=i.all_channels,m=void 0===f?[]:f,h=i.clients,C=void 0===h?[]:h,g=i.messages,b=void 0===g?[]:g,v=null!==d,N=u||l;return(0,o.createComponentVNode)(2,a.Section,{height:"600px",children:(0,o.createComponentVNode)(2,a.Table,{height:"580px",children:(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"200px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"537px",overflowY:"scroll",children:[(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"New Channel...",onCommit:function(e,t){return n("PRG_newchannel",{new_channel_name:t})}}),m.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.chan,selected:e.id===d,color:"transparent",onClick:function(){return n("PRG_joinchannel",{id:e.id})}},e.chan)}))]}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,mt:1,content:s+"...",currentValue:s,onCommit:function(e,t){return n("PRG_changename",{new_name:t})}}),!!c&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:"ADMIN MODE: "+(l?"ON":"OFF"),color:l?"bad":"good",onClick:function(){return n("PRG_toggleadmin")}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[(0,o.createComponentVNode)(2,a.Box,{height:"560px",overflowY:"scroll",children:v&&(N?b.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.msg},e.msg)})):(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"exclamation-triangle",mt:4,fontSize:"40px"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,fontSize:"18px",children:"THIS CHANNEL IS PASSWORD PROTECTED"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"INPUT PASSWORD TO ACCESS"})]}))}),(0,o.createComponentVNode)(2,a.Input,{fluid:!0,selfClear:!0,mt:1,onEnter:function(e,t){return n("PRG_speak",{message:t})}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"150px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"477px",overflowY:"scroll",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.name},e.name)}))}),v&&N&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Save log...",defaultValue:"new_log",onCommit:function(e,t){return n("PRG_savelog",{log_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Leave Channel",onClick:function(){return n("PRG_leavechannel")}})],4),!!p&&u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Delete Channel",onClick:function(){return n("PRG_deletechannel")}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Rename Channel...",onCommit:function(e,t){return n("PRG_renamechannel",{new_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Set Password...",onCommit:function(e,t){return n("PRG_setpassword",{new_password:t})}})],4)]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDownloader=void 0;var o=n(1),r=n(3),a=n(2);t.NtosNetDownloader=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.disk_size,s=l.disk_used,d=l.downloadable_programs,p=void 0===d?[]:d,f=l.error,m=l.hacked_programs,h=void 0===m?[]:m,C=l.hackedavailable;return(0,o.createFragment)([!!f&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:f}),(0,o.createComponentVNode)(2,a.Button,{content:"Reset",onClick:function(){return c("PRG_reseterror")}})]}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disk usage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:s,minValue:0,maxValue:u,children:s+" GQ / "+u+" GQ"})})})}),(0,o.createComponentVNode)(2,a.Section,{children:p.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))}),!!C&&(0,o.createComponentVNode)(2,a.Section,{title:"UNKNOWN Software Repository",children:[(0,o.createComponentVNode)(2,a.NoticeBox,{mb:1,children:"Please note that Nanotrasen does not recommend download of software from non-official servers."}),h.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))]})],0)};var i=function(e){var t=e.program,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.disk_size,u=c.disk_used,s=c.downloadcompletion,d=c.downloading,p=c.downloadname,f=c.downloadsize,m=l-u;return(0,o.createComponentVNode)(2,a.Box,{mb:3,children:[(0,o.createComponentVNode)(2,a.Flex,{align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{bold:!0,grow:1,children:t.filedesc}),(0,o.createComponentVNode)(2,a.Flex.Item,{color:"label",nowrap:!0,children:[t.size," GQ"]}),(0,o.createComponentVNode)(2,a.Flex.Item,{ml:2,width:"94px",textAlign:"center",children:t.filename===p&&(0,o.createComponentVNode)(2,a.ProgressBar,{color:"green",minValue:0,maxValue:f,value:s})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Download",disabled:d||t.size>m,onClick:function(){return i("PRG_downloadfile",{filename:t.filename})}})})]}),"Compatible"!==t.compatibility&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Incompatible!"]}),t.size>m&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Not enough disk space!"]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,color:"label",fontSize:"12px",children:t.fileinfo})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosSupermatterMonitor=void 0;var o=n(1),r=n(29),a=n(70),i=n(20),c=n(3),l=n(2),u=n(37),s=function(e){return Math.log2(16+Math.max(0,e))-4};t.NtosSupermatterMonitor=function(e){var t=e.state,n=(0,c.useBackend)(e),p=n.act,f=n.data,m=f.active,h=f.SM_integrity,C=f.SM_power,g=f.SM_ambienttemp,b=f.SM_ambientpressure;if(!m)return(0,o.createComponentVNode)(2,d,{state:t});var v=(0,a.flow)([function(e){return e.filter((function(e){return e.amount>=.01}))},(0,r.sortBy)((function(e){return-e.amount}))])(f.gases||[]),N=Math.max.apply(Math,[1].concat(v.map((function(e){return e.amount}))));return(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"270px",children:(0,o.createComponentVNode)(2,l.Section,{title:"Metrics",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:h/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Relative EER",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:C,minValue:0,maxValue:5e3,ranges:{good:[-Infinity,5e3],average:[5e3,7e3],bad:[7e3,Infinity]},children:(0,i.toFixed)(C)+" MeV/cm3"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:s(g),minValue:0,maxValue:s(1e4),ranges:{teal:[-Infinity,s(80)],good:[s(80),s(373)],average:[s(373),s(1e3)],bad:[s(1e3),Infinity]},children:(0,i.toFixed)(g)+" K"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:s(b),minValue:0,maxValue:s(5e4),ranges:{good:[s(1),s(300)],average:[-Infinity,s(1e3)],bad:[s(1e3),+Infinity]},children:(0,i.toFixed)(b)+" kPa"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{title:"Gases",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"arrow-left",content:"Back",onClick:function(){return p("PRG_clear")}}),children:(0,o.createComponentVNode)(2,l.Box.Forced,{height:24*v.length+"px",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:v.map((function(e){return(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:(0,u.getGasLabel)(e.name),children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:(0,u.getGasColor)(e.name),value:e.amount,minValue:0,maxValue:N,children:(0,i.toFixed)(e.amount,2)+"%"})},e.name)}))})})})})]})};var d=function(e){var t=(0,c.useBackend)(e),n=t.act,r=t.data.supermatters,a=void 0===r?[]:r;return(0,o.createComponentVNode)(2,l.Section,{title:"Detected Supermatters",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"sync",content:"Refresh",onClick:function(){return n("PRG_refresh")}}),children:(0,o.createComponentVNode)(2,l.Table,{children:a.map((function(e){return(0,o.createComponentVNode)(2,l.Table.Row,{children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.uid+". "+e.area_name}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,color:"label",children:"Integrity:"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,width:"120px",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:e.integrity/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,l.Button,{content:"Details",onClick:function(){return n("PRG_set",{target:e.uid})}})})]},e.uid)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosWrapper=void 0;var o=n(1),r=n(3),a=n(2),i=n(116);t.NtosWrapper=function(e){var t=e.children,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.PC_batteryicon,s=l.PC_showbatteryicon,d=l.PC_batterypercent,p=l.PC_ntneticon,f=l.PC_apclinkicon,m=l.PC_stationtime,h=l.PC_programheaders,C=void 0===h?[]:h,g=l.PC_showexitprogram;return(0,o.createVNode)(1,"div","NtosWrapper",[(0,o.createVNode)(1,"div","NtosWrapper__header NtosHeader",[(0,o.createVNode)(1,"div","NtosHeader__left",[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:2,children:m}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,italic:!0,mr:2,opacity:.33,children:"NtOS"})],4),(0,o.createVNode)(1,"div","NtosHeader__right",[C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:e.icon})},e.icon)})),(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:p&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:p})}),!!s&&u&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:[u&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:u}),d&&d]}),f&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:f})}),!!g&&(0,o.createComponentVNode)(2,a.Button,{width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-minimize-o",tooltip:"Minimize",tooltipPosition:"bottom",onClick:function(){return c("PC_minimize")}}),!!g&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-close-o",tooltip:"Close",tooltipPosition:"bottom-left",onClick:function(){return c("PC_exit")}}),!g&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"power-off",tooltip:"Power off",tooltipPosition:"bottom-left",onClick:function(){return c("PC_shutdown")}})],0)],4,{onMouseDown:function(){(0,i.refocusLayout)()}}),(0,o.createVNode)(1,"div","NtosWrapper__content",t,0)],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NuclearBomb=void 0;var o=n(1),r=n(12),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e).act;return(0,o.createComponentVNode)(2,i.Box,{width:"185px",children:(0,o.createComponentVNode)(2,i.Grid,{width:"1px",children:[["1","4","7","C"],["2","5","8","0"],["3","6","9","E"]].map((function(e){return(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,mb:1,content:e,textAlign:"center",fontSize:"40px",lineHeight:"50px",width:"55px",className:(0,r.classes)(["NuclearBomb__Button","NuclearBomb__Button--keypad","NuclearBomb__Button--"+e]),onClick:function(){return t("keypad",{digit:e})}},e)}))},e[0])}))})})};t.NuclearBomb=function(e){var t=e.state,n=(0,a.useBackend)(e),r=n.act,l=n.data,u=(l.anchored,l.disk_present,l.status1),s=l.status2;return(0,o.createComponentVNode)(2,i.Box,{m:1,children:[(0,o.createComponentVNode)(2,i.Box,{mb:1,className:"NuclearBomb__displayBox",children:u}),(0,o.createComponentVNode)(2,i.Flex,{mb:1.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Box,{className:"NuclearBomb__displayBox",children:s})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",fontSize:"24px",lineHeight:"23px",textAlign:"center",width:"43px",ml:1,mr:"3px",mt:"3px",className:"NuclearBomb__Button NuclearBomb__Button--keypad",onClick:function(){return r("eject_disk")}})})]}),(0,o.createComponentVNode)(2,i.Flex,{ml:"3px",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,c,{state:t})}),(0,o.createComponentVNode)(2,i.Flex.Item,{ml:1,width:"129px",children:(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ARM",textAlign:"center",fontSize:"28px",lineHeight:"32px",mb:1,className:"NuclearBomb__Button NuclearBomb__Button--C",onClick:function(){return r("arm")}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ANCHOR",textAlign:"center",fontSize:"28px",lineHeight:"32px",className:"NuclearBomb__Button NuclearBomb__Button--E",onClick:function(){return r("anchor")}}),(0,o.createComponentVNode)(2,i.Box,{textAlign:"center",color:"#9C9987",fontSize:"80px",children:(0,o.createComponentVNode)(2,i.Icon,{name:"radiation"})}),(0,o.createComponentVNode)(2,i.Box,{height:"80px",className:"NuclearBomb__NTIcon"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OperatingComputer=void 0;var o=n(1),r=n(3),a=n(2);t.OperatingComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.table,l=i.surgeries,u=void 0===l?[]:l,s=i.procedures,d=void 0===s?[]:s,p=i.patient,f=void 0===p?{}:p;return(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Patient State",children:[!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Table Detected"}),(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Patient State",level:2,children:f?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:f.statstate,children:f.stat}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Type",children:f.blood_type}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:f.health,minValue:f.minHealth,maxValue:f.maxHealth,color:f.health>=0?"good":"average",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:f.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Respiratory",type:"oxyLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:f[e.type]/f.maxHealth,color:"bad",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:f[e.type]})})},e.type)}))]}):"No Patient Detected"}),(0,o.createComponentVNode)(2,a.Section,{title:"Initiated Procedures",level:2,children:d.length?d.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Next Step",children:[e.next_step,e.chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.chems_needed],0)]}),!!i.alternative_step&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Alternative Step",children:[e.alternative_step,e.alt_chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.alt_chems_needed],0)]})]})},e.name)})):"No Active Procedures"})]})]},"state"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Surgery Procedures",children:(0,o.createComponentVNode)(2,a.Section,{title:"Advanced Surgery Procedures",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"download",content:"Sync Research Database",onClick:function(){return n("sync")}}),u.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,children:e.desc},e.name)}))]})},"procedures")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OreBox=void 0;var o=n(1),r=n(28),a=n(19),i=n(2);t.OreBox=function(e){var t=e.state,n=t.config,c=t.data,l=n.ref,u=c.materials;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Ores",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Empty",onClick:function(){return(0,a.act)(l,"removeall")}}),children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Ore"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Amount"})]}),u.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.name)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.amount})})]},e.type)}))]})}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{children:["All ores will be placed in here when you are wearing a mining stachel on your belt or in a pocket while dragging the ore box.",(0,o.createVNode)(1,"br"),"Gibtonite is not accepted."]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.OreRedemptionMachine=void 0;var o=n(1),r=n(28),a=n(3),i=n(2);t.OreRedemptionMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,l=r.unclaimedPoints,u=r.materials,s=r.alloys,d=r.diskDesigns,p=r.hasDisk;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.BlockQuote,{mb:1,children:["This machine only accepts ore.",(0,o.createVNode)(1,"br"),"Gibtonite and Slag are not accepted."]}),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mr:1,children:"Unclaimed points:"}),l,(0,o.createComponentVNode)(2,i.Button,{ml:2,content:"Claim",disabled:0===l,onClick:function(){return n("Claim")}})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:p&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{mb:1,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject design disk",onClick:function(){return n("diskEject")}})}),(0,o.createComponentVNode)(2,i.Table,{children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:["File ",e.index,": ",e.name]}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{disabled:!e.canupload,content:"Upload",onClick:function(){return n("diskUpload",{design:e.index})}})})]},e.index)}))})],4)||(0,o.createComponentVNode)(2,i.Button,{icon:"save",content:"Insert design disk",onClick:function(){return n("diskInsert")}})}),(0,o.createComponentVNode)(2,i.Section,{title:"Materials",children:(0,o.createComponentVNode)(2,i.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Release",{id:e.id,sheets:t})}},e.id)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Alloys",children:(0,o.createComponentVNode)(2,i.Table,{children:s.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Smelt",{id:e.id,sheets:t})}},e.id)}))})})],4)};var c=function(e){var t,n;function a(){var t;return(t=e.call(this)||this).state={amount:1},t}return n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,a.prototype.render=function(){var e=this,t=this.state.amount,n=this.props,a=n.material,c=n.onRelease,l=Math.floor(a.amount);return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(a.name).replace("Alloy","")}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:a.value&&a.value+" cr"})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:[l," sheets"]})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.NumberInput,{width:"32px",step:1,stepPixelSize:5,minValue:1,maxValue:50,value:t,onChange:function(t,n){return e.setState({amount:n})}}),(0,o.createComponentVNode)(2,i.Button,{disabled:l<1,content:"Release",onClick:function(){return c(t)}})]})]})},a}(o.Component)},function(e,t,n){"use strict";t.__esModule=!0,t.Pandemic=t.PandemicAntibodyDisplay=t.PandemicSymptomDisplay=t.PandemicDiseaseDisplay=t.PandemicBeakerDisplay=void 0;var o=n(1),r=n(29),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.has_beaker,l=r.beaker_empty,u=r.has_blood,s=r.blood,d=!c||l;return(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Empty and Eject",color:"bad",disabled:d,onClick:function(){return n("empty_eject_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"trash",content:"Empty",disabled:d,onClick:function(){return n("empty_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",disabled:!c,onClick:function(){return n("eject_beaker")}})],4),children:c?l?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Beaker is empty"}):u?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood DNA",children:s&&s.dna||"Unknown"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood Type",children:s&&s.type||"Unknown"})]}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No blood detected"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No beaker loaded"})})};t.PandemicBeakerDisplay=c;var l=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.is_ready;return(r.viruses||[]).map((function(e){var t=e.symptoms||[];return(0,o.createComponentVNode)(2,i.Section,{title:e.can_rename?(0,o.createComponentVNode)(2,i.Input,{value:e.name,onChange:function(t,o){return n("rename_disease",{index:e.index,name:o})}}):e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"flask",content:"Create culture bottle",disabled:!c,onClick:function(){return n("create_culture_bottle",{index:e.index})}}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.description}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Agent",children:e.agent}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Spread",children:e.spread}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Possible Cure",children:e.cure})]})})]}),!!e.is_adv&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Statistics",level:2,children:(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:e.resistance}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:e.stealth})]})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage speed",children:e.stage_speed}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmissibility",children:e.transmission})]})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Symptoms",level:2,children:t.map((function(e){return(0,o.createComponentVNode)(2,i.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,u,{symptom:e})})},e.name)}))})],4)]},e.name)}))};t.PandemicDiseaseDisplay=l;var u=function(e){var t=e.symptom,n=t.name,a=t.desc,c=t.stealth,l=t.resistance,u=t.stage_speed,s=t.transmission,d=t.level,p=t.neutered,f=(0,r.map)((function(e,t){return{desc:e,label:t}}))(t.threshold_desc||{});return(0,o.createComponentVNode)(2,i.Section,{title:n,level:2,buttons:!!p&&(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",children:"Neutered"}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{size:2,children:a}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Level",children:d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:l}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:c}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage Speed",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmission",children:s})]})})]}),f.length>0&&(0,o.createComponentVNode)(2,i.Section,{title:"Thresholds",level:3,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:f.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.label,children:e.desc},e.label)}))})})]})};t.PandemicSymptomDisplay=u;var s=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.resistances||[];return(0,o.createComponentVNode)(2,i.Section,{title:"Antibodies",children:c.length>0?(0,o.createComponentVNode)(2,i.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eye-dropper",content:"Create vaccine bottle",disabled:!r.is_ready,onClick:function(){return n("create_vaccine_bottle",{index:e.id})}})},e.name)}))}):(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",mt:1,children:"No antibodies detected."})})};t.PandemicAntibodyDisplay=s;t.Pandemic=function(e){var t=(0,a.useBackend)(e).data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),!!t.has_blood&&(0,o.createFragment)([(0,o.createComponentVNode)(2,l,{state:e.state}),(0,o.createComponentVNode)(2,s,{state:e.state})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableGenerator=void 0;var o=n(1),r=n(3),a=n(2);t.PortableGenerator=function(e){var t,n=(0,r.useBackend)(e),i=n.act,c=n.data;return t=c.stack_percent>50?"good":c.stack_percent>15?"average":"bad",(0,o.createFragment)([!c.anchored&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Generator not anchored."}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power switch",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.active?"power-off":"times",onClick:function(){return i("toggle_power")},disabled:!c.ready_to_boot,children:c.active?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:c.sheet_name+" sheets",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t,children:c.sheets}),c.sheets>=1&&(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"eject",disabled:c.active,onClick:function(){return i("eject")},children:"Eject"})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current sheet level",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.stack_percent/100,ranges:{good:[.1,Infinity],average:[.01,.1],bad:[-Infinity,.01]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Heat level",children:c.current_heat<100?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:"Nominal"}):c.current_heat<200?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"average",children:"Caution"}):(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"bad",children:"DANGER"})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current output",children:c.power_output}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",onClick:function(){return i("lower_power")},children:c.power_generated}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return i("higher_power")},children:c.power_generated})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power available",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:!c.connected&&"bad",children:c.connected?c.power_available:"Unconnected"})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableScrubber=t.PortablePump=t.PortableBasicInfo=void 0;var o=n(1),r=n(3),a=n(2),i=n(37),c=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.connected,l=i.holding,u=i.on,s=i.pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:s})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:c?"good":"average",children:c?"Connected":"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",minHeight:"82px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!l,onClick:function(){return n("eject")}}),children:l?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:l.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.pressure})," kPa"]})]}):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No holding tank"})})],4)};t.PortableBasicInfo=c;t.PortablePump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.direction,u=(i.holding,i.target_pressure),s=i.default_pressure,d=i.min_pressure,p=i.max_pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Pump",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-in-alt":"sign-out-alt",content:l?"In":"Out",selected:l,onClick:function(){return n("direction")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,unit:"kPa",width:"75px",minValue:d,maxValue:p,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:u===d,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",disabled:u===s,onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:u===p,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})],4)};t.PortableScrubber=function(e){var t=(0,r.useBackend)(e),n=t.act,l=t.data.filter_types||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Filters",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,i.getGasLabel)(e.gas_id,e.gas_name),selected:e.enabled,onClick:function(){return n("toggle_filter",{val:e.gas_id})}},e.id)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.PowerMonitor=void 0;var o=n(1),r=n(29),a=n(70),i=n(20),c=n(12),l=n(2);var u=5e5,s=function(e){var t=String(e.split(" ")[1]).toLowerCase();return["w","kw","mw","gw"].indexOf(t)},d=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).state={sortByField:null},t}return n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,c.prototype.render=function(){var e=this,t=this.props.state.data,n=t.history,c=this.state.sortByField,d=n.supply[n.supply.length-1]||0,m=n.demand[n.demand.length-1]||0,h=n.supply.map((function(e,t){return[t,e]})),C=n.demand.map((function(e,t){return[t,e]})),g=Math.max.apply(Math,[u].concat(n.supply,n.demand)),b=(0,a.flow)([(0,r.map)((function(e,t){return Object.assign({},e,{id:e.name+t})})),"name"===c&&(0,r.sortBy)((function(e){return e.name})),"charge"===c&&(0,r.sortBy)((function(e){return-e.charge})),"draw"===c&&(0,r.sortBy)((function(e){return-s(e.load)}),(function(e){return-parseFloat(e.load)}))])(t.areas);return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"200px",children:(0,o.createComponentVNode)(2,l.Section,{children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Supply",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:d,minValue:0,maxValue:g,color:"teal",content:(0,i.toFixed)(d/1e3)+" kW"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Draw",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:m,minValue:0,maxValue:g,color:"pink",content:(0,i.toFixed)(m/1e3)+" kW"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{position:"relative",height:"100%",children:[(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:h,rangeX:[0,h.length-1],rangeY:[0,g],strokeColor:"rgba(0, 181, 173, 1)",fillColor:"rgba(0, 181, 173, 0.25)"}),(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:C,rangeX:[0,C.length-1],rangeY:[0,g],strokeColor:"rgba(224, 57, 151, 1)",fillColor:"rgba(224, 57, 151, 0.25)"})]})})]}),(0,o.createComponentVNode)(2,l.Section,{children:[(0,o.createComponentVNode)(2,l.Box,{mb:1,children:[(0,o.createComponentVNode)(2,l.Box,{inline:!0,mr:2,color:"label",children:"Sort by:"}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"name"===c,content:"Name",onClick:function(){return e.setState({sortByField:"name"!==c&&"name"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"charge"===c,content:"Charge",onClick:function(){return e.setState({sortByField:"charge"!==c&&"charge"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"draw"===c,content:"Draw",onClick:function(){return e.setState({sortByField:"draw"!==c&&"draw"})}})]}),(0,o.createComponentVNode)(2,l.Table,{children:[(0,o.createComponentVNode)(2,l.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Area"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:"Charge"}),(0,o.createComponentVNode)(2,l.Table.Cell,{textAlign:"right",children:"Draw"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Equipment",children:"Eqp"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Lighting",children:"Lgt"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Environment",children:"Env"})]}),b.map((function(e,t){return(0,o.createVNode)(1,"tr","Table__row candystripe",[(0,o.createVNode)(1,"td",null,e.name,0),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",(0,o.createComponentVNode)(2,p,{charging:e.charging,charge:e.charge}),2),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",e.load,0),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,f,{status:e.eqp}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,f,{status:e.lgt}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,f,{status:e.env}),2)],4,null,e.id)}))]})]})],4)},c}(o.Component);t.PowerMonitor=d;var p=function(e){var t=e.charging,n=e.charge;return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Icon,{width:"18px",textAlign:"center",name:0===t&&(n>50?"battery-half":"battery-quarter")||1===t&&"bolt"||2===t&&"battery-full",color:0===t&&(n>50?"yellow":"red")||1===t&&"yellow"||2===t&&"green"}),(0,o.createComponentVNode)(2,l.Box,{inline:!0,width:"36px",textAlign:"right",children:(0,i.toFixed)(n)+"%"})],4)};p.defaultHooks=c.pureComponentHooks;var f=function(e){var t=e.status,n=Boolean(2&t),r=Boolean(1&t),a=(n?"On":"Off")+" ["+(r?"auto":"manual")+"]";return(0,o.createComponentVNode)(2,l.ColorBox,{color:n?"good":"bad",content:r?undefined:"M",title:a})};f.defaultHooks=c.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Radio=void 0;var o=n(1),r=n(29),a=n(20),i=n(3),c=n(2),l=n(37);t.Radio=function(e){var t=(0,i.useBackend)(e),n=t.act,u=t.data,s=u.freqlock,d=u.frequency,p=u.minFrequency,f=u.maxFrequency,m=u.listening,h=u.broadcasting,C=u.command,g=u.useCommand,b=u.subspace,v=u.subspaceSwitchable,N=l.RADIO_CHANNELS.find((function(e){return e.freq===d})),V=(0,r.map)((function(e,t){return{name:t,status:!!e}}))(u.channels);return(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Frequency",children:[s&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"light-gray",children:(0,a.toFixed)(d/10,1)+" kHz"})||(0,o.createComponentVNode)(2,c.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:10,minValue:p/10,maxValue:f/10,value:d/10,format:function(e){return(0,a.toFixed)(e,1)},onDrag:function(e,t){return n("frequency",{adjust:t-d/10})}}),N&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:N.color,ml:2,children:["[",N.name,"]"]})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Audio",children:[(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:m?"volume-up":"volume-mute",selected:m,onClick:function(){return n("listen")}}),(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:h?"microphone":"microphone-slash",selected:h,onClick:function(){return n("broadcast")}}),!!C&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:g,content:"High volume "+(g?"ON":"OFF"),onClick:function(){return n("command")}}),!!v&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:b,content:"Subspace Tx "+(b?"ON":"OFF"),onClick:function(){return n("subspace")}})]}),!!b&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Channels",children:[0===V.length&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"bad",children:"No encryption keys installed."}),V.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{children:(0,o.createComponentVNode)(2,c.Button,{icon:e.status?"check-square-o":"square-o",selected:e.status,content:e.name,onClick:function(){return n("channel",{channel:e.name})}})},e.name)}))]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RapidPipeDispenser=void 0;var o=n(1),r=n(12),a=n(3),i=n(2),c=["Atmospherics","Disposals","Transit Tubes"],l={Atmospherics:"wrench",Disposals:"trash-alt","Transit Tubes":"bus",Pipes:"grip-lines","Disposal Pipes":"grip-lines",Devices:"microchip","Heat Exchange":"thermometer-half","Station Equipment":"microchip"},u={grey:"#bbbbbb",amethyst:"#a365ff",blue:"#4466ff",brown:"#b26438",cyan:"#48eae8",dark:"#808080",green:"#1edd00",orange:"#ffa030",purple:"#b535ea",red:"#ff3333",violet:"#6e00f6",yellow:"#ffce26"},s=[{name:"Dispense",bitmask:1},{name:"Connect",bitmask:2},{name:"Destroy",bitmask:4},{name:"Paint",bitmask:8}];t.RapidPipeDispenser=function(e){var t=(0,a.useBackend)(e),n=t.act,d=t.data,p=d.category,f=d.categories,m=void 0===f?[]:f,h=d.selected_color,C=d.piping_layer,g=d.mode,b=d.preview_rows.flatMap((function(e){return e.previews}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Category",children:c.map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{selected:p===t,icon:l[e],color:"transparent",content:e,onClick:function(){return n("category",{category:t})}},e)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Modes",children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:g&e.bitmask,content:e.name,onClick:function(){return n("mode",{mode:e.bitmask})}},e.bitmask)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Color",children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,width:"64px",color:u[h],content:h}),Object.keys(u).map((function(e){return(0,o.createComponentVNode)(2,i.ColorBox,{ml:1,color:u[e],onClick:function(){return n("color",{paint_color:e})}},e)}))]})]})}),(0,o.createComponentVNode)(2,i.Flex,{m:-.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,children:(0,o.createComponentVNode)(2,i.Section,{children:[0===p&&(0,o.createComponentVNode)(2,i.Box,{mb:1,children:[1,2,3].map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:e===C,content:"Layer "+e,onClick:function(){return n("piping_layer",{piping_layer:e})}},e)}))}),(0,o.createComponentVNode)(2,i.Box,{width:"108px",children:b.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{title:e.dir_name,selected:e.selected,style:{width:"48px",height:"48px",padding:0},onClick:function(){return n("setdir",{dir:e.dir,flipped:e.flipped})},children:(0,o.createComponentVNode)(2,i.Box,{className:(0,r.classes)(["pipes32x32",e.dir+"-"+e.icon_state]),style:{transform:"scale(1.5) translate(17%, 17%)"}})},e.dir)}))})]})}),(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,grow:1,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{fluid:!0,icon:l[e.cat_name],label:e.cat_name,children:function(){return e.recipes.map((function(t){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,ellipsis:!0,checked:t.selected,content:t.pipe_name,title:t.pipe_name,onClick:function(){return n("pipe_type",{pipe_type:t.pipe_index,category:e.cat_name})}},t.pipe_index)}))}},e.cat_name)}))})})})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SatelliteControl=void 0;var o=n(1),r=n(3),a=n(2),i=n(163);t.SatelliteControl=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.satellites||[];return(0,o.createFragment)([c.meteor_shield&&(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledListItem,{label:"Coverage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.meteor_shield_coverage/c.meteor_shield_coverage_max,content:100*c.meteor_shield_coverage/c.meteor_shield_coverage_max+"%",ranges:{good:[1,Infinity],average:[.3,1],bad:[-Infinity,.3]}})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Satellite Controls",children:(0,o.createComponentVNode)(2,a.Box,{mr:-1,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.active,content:"#"+e.id+" "+e.mode,onClick:function(){return n("toggle",{id:e.id})}},e.id)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.ScannerGate=void 0;var o=n(1),r=n(3),a=n(2),i=n(69),c=["Positive","Harmless","Minor","Medium","Harmful","Dangerous","BIOHAZARD"],l=[{name:"Human",value:"human"},{name:"Lizardperson",value:"lizard"},{name:"Flyperson",value:"fly"},{name:"Felinid",value:"felinid"},{name:"Plasmaman",value:"plasma"},{name:"Mothperson",value:"moth"},{name:"Jellyperson",value:"jelly"},{name:"Podperson",value:"pod"},{name:"Golem",value:"golem"},{name:"Zombie",value:"zombie"}],u=[{name:"Starving",value:150},{name:"Obese",value:600}];t.ScannerGate=function(e){var t=e.state,n=(0,r.useBackend)(e),a=n.act,c=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{locked:c.locked,onLockedStatusChange:function(){return a("toggle_lock")}}),!c.locked&&(0,o.createComponentVNode)(2,d,{state:t})],0)};var s={Off:{title:"Scanner Mode: Off",component:function(){return p}},Wanted:{title:"Scanner Mode: Wanted",component:function(){return f}},Guns:{title:"Scanner Mode: Guns",component:function(){return m}},Mindshield:{title:"Scanner Mode: Mindshield",component:function(){return h}},Disease:{title:"Scanner Mode: Disease",component:function(){return C}},Species:{title:"Scanner Mode: Species",component:function(){return g}},Nutrition:{title:"Scanner Mode: Nutrition",component:function(){return b}},Nanites:{title:"Scanner Mode: Nanites",component:function(){return v}}},d=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data.scan_mode,l=s[c]||s.off,u=l.component();return(0,o.createComponentVNode)(2,a.Section,{title:l.title,buttons:"Off"!==c&&(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"back",onClick:function(){return i("set_mode",{new_mode:"Off"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},p=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:"Select a scanning mode below."}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{content:"Wanted",onClick:function(){return t("set_mode",{new_mode:"Wanted"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Guns",onClick:function(){return t("set_mode",{new_mode:"Guns"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Mindshield",onClick:function(){return t("set_mode",{new_mode:"Mindshield"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Disease",onClick:function(){return t("set_mode",{new_mode:"Disease"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Species",onClick:function(){return t("set_mode",{new_mode:"Species"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nutrition",onClick:function(){return t("set_mode",{new_mode:"Nutrition"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nanites",onClick:function(){return t("set_mode",{new_mode:"Nanites"})}})]})],4)},f=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any warrants for their arrest."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},m=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any guns."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},h=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","a mindshield."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},C=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,l=n.data,u=l.reverse,s=l.disease_threshold;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",u?"does not have":"has"," ","a disease equal or worse than ",s,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e===s,content:e,onClick:function(){return i("set_disease_threshold",{new_threshold:e})}},e)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},g=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,u=c.reverse,s=c.target_species,d=l.find((function(e){return e.value===s}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned is ",u?"not":""," ","of the ",d.name," species.","zombie"===s&&" All zombie types will be detected, including dormant zombies."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===s,content:e.name,onClick:function(){return i("set_target_species",{new_species:e.value})}},e.value)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},b=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,s=c.target_nutrition,d=u.find((function(e){return e.value===s}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","the ",d.name," nutrition level."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===s,content:e.name,onClick:function(){return i("set_target_nutrition",{new_nutrition:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},v=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,u=c.nanite_cloud;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","nanite cloud ",u,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,width:"65px",minValue:1,maxValue:100,stepPixelSize:2,onChange:function(e,t){return i("set_nanite_cloud",{new_cloud:t})}})})})}),(0,o.createComponentVNode)(2,N,{state:t})],4)},N=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.reverse;return(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scanning Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:i?"Inverted":"Default",icon:i?"random":"long-arrow-alt-right",onClick:function(){return n("toggle_reverse")},color:i?"bad":"good"})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShuttleManipulator=void 0;var o=n(1),r=n(29),a=n(3),i=n(2);t.ShuttleManipulator=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.shuttles||[],u=c.templates||{},s=c.selected||{},d=c.existing_shuttle||{};return(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Status",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Table,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"JMP",onClick:function(){return n("jump_to",{type:"mobile",id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Fly",disabled:!e.can_fly,onClick:function(){return n("fly",{id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.id}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.status}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:[e.mode,!!e.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),e.timeleft,(0,o.createTextVNode)(")"),(0,o.createComponentVNode)(2,i.Button,{content:"Fast Travel",disabled:!e.can_fast_travel,onClick:function(){return n("fast_travel",{id:e.id})}},e.id)],0)]})]},e.id)}))})})}},"status"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Templates",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:(0,r.map)((function(e,t){var r=e.templates||[];return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.port_id,children:r.map((function(e){var t=e.shuttle_id===s.shuttle_id;return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{content:t?"Selected":"Select",selected:t,onClick:function(){return n("select_template",{shuttle_id:e.shuttle_id})}}),children:(!!e.description||!!e.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:e.description}),!!e.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:e.admin_notes})]})},e.shuttle_id)}))},t)}))(u)})})}},"templates"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Modification",children:(0,o.createComponentVNode)(2,i.Section,{children:s?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{level:2,title:s.name,children:(!!s.description||!!s.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!s.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:s.description}),!!s.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:s.admin_notes})]})}),d?(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: "+d.name,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Jump To",onClick:function(){return n("jump_to",{type:"mobile",id:d.id})}}),children:[d.status,!!d.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),d.timeleft,(0,o.createTextVNode)(")")],0)]})})}):(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: None"}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Status",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Preview",onClick:function(){return n("preview",{shuttle_id:s.shuttle_id})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Load",color:"bad",onClick:function(){return n("load",{shuttle_id:s.shuttle_id})}})]})],0):"No shuttle selected"})},"modification")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.SlimeBodySwapper=t.BodyEntry=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.body,n=e.swapFunc;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t.htmlcolor,children:t.name}),level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{content:{owner:"You Are Here",stranger:"Occupied",available:"Swap"}[t.occupied],selected:"owner"===t.occupied,color:"stranger"===t.occupied&&"bad",onClick:function(){return n()}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",bold:!0,color:{Dead:"bad",Unconscious:"average",Conscious:"good"}[t.status],children:t.status}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Jelly",children:t.exoticblood}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Location",children:t.area})]})})};t.BodyEntry=i;t.SlimeBodySwapper=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data.bodies,l=void 0===c?[]:c;return(0,o.createComponentVNode)(2,a.Section,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i,{body:e,swapFunc:function(){return n("swap",{ref:e.ref})}},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.Signaler=void 0;var o=n(1),r=n(2),a=n(3),i=n(20);t.Signaler=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.code,u=c.frequency,s=c.minFrequency,d=c.maxFrequency;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Frequency:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:s/10,maxValue:d/10,value:u/10,format:function(e){return(0,i.toFixed)(e,1)},width:13,onDrag:function(e,t){return n("freq",{freq:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"freq"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.6,children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Code:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:l,width:13,onDrag:function(e,t){return n("code",{code:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"code"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.8,children:(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{mb:-.1,fluid:!0,icon:"arrow-up",content:"Send Signal",textAlign:"center",onClick:function(){return n("signal")}})})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.SmartVend=void 0;var o=n(1),r=n(29),a=n(3),i=n(2);t.SmartVend=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createComponentVNode)(2,i.Section,{title:"Storage",buttons:!!c.isdryer&&(0,o.createComponentVNode)(2,i.Button,{icon:c.drying?"stop":"tint",onClick:function(){return n("Dry")},children:c.drying?"Stop drying":"Dry"}),children:0===c.contents.length&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:["Unfortunately, this ",c.name," is empty."]})||(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Item"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"center",children:c.verb?c.verb:"Dispense"})]}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:e.amount}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.Button,{content:"One",disabled:e.amount<1,onClick:function(){return n("Release",{name:e.name,amount:1})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Many",disabled:e.amount<=1,onClick:function(){return n("Release",{name:e.name})}})]})]},t)}))(c.contents)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Smes=void 0;var o=n(1),r=n(3),a=n(2);t.Smes=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return t=l.capacityPercent>=100?"good":l.inputting?"average":"bad",n=l.outputting?"good":l.charge>0?"average":"bad",(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Stored Energy",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:.01*l.capacityPercent,ranges:{good:[.5,Infinity],average:[.15,.5],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.Section,{title:"Input",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.inputAttempt?"sync-alt":"times",selected:l.inputAttempt,onClick:function(){return c("tryinput")},children:l.inputAttempt?"Auto":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:t,children:l.capacityPercent>=100?"Fully Charged":l.inputting?"Charging":"Not Charging"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Input",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.inputLevel/l.inputLevelMax,content:l.inputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Input",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(l.inputLevel/1e3),unit:"kW",width:"65px",minValue:0,maxValue:l.inputLevelMax/1e3,onChange:function(e,t){return c("input",{target:1e3*t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Available",children:l.inputAvailable})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.outputAttempt?"power-off":"times",selected:l.outputAttempt,onClick:function(){return c("tryoutput")},children:l.outputAttempt?"On":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:n,children:l.outputting?"Sending":l.charge>0?"Not Sending":"No Charge"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.outputLevel/l.outputLevelMax,content:l.outputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(l.outputLevel/1e3),unit:"kW",width:"65px",minValue:0,maxValue:l.outputLevelMax/1e3,onChange:function(e,t){return c("output",{target:1e3*t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Outputting",children:l.outputUsed})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SmokeMachine=void 0;var o=n(1),r=n(3),a=n(2);t.SmokeMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.TankContents,l=(i.isTankLoaded,i.TankCurrentVolume),u=i.TankMaxVolume,s=i.active,d=i.setting,p=(i.screen,i.maxSetting),f=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Dispersal Tank",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:s?"power-off":"times",selected:s,content:s?"On":"Off",onClick:function(){return n("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/u,ranges:{bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{initial:0,value:l||0})," / "+u]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Range",children:[1,2,3,4,5].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:d===e,icon:"plus",content:3*e,disabled:f0?"good":"bad",children:f})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{ranges:{good:[.66,Infinity],average:[.33,.66],bad:[-Infinity,.33]},minValue:0,maxValue:1,value:l,content:c+" W"})})})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Tracking",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:0===p,onClick:function(){return n("tracking",{mode:0})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:"Timed",selected:1===p,onClick:function(){return n("tracking",{mode:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:2===p,disabled:!m,onClick:function(){return n("tracking",{mode:2})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Azimuth",children:[(0===p||1===p)&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"52px",unit:"\xb0",step:1,stepPixelSize:2,minValue:-360,maxValue:720,value:u,onDrag:function(e,t){return n("azimuth",{value:t})}}),1===p&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"80px",unit:"\xb0/m",step:.01,stepPixelSize:1,minValue:-d-.01,maxValue:d+.01,value:s,format:function(e){return(Math.sign(e)>0?"+":"-")+Math.abs(e)},onDrag:function(e,t){return n("azimuth_rate",{value:t})}}),2===p&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mt:"3px",children:[u+" \xb0"," (auto)"]})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpaceHeater=void 0;var o=n(1),r=n(3),a=n(2);t.SpaceHeater=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Cell",disabled:!i.hasPowercell||!i.open,onClick:function(){return n("eject")}}),(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,disabled:!i.hasPowercell,onClick:function(){return n("power")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cell",color:!i.hasPowercell&&"bad",children:i.hasPowercell&&(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.powerLevel/100,content:i.powerLevel+"%",ranges:{good:[.6,Infinity],average:[.3,.6],bad:[-Infinity,.3]}})||"None"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Thermostat",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"18px",color:Math.abs(i.targetTemp-i.currentTemp)>50?"bad":Math.abs(i.targetTemp-i.currentTemp)>20?"average":"good",children:[i.currentTemp,"\xb0C"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:i.open&&(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.targetTemp),width:"65px",unit:"\xb0C",minValue:i.minTemp,maxValue:i.maxTemp,onChange:function(e,t){return n("target",{target:t})}})||i.targetTemp+"\xb0C"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",children:i.open?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"thermometer-half",content:"Auto",selected:"auto"===i.mode,onClick:function(){return n("mode",{mode:"auto"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fire-alt",content:"Heat",selected:"heat"===i.mode,onClick:function(){return n("mode",{mode:"heat"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fan",content:"Cool",selected:"cool"===i.mode,onClick:function(){return n("mode",{mode:"cool"})}})],4):"Auto"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider)]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpawnersMenu=void 0;var o=n(1),r=n(3),a=n(2);t.SpawnersMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.spawners||[];return(0,o.createComponentVNode)(2,a.Section,{children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name+" ("+e.amount_left+" left)",level:2,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Jump",onClick:function(){return n("jump",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Spawn",onClick:function(){return n("spawn",{name:e.name})}})],4),children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,mb:1,fontSize:"20px",children:e.short_desc}),(0,o.createComponentVNode)(2,a.Box,{children:e.flavor_text}),!!e.important_info&&(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,color:"bad",fontSize:"26px",children:e.important_info})]},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.StationAlertConsole=void 0;var o=n(1),r=n(3),a=n(2);t.StationAlertConsole=function(e){var t=(0,r.useBackend)(e).data.alarms||[],n=t.Fire||[],i=t.Atmosphere||[],c=t.Power||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Fire Alarms",children:(0,o.createVNode)(1,"ul",null,[0===n.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),n.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Atmospherics Alarms",children:(0,o.createVNode)(1,"ul",null,[0===i.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),i.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Alarms",children:(0,o.createVNode)(1,"ul",null,[0===c.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),c.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SuitStorageUnit=void 0;var o=n(1),r=n(3),a=n(2);t.SuitStorageUnit=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.locked,l=i.open,u=i.safeties,s=i.uv_active,d=i.occupied,p=i.suit,f=i.helmet,m=i.mask,h=i.storage;return(0,o.createFragment)([!(!d||!u)&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Biological entity detected in suit chamber. Please remove before continuing with operation."}),s&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Contents are currently being decontaminated. Please wait."})||(0,o.createComponentVNode)(2,a.Section,{title:"Storage",minHeight:"260px",buttons:(0,o.createFragment)([!l&&(0,o.createComponentVNode)(2,a.Button,{icon:c?"unlock":"lock",content:c?"Unlock":"Lock",onClick:function(){return n("lock")}}),!c&&(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-out-alt":"sign-in-alt",content:l?"Close":"Open",onClick:function(){return n("door")}})],0),children:c&&(0,o.createComponentVNode)(2,a.Box,{mt:6,bold:!0,textAlign:"center",fontSize:"40px",children:[(0,o.createComponentVNode)(2,a.Box,{children:"Unit Locked"}),(0,o.createComponentVNode)(2,a.Icon,{name:"lock"})]})||l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Helmet",children:(0,o.createComponentVNode)(2,a.Button,{icon:f?"square":"square-o",content:f||"Empty",disabled:!f,onClick:function(){return n("dispense",{item:"helmet"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suit",children:(0,o.createComponentVNode)(2,a.Button,{icon:p?"square":"square-o",content:p||"Empty",disabled:!p,onClick:function(){return n("dispense",{item:"suit"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mask",children:(0,o.createComponentVNode)(2,a.Button,{icon:m?"square":"square-o",content:m||"Empty",disabled:!m,onClick:function(){return n("dispense",{item:"mask"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Storage",children:(0,o.createComponentVNode)(2,a.Button,{icon:h?"square":"square-o",content:h||"Empty",disabled:!h,onClick:function(){return n("dispense",{item:"storage"})}})})]})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"recycle",content:"Decontaminate",disabled:d&&u,textAlign:"center",onClick:function(){return n("uv")}})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Tank=void 0;var o=n(1),r=n(3),a=n(2);t.Tank=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.tankPressure/1013,content:i.tankPressure+" kPa",ranges:{good:[.35,Infinity],average:[.15,.35],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:i.ReleasePressure===i.minReleasePressure,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.releasePressure),width:"65px",unit:"kPa",minValue:i.minReleasePressure,maxValue:i.maxReleasePressure,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:i.ReleasePressure===i.maxReleasePressure,onClick:function(){return n("pressure",{pressure:"max"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"",disabled:i.ReleasePressure===i.defaultReleasePressure,onClick:function(){return n("pressure",{pressure:"reset"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.TankDispenser=void 0;var o=n(1),r=n(3),a=n(2);t.TankDispenser=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plasma",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.plasma?"square":"square-o",content:"Dispense",disabled:!i.plasma,onClick:function(){return n("plasma")}}),children:i.plasma}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Oxygen",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.oxygen?"square":"square-o",content:"Dispense",disabled:!i.oxygen,onClick:function(){return n("oxygen")}}),children:i.oxygen})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Teleporter=void 0;var o=n(1),r=n(3),a=n(2);t.Teleporter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.calibrated,l=i.calibrating,u=i.power_station,s=i.regime_set,d=i.teleporter_hub,p=i.target;return(0,o.createComponentVNode)(2,a.Section,{children:!u&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No power station linked."})||!d&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No hub linked."})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Regime",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Change Regime",onClick:function(){return n("regimeset")}}),children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Set Target",onClick:function(){return n("settarget")}}),children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Calibration",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Calibrate Hub",onClick:function(){return n("calibrate")}}),children:l&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"In Progress"})||c&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Optimal"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Sub-Optimal"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ThermoMachine=void 0;var o=n(1),r=n(20),a=n(3),i=n(2);t.ThermoMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.temperature,format:function(e){return(0,r.toFixed)(e,2)}})," K"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.pressure,format:function(e){return(0,r.toFixed)(e,2)}})," kPa"]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,i.NumberInput,{animated:!0,value:Math.round(c.target),unit:"K",width:"62px",minValue:Math.round(c.min),maxValue:Math.round(c.max),step:5,stepPixelSize:3,onDrag:function(e,t){return n("target",{target:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"fast-backward",disabled:c.target===c.min,title:"Minimum temperature",onClick:function(){return n("target",{target:c.min})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",disabled:c.target===c.initial,title:"Room Temperature",onClick:function(){return n("target",{target:c.initial})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"fast-forward",disabled:c.target===c.max,title:"Maximum Temperature",onClick:function(){return n("target",{target:c.max})}})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.TurbineComputer=void 0;var o=n(1),r=n(3),a=n(2);t.TurbineComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=Boolean(i.compressor&&!i.compressor_broke&&i.turbine&&!i.turbine_broke);return(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:i.online?"power-off":"times",content:i.online?"Online":"Offline",selected:i.online,disabled:!c,onClick:function(){return n("toggle_power")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reconnect",onClick:function(){return n("reconnect")}})],4),children:!c&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Compressor Status",color:!i.compressor||i.compressor_broke?"bad":"good",children:i.compressor_broke?i.compressor?"Offline":"Missing":"Online"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Status",color:!i.turbine||i.turbine_broke?"bad":"good",children:i.turbine_broke?i.turbine?"Offline":"Missing":"Online"})]})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Speed",children:[i.rpm," RPM"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Internal Temp",children:[i.temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Generated Power",children:i.power})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Uplink=void 0;var o=n(1),r=n(28),a=n(19),i=n(2);var c=function(e){var t,n;function r(){var t;return(t=e.call(this)||this).state={hoveredItem:{},currentSearch:""},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.setHoveredItem=function(e){this.setState({hoveredItem:e})},c.setSearchText=function(e){this.setState({currentSearch:e})},c.render=function(){var e=this,t=this.props.state,n=t.config,r=t.data,c=n.ref,u=r.compact_mode,s=r.lockable,d=r.telecrystals,p=r.categories,f=void 0===p?[]:p,m=this.state,h=m.hoveredItem,C=m.currentSearch;return(0,o.createComponentVNode)(2,i.Section,{title:(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:d>0?"good":"bad",children:[d," TC"]}),buttons:(0,o.createFragment)([(0,o.createTextVNode)("Search"),(0,o.createComponentVNode)(2,i.Input,{value:C,onInput:function(t,n){return e.setSearchText(n)},ml:1,mr:1}),(0,o.createComponentVNode)(2,i.Button,{icon:u?"list":"info",content:u?"Compact":"Detailed",onClick:function(){return(0,a.act)(c,"compact_toggle")}}),!!s&&(0,o.createComponentVNode)(2,i.Button,{icon:"lock",content:"Lock",onClick:function(){return(0,a.act)(c,"lock")}})],0),children:C.length>0?(0,o.createVNode)(1,"table","Table",(0,o.createComponentVNode)(2,l,{compact:!0,items:f.flatMap((function(e){return e.items||[]})).filter((function(e){var t=C.toLowerCase();return String(e.name+e.desc).toLowerCase().includes(t)})),hoveredItem:h,onBuyMouseOver:function(t){return e.setHoveredItem(t)},onBuyMouseOut:function(t){return e.setHoveredItem({})},onBuy:function(e){return(0,a.act)(c,"buy",{item:e.name})}}),2):(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:f.map((function(t){var n=t.name,r=t.items;if(null!==r)return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:n+" ("+r.length+")",children:function(){return(0,o.createComponentVNode)(2,l,{compact:u,items:r,hoveredItem:h,telecrystals:d,onBuyMouseOver:function(t){return e.setHoveredItem(t)},onBuyMouseOut:function(t){return e.setHoveredItem({})},onBuy:function(e){return(0,a.act)(c,"buy",{item:e.name})}})}},n)}))})})},r}(o.Component);t.Uplink=c;var l=function(e){var t=e.items,n=e.hoveredItem,a=e.telecrystals,c=e.compact,l=e.onBuy,u=e.onBuyMouseOver,s=e.onBuyMouseOut,d=n&&n.cost||0;return c?(0,o.createComponentVNode)(2,i.Table,{children:t.map((function(e){var t=n&&n.name!==e.name,c=a-d1?r-1:0),i=1;i1?t-1:0),o=1;o0?"good":"bad",content:i>0?"Earned "+i+" times":"Locked"})],0,{style:{"vertical-align":"top"}})],4,null,t)};t.Score=c;t.Achievements=function(e){var t=(0,r.useBackend)(e).data;return(0,o.createComponentVNode)(2,a.Tabs,{children:[t.categories.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e,children:(0,o.createComponentVNode)(2,a.Box,{as:"Table",children:t.achievements.filter((function(t){return t.category===e})).map((function(e){return e.score?(0,o.createComponentVNode)(2,c,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name):(0,o.createComponentVNode)(2,i,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name)}))})},e)})),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"High Scores",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:t.highscore.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e.name,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"#"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Key"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Score"})]}),Object.keys(e.scores).map((function(n,r){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",m:2,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:r+1}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:n===t.user_ckey&&"green",textAlign:"center",children:[0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",mr:2}),n,0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",ml:2})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:e.scores[n]})]},n)}))]})},e.name)}))})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.BlockQuote=void 0;var o=n(1),r=n(12),a=n(17);t.BlockQuote=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["BlockQuote",t])},n)))}},function(e,t,n){"use strict";var o,r;t.__esModule=!0,t.VNodeFlags=t.ChildFlags=void 0,t.VNodeFlags=o,function(e){e[e.HtmlElement=1]="HtmlElement",e[e.ComponentUnknown=2]="ComponentUnknown",e[e.ComponentClass=4]="ComponentClass",e[e.ComponentFunction=8]="ComponentFunction",e[e.Text=16]="Text",e[e.SvgElement=32]="SvgElement",e[e.InputElement=64]="InputElement",e[e.TextareaElement=128]="TextareaElement",e[e.SelectElement=256]="SelectElement",e[e.Void=512]="Void",e[e.Portal=1024]="Portal",e[e.ReCreate=2048]="ReCreate",e[e.ContentEditable=4096]="ContentEditable",e[e.Fragment=8192]="Fragment",e[e.InUse=16384]="InUse",e[e.ForwardRef=32768]="ForwardRef",e[e.Normalized=65536]="Normalized",e[e.ForwardRefComponent=32776]="ForwardRefComponent",e[e.FormElement=448]="FormElement",e[e.Element=481]="Element",e[e.Component=14]="Component",e[e.DOMRef=2033]="DOMRef",e[e.InUseOrNormalized=81920]="InUseOrNormalized",e[e.ClearInUse=-16385]="ClearInUse",e[e.ComponentKnown=12]="ComponentKnown"}(o||(t.VNodeFlags=o={})),t.ChildFlags=r,function(e){e[e.UnknownChildren=0]="UnknownChildren",e[e.HasInvalidChildren=1]="HasInvalidChildren",e[e.HasVNodeChildren=2]="HasVNodeChildren",e[e.HasNonKeyedChildren=4]="HasNonKeyedChildren",e[e.HasKeyedChildren=8]="HasKeyedChildren",e[e.HasTextChildren=16]="HasTextChildren",e[e.MultipleChildren=12]="MultipleChildren"}(r||(t.ChildFlags=r={}))},function(e,t,n){"use strict";t.__esModule=!0,t.ColorBox=void 0;var o=n(1),r=n(12),a=n(17);var i=function(e){var t=e.color,n=e.content,i=e.className,c=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["color","content","className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["ColorBox",i]),color:n?null:"transparent",backgroundColor:t,content:n||"."},c)))};t.ColorBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Collapsible=void 0;var o=n(1),r=n(17),a=n(114);var i=function(e){var t,n;function i(t){var n;n=e.call(this,t)||this;var o=t.open;return n.state={open:o||!1},n}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i.prototype.render=function(){var e=this,t=this.props,n=this.state.open,i=t.children,c=t.color,l=void 0===c?"default":c,u=t.title,d=t.buttons,s=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(t,["children","color","title","buttons"]);return(0,o.createComponentVNode)(2,r.Box,{mb:1,children:[(0,o.createVNode)(1,"div","Table",[(0,o.createVNode)(1,"div","Table__cell",(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Button,Object.assign({fluid:!0,color:l,icon:n?"chevron-down":"chevron-right",onClick:function(){return e.setState({open:!n})}},s,{children:u}))),2),d&&(0,o.createVNode)(1,"div","Table__cell Table__cell--collapsing",d,0)],0),n&&(0,o.createComponentVNode)(2,r.Box,{mt:1,children:i})]})},i}(o.Component);t.Collapsible=i},function(e,t,n){"use strict";t.__esModule=!0,t.Dimmer=void 0;var o=n(1),r=n(17);t.Dimmer=function(e){var t=e.style,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Box,Object.assign({style:Object.assign({position:"absolute",top:0,bottom:0,left:0,right:0,"background-color":"rgba(0, 0, 0, 0.75)","z-index":1},t)},n)))}},function(e,t,n){"use strict";t.__esModule=!0,t.Dropdown=void 0;var o=n(1),r=n(12),a=n(17),i=n(87);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t,n;function l(t){var n;return(n=e.call(this,t)||this).state={selected:t.selected,open:!1},n.handleClick=function(){n.state.open&&n.setOpen(!1)},n}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentWillUnmount=function(){window.removeEventListener("click",this.handleClick)},u.setOpen=function(e){var t=this;this.setState({open:e}),e?(setTimeout((function(){return window.addEventListener("click",t.handleClick)})),this.menuRef.focus()):window.removeEventListener("click",this.handleClick)},u.setSelected=function(e){this.setState({selected:e}),this.setOpen(!1),this.props.onSelected(e)},u.buildMenu=function(){var e=this,t=this.props.options,n=(void 0===t?[]:t).map((function(t){return(0,o.createVNode)(1,"div","Dropdown__menuentry",t,0,{onClick:function(n){e.setSelected(t)}},t)}));return n.length?n:"No Options Found"},u.render=function(){var e=this,t=this.props,n=t.color,l=void 0===n?"default":n,u=t.over,d=t.width,s=(t.onClick,t.selected,c(t,["color","over","width","onClick","selected"])),p=s.className,m=c(s,["className"]),f=u?!this.state.open:this.state.open,h=this.state.open?(0,o.createVNode)(1,"div",(0,r.classes)(["Dropdown__menu",u&&"Dropdown__over"]),this.buildMenu(),0,{tabIndex:"-1",style:{width:d}},null,(function(t){e.menuRef=t})):null;return(0,o.createVNode)(1,"div","Dropdown",[(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({width:d,className:(0,r.classes)(["Dropdown__control","Button","Button--color--"+l,p])},m,{onClick:function(t){e.setOpen(!e.state.open)},children:[(0,o.createVNode)(1,"span","Dropdown__selected-text",this.state.selected,0),(0,o.createVNode)(1,"span","Dropdown__arrow-button",(0,o.createComponentVNode)(2,i.Icon,{name:f?"chevron-up":"chevron-down"}),2)]}))),h],0)},l}(o.Component);t.Dropdown=l},function(e,t,n){"use strict";t.__esModule=!0,t.FlexItem=t.computeFlexItemProps=t.Flex=t.computeFlexProps=void 0;var o=n(1),r=n(12),a=n(17);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.className,n=e.direction,o=e.wrap,a=e.align,c=e.justify,l=e.spacing,u=void 0===l?0:l,d=i(e,["className","direction","wrap","align","justify","spacing"]);return Object.assign({className:(0,r.classes)(["Flex",u>0&&"Flex--spacing--"+u,t]),style:Object.assign({},d.style,{"flex-direction":n,"flex-wrap":o,"align-items":a,"justify-content":c})},d)};t.computeFlexProps=c;var l=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},c(e))))};t.Flex=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.grow,o=e.order,a=e.align,c=i(e,["className","grow","order","align"]);return Object.assign({className:(0,r.classes)(["Flex__item",t]),style:Object.assign({},c.style,{"flex-grow":n,order:o,"align-self":a})},c)};t.computeFlexItemProps=u;var d=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},u(e))))};t.FlexItem=d,d.defaultHooks=r.pureComponentHooks,l.Item=d},function(e,t,n){"use strict";t.__esModule=!0,t.NoticeBox=void 0;var o=n(1),r=n(12),a=n(17);var i=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["NoticeBox",t])},n)))};t.NoticeBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.NumberInput=void 0;var o=n(1),r=n(20),a=n(12),i=n(19),c=n(158),l=n(17);var u=function(e){var t,n;function u(t){var n;n=e.call(this,t)||this;var a=t.value;return n.inputRef=(0,o.createRef)(),n.state={value:a,dragging:!1,editing:!1,internalValue:null,origin:null,suppressingFlicker:!1},n.flickerTimer=null,n.suppressFlicker=function(){var e=n.props.suppressFlicker;e>0&&(n.setState({suppressingFlicker:!0}),clearTimeout(n.flickerTimer),n.flickerTimer=setTimeout((function(){return n.setState({suppressingFlicker:!1})}),e))},n.handleDragStart=function(e){var t=n.props.value;n.state.editing||(document.body.style["pointer-events"]="none",n.ref=e.target,n.setState({dragging:!1,origin:e.screenY,value:t,internalValue:t}),n.timer=setTimeout((function(){n.setState({dragging:!0})}),250),n.dragInterval=setInterval((function(){var t=n.state,o=t.dragging,r=t.value,a=n.props.onDrag;o&&a&&a(e,r)}),500),document.addEventListener("mousemove",n.handleDragMove),document.addEventListener("mouseup",n.handleDragEnd))},n.handleDragMove=function(e){var t=n.props,o=t.minValue,a=t.maxValue,i=t.step,c=t.stepPixelSize;n.setState((function(t){var n=Object.assign({},t),l=n.origin-e.screenY;if(t.dragging){var u=Number.isFinite(o)?o%i:0;n.internalValue=(0,r.clamp)(n.internalValue+l*i/c,o-i,a+i),n.value=(0,r.clamp)(n.internalValue-n.internalValue%i+u,o,a),n.origin=e.screenY}else Math.abs(l)>4&&(n.dragging=!0);return n}))},n.handleDragEnd=function(e){var t=n.props,o=t.onChange,r=t.onDrag,a=n.state,i=a.dragging,c=a.value,l=a.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(n.timer),clearInterval(n.dragInterval),n.setState({dragging:!1,editing:!i,origin:null}),document.removeEventListener("mousemove",n.handleDragMove),document.removeEventListener("mouseup",n.handleDragEnd),i)n.suppressFlicker(),o&&o(e,c),r&&r(e,c);else if(n.inputRef){var u=n.inputRef.current;u.value=l;try{u.focus(),u.select()}catch(d){}}},n}return n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,u.prototype.render=function(){var e=this,t=this.state,n=t.dragging,u=t.editing,d=t.value,s=t.suppressingFlicker,p=this.props,m=p.className,f=p.fluid,h=p.animated,C=p.value,g=p.unit,b=p.minValue,v=p.maxValue,N=p.height,V=p.width,y=p.lineHeight,_=p.fontSize,x=p.format,k=p.onChange,L=p.onDrag,w=C;(n||s)&&(w=d);var B=function(e){return(0,o.createVNode)(1,"div","NumberInput__content",e+(g?" "+g:""),0,{unselectable:i.tridentVersion<=4})},S=h&&!n&&!s&&(0,o.createComponentVNode)(2,c.AnimatedNumber,{value:w,format:x,children:B})||B(x?x(w):w);return(0,o.createComponentVNode)(2,l.Box,{className:(0,a.classes)(["NumberInput",f&&"NumberInput--fluid",m]),minWidth:V,minHeight:N,lineHeight:y,fontSize:_,onMouseDown:this.handleDragStart,children:[(0,o.createVNode)(1,"div","NumberInput__barContainer",(0,o.createVNode)(1,"div","NumberInput__bar",null,1,{style:{height:(0,r.clamp)((w-b)/(v-b)*100,0,100)+"%"}}),2),S,(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:u?undefined:"none",height:N,"line-height":y,"font-size":_},onBlur:function(t){if(u){var n=(0,r.clamp)(t.target.value,b,v);e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),L&&L(t,n)}},onKeyDown:function(t){if(13===t.keyCode){var n=(0,r.clamp)(t.target.value,b,v);return e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),void(L&&L(t,n))}27!==t.keyCode||e.setState({editing:!1})}},null,this.inputRef)]})},u}(o.Component);t.NumberInput=u,u.defaultHooks=a.pureComponentHooks,u.defaultProps={minValue:-Infinity,maxValue:+Infinity,step:1,stepPixelSize:1,suppressFlicker:50}},function(e,t,n){"use strict";t.__esModule=!0,t.ProgressBar=void 0;var o=n(1),r=n(12),a=n(20),i=function(e){var t=e.value,n=e.minValue,i=void 0===n?0:n,c=e.maxValue,l=void 0===c?1:c,u=e.ranges,d=void 0===u?{}:u,s=e.content,p=e.children,m=(t-i)/(l-i),f=s!==undefined||p!==undefined,h=e.color;if(!h)for(var C=0,g=Object.keys(d);C=v[0]&&t<=v[1]){h=b;break}}return h||(h="default"),(0,o.createVNode)(1,"div",(0,r.classes)(["ProgressBar","ProgressBar--color--"+h]),[(0,o.createVNode)(1,"div","ProgressBar__fill",null,1,{style:{width:100*(0,a.clamp)(m,0,1)+"%"}}),(0,o.createVNode)(1,"div","ProgressBar__content",[f&&s,f&&p,!f&&(0,a.toFixed)(100*m)+"%"],0)],4)};t.ProgressBar=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Section=void 0;var o=n(1),r=n(12),a=n(17);var i=function(e){var t=e.className,n=e.title,i=e.level,c=void 0===i?1:i,l=e.buttons,u=e.content,d=e.children,s=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className","title","level","buttons","content","children"]),p=!(0,r.isFalsy)(n)||!(0,r.isFalsy)(l),m=!(0,r.isFalsy)(u)||!(0,r.isFalsy)(d);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Section","Section--level--"+c,t])},s,{children:[p&&(0,o.createVNode)(1,"div","Section__title",[(0,o.createVNode)(1,"span","Section__titleText",n,0),(0,o.createVNode)(1,"div","Section__buttons",l,0)],4),m&&(0,o.createVNode)(1,"div","Section__content",[u,d],0)]})))};t.Section=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Tab=t.Tabs=void 0;var o=n(1),r=n(12),a=n(17),i=n(114);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t=e,n=Array.isArray(t),o=0;for(t=n?t:t[Symbol.iterator]();;){var r;if(n){if(o>=t.length)break;r=t[o++]}else{if((o=t.next()).done)break;r=o.value}var a=r;if(!a.props||"Tab"!==a.props.__type__){var i=JSON.stringify(a,null,2);throw new Error(" only accepts children of type .This is what we received: "+i)}}},u=function(e){var t,n;function u(t){var n;return(n=e.call(this,t)||this).state={activeTabKey:null},n}n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var d=u.prototype;return d.getActiveTab=function(){var e=this.state,t=this.props,n=(0,r.normalizeChildren)(t.children);l(n);var o=t.activeTab||e.activeTabKey,a=n.find((function(e){return(e.key||e.props.label)===o}));return a||(a=n[0],o=a&&(a.key||a.props.label)),{tabs:n,activeTab:a,activeTabKey:o}},d.render=function(){var e=this,t=this.props,n=t.className,l=t.vertical,u=(t.children,c(t,["className","vertical","children"])),d=this.getActiveTab(),s=d.tabs,p=d.activeTab,m=d.activeTabKey,f=null;return p&&(f=p.props.content||p.props.children),"function"==typeof f&&(f=f(m)),(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Tabs",l&&"Tabs--vertical",n])},u,{children:[(0,o.createVNode)(1,"div","Tabs__tabBox",s.map((function(t){var n=t.props,a=n.className,l=n.label,u=(n.content,n.children,n.onClick),d=n.highlight,s=c(n,["className","label","content","children","onClick","highlight"]),p=t.key||t.props.label,f=t.active||p===m;return(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Button,Object.assign({className:(0,r.classes)(["Tabs__tab",f&&"Tabs__tab--active",d&&!f&&"color-yellow",a]),selected:f,color:"transparent",onClick:function(n){e.setState({activeTabKey:p}),u&&u(n,t)}},s,{children:l}),p))})),0),(0,o.createVNode)(1,"div","Tabs__content",f||null,0)]})))},u}(o.Component);t.Tabs=u;var d=function(e){return null};t.Tab=d,d.defaultProps={__type__:"Tab"},u.Tab=d},function(e,t,n){"use strict";t.__esModule=!0,t.TitleBar=void 0;var o=n(1),r=n(12),a=n(29),i=n(19),c=n(37),l=n(87),u=function(e){switch(e){case c.UI_INTERACTIVE:return"good";case c.UI_UPDATE:return"average";case c.UI_DISABLED:default:return"bad"}},d=function(e){var t=e.className,n=e.title,c=e.status,d=e.fancy,s=e.onDragStart,p=e.onClose;return(0,o.createVNode)(1,"div",(0,r.classes)(["TitleBar",t]),[(0,o.createComponentVNode)(2,l.Icon,{className:"TitleBar__statusIcon",color:u(c),name:"eye"}),(0,o.createVNode)(1,"div","TitleBar__title",n===n.toLowerCase()?(0,a.toTitleCase)(n):n,0),(0,o.createVNode)(1,"div","TitleBar__dragZone",null,1,{onMousedown:function(e){return d&&s(e)}}),!!d&&(0,o.createVNode)(1,"div","TitleBar__close TitleBar__clickable",i.tridentVersion<=4?"x":"\xd7",0,{onclick:p})],0)};t.TitleBar=d,d.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=void 0;var o=n(1),r=n(23),a=n(17),i=n(12),c=n(19);var l=function(e,t,n,o){if(0===e.length)return[];var a=(0,r.zipWith)(Math.min).apply(void 0,e),i=(0,r.zipWith)(Math.max).apply(void 0,e);return n!==undefined&&(a[0]=n[0],i[0]=n[1]),o!==undefined&&(a[1]=o[0],i[1]=o[1]),(0,r.map)((function(e){return(0,r.zipWith)((function(e,t,n,o){return(e-t)/(n-t)*o}))(e,a,i,t)}))(e)},u=function(e){for(var t="",n=0;n=0||(r[n]=e[n]);return r}(t,["data","rangeX","rangeY","fillColor","strokeColor","strokeWidth"]),g=this.state.viewBox,b=l(r,g,i,c);if(b.length>0){var v=b[0],N=b[b.length-1];b.push([g[0]+h,N[1]]),b.push([g[0]+h,-h]),b.push([-h,-h]),b.push([-h,v[1]])}var V=u(b);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({position:"relative"},C,{children:function(t){return(0,o.normalizeProps)((0,o.createVNode)(1,"div",null,(0,o.createVNode)(32,"svg",null,(0,o.createVNode)(32,"polyline",null,null,1,{transform:"scale(1, -1) translate(0, -"+g[1]+")",fill:s,stroke:m,"stroke-width":h,points:V}),2,{viewBox:"0 0 "+g[0]+" "+g[1],preserveAspectRatio:"none",style:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden"}}),2,Object.assign({},t),null,e.ref))}})))},r}(o.Component);d.defaultHooks=i.pureComponentHooks;var s={Line:c.tridentVersion<=4?function(e){return null}:d};t.Chart=s},function(e,t,n){"use strict";t.__esModule=!0,t.AiAirlock=void 0;var o=n(1),r=n(3),a=n(2);t.AiAirlock=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c={2:{color:"good",localStatusText:"Offline"},1:{color:"average",localStatusText:"Caution"},0:{color:"bad",localStatusText:"Optimal"}},l=c[i.power.main]||c[0],u=c[i.power.backup]||c[0],d=c[i.shock]||c[0];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main",color:l.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.main,content:"Disrupt",onClick:function(){return n("disrupt-main")}}),children:[i.power.main?"Online":"Offline"," ",i.wires.main_1&&i.wires.main_2?i.power.main_timeleft>0&&"["+i.power.main_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Backup",color:u.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.backup,content:"Disrupt",onClick:function(){return n("disrupt-backup")}}),children:[i.power.backup?"Online":"Offline"," ",i.wires.backup_1&&i.wires.backup_2?i.power.backup_timeleft>0&&"["+i.power.backup_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Electrify",color:d.color,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",disabled:!(i.wires.shock&&0===i.shock),content:"Restore",onClick:function(){return n("shock-restore")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Temporary",onClick:function(){return n("shock-temp")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Permanent",onClick:function(){return n("shock-perm")}})],4),children:[2===i.shock?"Safe":"Electrified"," ",(i.wires.shock?i.shock_timeleft>0&&"["+i.shock_timeleft+"s]":"[Wires have been cut!]")||-1===i.shock_timeleft&&"[Permanent]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Access and Door Control",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID Scan",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.id_scanner?"power-off":"times",content:i.id_scanner?"Enabled":"Disabled",selected:i.id_scanner,disabled:!i.wires.id_scanner,onClick:function(){return n("idscan-toggle")}}),children:!i.wires.id_scanner&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Access",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.emergency?"power-off":"times",content:i.emergency?"Enabled":"Disabled",selected:i.emergency,onClick:function(){return n("emergency-toggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolts",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.locked?"lock":"unlock",content:i.locked?"Lowered":"Raised",selected:i.locked,disabled:!i.wires.bolts,onClick:function(){return n("bolt-toggle")}}),children:!i.wires.bolts&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolt Lights",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.lights?"power-off":"times",content:i.lights?"Enabled":"Disabled",selected:i.lights,disabled:!i.wires.lights,onClick:function(){return n("light-toggle")}}),children:!i.wires.lights&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Force Sensors",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.safe?"power-off":"times",content:i.safe?"Enabled":"Disabled",selected:i.safe,disabled:!i.wires.safe,onClick:function(){return n("safe-toggle")}}),children:!i.wires.safe&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Timing Safety",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.speed?"power-off":"times",content:i.speed?"Enabled":"Disabled",selected:i.speed,disabled:!i.wires.timing,onClick:function(){return n("speed-toggle")}}),children:!i.wires.timing&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Control",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.opened?"sign-out-alt":"sign-in-alt",content:i.opened?"Open":"Closed",selected:i.opened,disabled:i.locked||i.welded,onClick:function(){return n("open-close")}}),children:!(!i.locked&&!i.welded)&&(0,o.createVNode)(1,"span",null,[(0,o.createTextVNode)("[Door is "),i.locked?"bolted":"",i.locked&&i.welded?" and ":"",i.welded?"welded":"",(0,o.createTextVNode)("!]")],0)})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.AirAlarm=void 0;var o=n(1),r=n(20),a=n(29),i=n(3),c=n(2),l=n(37),u=n(69);t.AirAlarm=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.data,c=a.locked&&!a.siliconUser;return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.InterfaceLockNoticeBox,{siliconUser:a.siliconUser,locked:a.locked,onLockStatusChange:function(){return r("lock")}}),(0,o.createComponentVNode)(2,d,{state:t}),!c&&(0,o.createComponentVNode)(2,p,{state:t})],0)};var d=function(e){var t=(0,i.useBackend)(e).data,n=(t.environment_data||[]).filter((function(e){return e.value>=.01})),a={0:{color:"good",localStatusText:"Optimal"},1:{color:"average",localStatusText:"Caution"},2:{color:"bad",localStatusText:"Danger (Internals Required)"}},l=a[t.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.Section,{title:"Air Status",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[n.length>0&&(0,o.createFragment)([n.map((function(e){var t=a[e.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.name,color:t.color,children:[(0,r.toFixed)(e.value,2),e.unit]},e.name)})),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Local status",color:l.color,children:l.localStatusText}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Area status",color:t.atmos_alarm||t.fire_alarm?"bad":"good",children:(t.atmos_alarm?"Atmosphere Alarm":t.fire_alarm&&"Fire Alarm")||"Nominal"})],0)||(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Cannot obtain air sample for analysis."}),!!t.emagged&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Safety measures offline. Device may exhibit abnormal behavior."})]})})},s={home:{title:"Air Controls",component:function(){return m}},vents:{title:"Vent Controls",component:function(){return f}},scrubbers:{title:"Scrubber Controls",component:function(){return C}},modes:{title:"Operating Mode",component:function(){return b}},thresholds:{title:"Alarm Thresholds",component:function(){return v}}},p=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.config,l=s[a.screen]||s.home,u=l.component();return(0,o.createComponentVNode)(2,c.Section,{title:l.title,buttons:"home"!==a.screen&&(0,o.createComponentVNode)(2,c.Button,{icon:"arrow-left",content:"Back",onClick:function(){return r("tgui:view",{screen:"home"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},m=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data,a=r.mode,l=r.atmos_alarm;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:l?"exclamation-triangle":"exclamation",color:l&&"caution",content:"Area Atmosphere Alarm",onClick:function(){return n(l?"reset":"alarm")}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:3===a?"exclamation-triangle":"exclamation",color:3===a&&"danger",content:"Panic Siphon",onClick:function(){return n("mode",{mode:3===a?1:3})}}),(0,o.createComponentVNode)(2,c.Box,{mt:2}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"Vent Controls",onClick:function(){return n("tgui:view",{screen:"vents"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"filter",content:"Scrubber Controls",onClick:function(){return n("tgui:view",{screen:"scrubbers"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"cog",content:"Operating Mode",onClick:function(){return n("tgui:view",{screen:"modes"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"chart-bar",content:"Alarm Thresholds",onClick:function(){return n("tgui:view",{screen:"thresholds"})}})],4)},f=function(e){var t=e.state,n=(0,i.useBackend)(e).data.vents;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},h=function(e){var t=e.id_tag,n=e.long_name,r=e.power,l=e.checks,u=e.excheck,d=e.incheck,s=e.direction,p=e.external,m=e.internal,f=e.extdefault,h=e.intdefault,C=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(n),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:r?"power-off":"times",selected:r,content:r?"On":"Off",onClick:function(){return C("power",{id_tag:t,val:Number(!r)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:"release"===s?"Pressurizing":"Releasing"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,c.Button,{icon:"sign-in-alt",content:"Internal",selected:d,onClick:function(){return C("incheck",{id_tag:t,val:l})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"External",selected:u,onClick:function(){return C("excheck",{id_tag:t,val:l})}})]}),!!d&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Internal Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(m),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_internal_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:h,content:"Reset",onClick:function(){return C("reset_internal_pressure",{id_tag:t})}})]}),!!u&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"External Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(p),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_external_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:f,content:"Reset",onClick:function(){return C("reset_external_pressure",{id_tag:t})}})]})]})})},C=function(e){var t=e.state,n=(0,i.useBackend)(e).data.scrubbers;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,g,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},g=function(e){var t=e.long_name,n=e.power,r=e.scrubbing,u=e.id_tag,d=e.widenet,s=e.filter_types,p=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(t),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:n?"power-off":"times",content:n?"On":"Off",selected:n,onClick:function(){return p("power",{id_tag:u,val:Number(!n)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:[(0,o.createComponentVNode)(2,c.Button,{icon:r?"filter":"sign-in-alt",color:r||"danger",content:r?"Scrubbing":"Siphoning",onClick:function(){return p("scrubbing",{id_tag:u,val:Number(!r)})}}),(0,o.createComponentVNode)(2,c.Button,{icon:d?"expand":"compress",selected:d,content:d?"Expanded range":"Normal range",onClick:function(){return p("widenet",{id_tag:u,val:Number(!d)})}})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Filters",children:r&&s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,l.getGasLabel)(e.gas_id,e.gas_name),title:e.gas_name,selected:e.enabled,onClick:function(){return p("toggle_filter",{id_tag:u,val:e.gas_id})}},e.gas_id)}))||"N/A"})]})})},b=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data.modes;return r&&0!==r.length?r.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:e.selected?"check-square-o":"square-o",selected:e.selected,color:e.selected&&e.danger&&"danger",content:e.name,onClick:function(){return n("mode",{mode:e.mode})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1})],4,e.mode)})):"Nothing to show"},v=function(e){var t=(0,i.useBackend)(e),n=t.act,a=t.data.thresholds;return(0,o.createVNode)(1,"table","LabeledList",[(0,o.createVNode)(1,"thead",null,(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","color-bad","min2",16),(0,o.createVNode)(1,"td","color-average","min1",16),(0,o.createVNode)(1,"td","color-average","max1",16),(0,o.createVNode)(1,"td","color-bad","max2",16)],4),2),(0,o.createVNode)(1,"tbody",null,a.map((function(e){return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td","LabeledList__label",e.name,0),e.settings.map((function(e){return(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,c.Button,{content:(0,r.toFixed)(e.selected,2),onClick:function(){return n("threshold",{env:e.env,"var":e.val})}}),2,null,e.val)}))],0,null,e.name)})),0)],4,{style:{width:"100%"}})}},function(e,t,n){"use strict";t.__esModule=!0,t.AirlockElectronics=void 0;var o=n(1),r=n(3),a=n(2);t.AirlockElectronics=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.regions||[],l={0:{icon:"times-circle"},1:{icon:"stop-circle"},2:{icon:"check-circle"}};return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Main",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access Required",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.oneAccess?"unlock":"lock",content:i.oneAccess?"One":"All",onClick:function(){return n("one_access")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mass Modify",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"check-double",content:"Grant All",onClick:function(){return n("grant_all")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Clear All",onClick:function(){return n("clear_all")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Unrestricted Access",children:[(0,o.createComponentVNode)(2,a.Button,{icon:1&i.unres_direction?"check-square-o":"square-o",content:"North",selected:1&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"1"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:2&i.unres_direction?"check-square-o":"square-o",content:"East",selected:2&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"2"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:4&i.unres_direction?"check-square-o":"square-o",content:"South",selected:4&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"4"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:8&i.unres_direction?"check-square-o":"square-o",content:"West",selected:8&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"8"})}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Access",children:(0,o.createComponentVNode)(2,a.Box,{height:"261px",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:c.map((function(e){var t=e.name,r=e.accesses||[],i=l[function(e){var t=!1,n=!1;return e.forEach((function(e){e.req?t=!0:n=!0})),!t&&n?0:t&&n?1:2}(r)].icon;return(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:i,label:t,children:function(){return r.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:e.req?"check-square-o":"square-o",content:e.name,selected:e.req,onClick:function(){return n("set",{access:e.id})}})},e.id)}))}},t)}))})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Apc=void 0;var o=n(1),r=n(3),a=n(2),i=n(69);t.Apc=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u={2:{color:"good",externalPowerText:"External Power",chargingText:"Fully Charged"},1:{color:"average",externalPowerText:"Low External Power",chargingText:"Charging"},0:{color:"bad",externalPowerText:"No External Power",chargingText:"Not Charging"}},d={1:{icon:"terminal",content:"Override Programming",action:"hack"},2:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"},3:{icon:"caret-square-left",content:"Return to Main Core",action:"deoccupy"},4:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"}},s=u[c.externalPower]||u[0],p=u[c.chargingStatus]||u[0],m=c.powerChannels||[],f=d[c.malfStatus]||d[0],h=c.powerCellStatus/100;return c.failTime>0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createVNode)(1,"b",null,(0,o.createVNode)(1,"h3",null,"SYSTEM FAILURE",16),2),(0,o.createVNode)(1,"i",null,"I/O regulators malfunction detected! Waiting for system reboot...",16),(0,o.createVNode)(1,"br"),"Automatic reboot in ",c.failTime," seconds...",(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reboot Now",onClick:function(){return n("reboot")}})]}):(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:c.siliconUser,locked:c.locked,onLockStatusChange:function(){return n("lock")}}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main Breaker",color:s.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",content:c.isOperating?"On":"Off",selected:c.isOperating&&!l,disabled:l,onClick:function(){return n("breaker")}}),children:["[ ",s.externalPowerText," ]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power Cell",children:(0,o.createComponentVNode)(2,a.ProgressBar,{color:"good",value:h})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",color:p.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.chargeMode?"sync":"close",content:c.chargeMode?"Auto":"Off",disabled:l,onClick:function(){return n("charge")}}),children:["[ ",p.chargingText," ]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Channels",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[m.map((function(e){var t=e.topicParams;return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.title,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,mx:2,color:e.status>=2?"good":"bad",children:e.status>=2?"On":"Off"}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:!l&&(1===e.status||3===e.status),disabled:l,onClick:function(){return n("channel",t.auto)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:"On",selected:!l&&2===e.status,disabled:l,onClick:function(){return n("channel",t.on)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:!l&&0===e.status,disabled:l,onClick:function(){return n("channel",t.off)}})],4),children:e.powerLoad},e.title)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Total Load",children:(0,o.createVNode)(1,"b",null,c.totalLoad,0)})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Misc",buttons:!!c.siliconUser&&(0,o.createFragment)([!!c.malfStatus&&(0,o.createComponentVNode)(2,a.Button,{icon:f.icon,content:f.content,color:"bad",onClick:function(){return n(f.action)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:"Overload",onClick:function(){return n("overload")}})],0),children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cover Lock",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.coverLocked?"lock":"unlock",content:c.coverLocked?"Engaged":"Disengaged",disabled:l,onClick:function(){return n("cover")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.emergencyLights?"Enabled":"Disabled",disabled:l,onClick:function(){return n("emergency_lighting")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Night Shift Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.nightshiftLights?"Enabled":"Disabled",disabled:l,onClick:function(){return n("toggle_nightshift")}})})]}),c.hijackable&&(0,o.createComponentVNode)(2,a.Section,{title:"Hijacking",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"unlock",content:"Hijack",disabled:c.hijacker,onClick:function(){return n("hijack")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lock",content:"Lockdown",disabled:!c.lockdownavail,onClick:function(){return n("lockdown")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:"Drain",disabled:!c.drainavail,onClick:function(){return n("drain")}})],4)})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosAlertConsole=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosAlertConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.priority||[],l=i.minor||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Alarms",children:(0,o.createVNode)(1,"ul",null,[c.length>0?c.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"bad",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Priority Alerts",16),l.length>0?l.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"average",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Minor Alerts",16)],0)})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosControlConsole=void 0;var o=n(1),r=n(23),a=n(20),i=n(3),c=n(2);t.AtmosControlConsole=function(e){var t=(0,i.useBackend)(e),n=t.act,l=t.data,u=l.sensors||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:!!l.tank&&u[0].long_name,children:u.map((function(e){var t=e.gases||{};return(0,o.createComponentVNode)(2,c.Section,{title:!l.tank&&e.long_name,level:2,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure",children:(0,a.toFixed)(e.pressure,2)+" kPa"}),!!e.temperature&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Temperature",children:(0,a.toFixed)(e.temperature,2)+" K"}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:t,children:(0,a.toFixed)(e,2)+"%"})}))(t)]})},e.id_tag)}))}),l.tank&&(0,o.createComponentVNode)(2,c.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"undo",content:"Reconnect",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Injector",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.inputting?"power-off":"times",content:l.inputting?"Injecting":"Off",selected:l.inputting,onClick:function(){return n("input")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Rate",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:l.inputRate,unit:"L/s",width:"63px",minValue:0,maxValue:200,suppressFlicker:2e3,onChange:function(e,t){return n("rate",{rate:t})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Regulator",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.outputting?"power-off":"times",content:l.outputting?"Open":"Closed",selected:l.outputting,onClick:function(){return n("output")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Pressure",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:parseFloat(l.outputPressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,suppressFlicker:2e3,onChange:function(e,t){return n("pressure",{pressure:t})}})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosFilter=void 0;var o=n(1),r=n(3),a=n(2),i=n(37);t.AtmosFilter=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.filter_types||[];return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(c.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onDrag:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:c.rate===c.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Filter",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:e.selected,content:(0,i.getGasLabel)(e.id,e.name),onClick:function(){return n("filter",{mode:e.id})}},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosMixer=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosMixer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.set_pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.set_pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 1",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node1_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node1",{concentration:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 2",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node2_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node2",{concentration:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosPump=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosPump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),i.max_rate?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onChange:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.rate===i.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}):(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BankMachine=void 0;var o=n(1),r=n(3),a=n(2);t.BankMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.current_balance,l=i.siphoning,u=i.station_name;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:u+" Vault",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Balance",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"times":"sync",content:l?"Stop Siphoning":"Siphon Credits",selected:l,onClick:function(){return n(l?"halt":"siphon")}}),children:c+" cr"})})}),(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Authorized personnel only"})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BluespaceArtillery=void 0;var o=n(1),r=n(3),a=n(2);t.BluespaceArtillery=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.notice,l=i.connected,u=i.unlocked,d=i.target;return(0,o.createFragment)([!!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:c}),l?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"crosshairs",disabled:!u,onClick:function(){return n("recalibrate")}}),children:(0,o.createComponentVNode)(2,a.Box,{color:d?"average":"bad",fontSize:"25px",children:d||"No Target Set"})}),(0,o.createComponentVNode)(2,a.Section,{children:u?(0,o.createComponentVNode)(2,a.Box,{style:{margin:"auto"},children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"FIRE",color:"bad",disabled:!d,fontSize:"30px",textAlign:"center",lineHeight:"46px",onClick:function(){return n("fire")}})}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{color:"bad",fontSize:"18px",children:"Bluespace artillery is currently locked."}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"Awaiting authorization via keycard reader from at minimum two station heads."})],4)})],4):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Maintenance",children:(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",content:"Complete Deployment",onClick:function(){return n("build")}})})})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Bepis=void 0;var o=n(1),r=(n(29),n(19)),a=n(2);t.Bepis=function(e){var t=e.state,n=t.config,i=t.data,c=n.ref,l=i.amount;return(0,o.createComponentVNode)(2,a.Section,{title:"Business Exploration Protocol Incubation Sink",children:[(0,o.createComponentVNode)(2,a.Section,{title:"Information",backgroundColor:"#450F44",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.manual_power?"Off":"On",selected:!i.manual_power,onClick:function(){return(0,r.act)(c,"toggle_power")}}),children:"All you need to know about the B.E.P.I.S. and you! The B.E.P.I.S. performs hundreds of tests a second using electrical and financial resources to invent new products, or discover new technologies otherwise overlooked for being too risky or too niche to produce!"}),(0,o.createComponentVNode)(2,a.Section,{title:"Payer's Account",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"redo-alt",content:"Reset Account",onClick:function(){return(0,r.act)(c,"account_reset")}}),children:["Console is currently being operated by ",i.account_owner?i.account_owner:"no one","."]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Stored Data and Statistics",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposited Credits",children:i.stored_cash}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Investment Variability",children:[i.accuracy_percentage,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Innovation Bonus",children:i.positive_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Risk Offset",color:"bad",children:i.negative_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposit Amount",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:l,unit:"Credits",minValue:100,maxValue:3e4,step:100,stepPixelSize:2,onChange:function(e,t){return(0,r.act)(c,"amount",{amount:t})}})})]})}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"donate",content:"Deposit Credits",disabled:1===i.manual_power||1===i.silicon_check,onClick:function(){return(0,r.act)(c,"deposit_cash")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Withdraw Credits",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"withdraw_cash")}})]})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Market Data and Analysis",children:[(0,o.createComponentVNode)(2,a.Box,{children:["Average technology cost: ",i.mean_value]}),i.error_name&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Previous Failure Reason: Deposited cash value too low. Please insert more money for future success."}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"microscope",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"begin_experiment")},content:"Begin Testing"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.BorgPanel=void 0;var o=n(1),r=n(3),a=n(2);t.BorgPanel=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.borg||{},l=i.cell||{},u=l.charge/l.maxcharge,d=i.channels||[],s=i.modules||[],p=i.upgrades||[],m=i.ais||[],f=i.laws||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:c.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Rename",onClick:function(){return n("rename")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.emagged?"check-square-o":"square-o",content:"Emagged",selected:c.emagged,onClick:function(){return n("toggle_emagged")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.lockdown?"check-square-o":"square-o",content:"Locked Down",selected:c.lockdown,onClick:function(){return n("toggle_lockdown")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.scrambledcodes?"check-square-o":"square-o",content:"Scrambled Codes",selected:c.scrambledcodes,onClick:function(){return n("toggle_scrambledcodes")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge",children:[l.missing?(0,o.createVNode)(1,"span","color-bad","No cell installed",16):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,content:l.charge+" / "+l.maxcharge}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("set_charge")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Change",onClick:function(){return n("change_cell")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:"Remove",color:"bad",onClick:function(){return n("remove_cell")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radio Channels",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_radio",{channel:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Module",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:c.active_module===e.type?"check-square-o":"square-o",content:e.name,selected:c.active_module===e.type,onClick:function(){return n("setmodule",{module:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Upgrades",children:p.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_upgrade",{upgrade:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Master AI",children:m.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.connected?"check-square-o":"square-o",content:e.name,selected:e.connected,onClick:function(){return n("slavetoai",{slavetoai:e.ref})}},e.ref)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Laws",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.lawupdate?"check-square-o":"square-o",content:"Lawsync",selected:c.lawupdate,onClick:function(){return n("toggle_lawupdate")}}),children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e},e)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BrigTimer=void 0;var o=n(1),r=n(3),a=n(2);t.BrigTimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Cell Timer",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:i.timing?"Stop":"Start",selected:i.timing,onClick:function(){return n(i.timing?"stop":"start")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:i.flash_charging?"Recharging":"Flash",disabled:i.flash_charging,onClick:function(){return n("flash")}})],4),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",onClick:function(){return n("time",{adjust:-600})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",onClick:function(){return n("time",{adjust:-100})}})," ",String(i.minutes).padStart(2,"0"),":",String(i.seconds).padStart(2,"0")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",onClick:function(){return n("time",{adjust:100})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",onClick:function(){return n("time",{adjust:600})}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Short",onClick:function(){return n("preset",{preset:"short"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Medium",onClick:function(){return n("preset",{preset:"medium"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Long",onClick:function(){return n("preset",{preset:"long"})}})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Canister=void 0;var o=n(1),r=n(3),a=n(2);t.Canister=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:["The regulator ",i.hasHoldingTank?"is":"is not"," connected to a tank."]}),(0,o.createComponentVNode)(2,a.Section,{title:"Canister",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Relabel",onClick:function(){return n("relabel")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.tankPressure})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:i.portConnected?"good":"average",content:i.portConnected?"Connected":"Not Connected"}),!!i.isPrototype&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.restricted?"lock":"unlock",color:"caution",content:i.restricted?"Restricted to Engineering":"Public",onClick:function(){return n("restricted")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Valve",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Release Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.releasePressure/(i.maxReleasePressure-i.minReleasePressure),children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.releasePressure})," kPa"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"undo",disabled:i.releasePressure===i.defaultReleasePressure,content:"Reset",onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:i.releasePressure<=i.minReleasePressure,content:"Min",onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("pressure",{pressure:"input"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:i.releasePressure>=i.maxReleasePressure,content:"Max",onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Valve",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.valveOpen?"unlock":"lock",color:i.valveOpen?i.hasHoldingTank?"caution":"danger":null,content:i.valveOpen?"Open":"Closed",onClick:function(){return n("valve")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",buttons:!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",color:i.valveOpen&&"danger",content:"Eject",onClick:function(){return n("eject")}}),children:[!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:i.holdingTank.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.holdingTank.tankPressure})," kPa"]})]}),!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Holding Tank"})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CargoExpress=t.Cargo=void 0;var o=n(1),r=n(23),a=n(19),i=n(2),c=n(69);t.Cargo=function(e){var t=e.state,n=t.config,r=t.data,c=n.ref,s=r.supplies||{},p=r.requests||[],m=r.cart||[],f=m.reduce((function(e,t){return e+t.cost}),0),h=!r.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:1,children:[0===m.length&&"Cart is empty",1===m.length&&"1 item",m.length>=2&&m.length+" items"," ",f>0&&"("+f+" cr)"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"transparent",content:"Clear",onClick:function(){return(0,a.act)(c,"clear")}})],4);return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle",children:r.docked&&!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{content:r.location,onClick:function(){return(0,a.act)(c,"send")}})||r.location}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"CentCom Message",children:r.message}),r.loan&&!r.requestonly?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Loan",children:r.loan_dispatched?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Loaned to Centcom"}):(0,o.createComponentVNode)(2,i.Button,{content:"Loan Shuttle",disabled:!(r.away&&r.docked),onClick:function(){return(0,a.act)(c,"loan")}})}):""]})}),(0,o.createComponentVNode)(2,i.Tabs,{mt:2,children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Catalog",icon:"list",lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Catalog",buttons:h,children:(0,o.createComponentVNode)(2,l,{state:t,supplies:s})})}},"catalog"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Requests ("+p.length+")",icon:"envelope",highlight:p.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Active Requests",buttons:!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Clear",color:"transparent",onClick:function(){return(0,a.act)(c,"denyall")}}),children:(0,o.createComponentVNode)(2,u,{state:t,requests:p})})}},"requests"),!r.requestonly&&(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Checkout ("+m.length+")",icon:"shopping-cart",highlight:m.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Current Cart",buttons:h,children:(0,o.createComponentVNode)(2,d,{state:t,cart:m})})}},"cart")]})],4)};var l=function(e){var t=e.state,n=e.supplies,c=t.config,l=t.data,u=c.ref,d=function(e){var t=n[e].packs;return(0,o.createVNode)(1,"table","LabeledList",t.map((function(e){return(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[e.name,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.small_item&&(0,o.createFragment)([(0,o.createTextVNode)("Small Item")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.access&&(0,o.createFragment)([(0,o.createTextVNode)("Restrictions Apply")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:(l.self_paid?Math.round(1.1*e.cost):e.cost)+" credits",tooltip:e.desc,tooltipPosition:"left",onClick:function(){return(0,a.act)(u,"add",{id:e.id})}}),2)],4,null,e.name)})),0)};return(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e){var t=e.name;return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:t,children:d},t)}))(n)})},u=function(e){var t=e.state,n=e.requests,r=t.config,c=t.data,l=r.ref;return 0===n.length?(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"No Requests"}):(0,o.createVNode)(1,"table","LabeledList",n.map((function(e){return(0,o.createFragment)([(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[(0,o.createTextVNode)("#"),e.id,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__content",e.object,0),(0,o.createVNode)(1,"td","LabeledList__cell",[(0,o.createTextVNode)("By "),(0,o.createVNode)(1,"b",null,e.orderer,0)],4),(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createVNode)(1,"i",null,e.reason,0),2),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",[e.cost,(0,o.createTextVNode)(" credits"),(0,o.createTextVNode)(" "),!c.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"check",color:"good",onClick:function(){return(0,a.act)(l,"approve",{id:e.id})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"bad",onClick:function(){return(0,a.act)(l,"deny",{id:e.id})}})],4)],0)],4)],4,e.id)})),0)},d=function(e){var t=e.state,n=e.cart,r=t.config,c=t.data,l=r.ref;return(0,o.createFragment)([0===n.length&&"Nothing in cart",n.length>0&&(0,o.createComponentVNode)(2,i.LabeledList,{children:n.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{className:"candystripe",label:"#"+e.id,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:2,children:[!!e.paid&&(0,o.createVNode)(1,"b",null,"[Paid Privately]",16)," ",e.cost," credits"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus",onClick:function(){return(0,a.act)(l,"remove",{id:e.id})}})],4),children:e.object},e.id)}))}),n.length>0&&!c.requestonly&&(0,o.createComponentVNode)(2,i.Box,{mt:2,children:1===c.away&&1===c.docked&&(0,o.createComponentVNode)(2,i.Button,{color:"green",style:{"line-height":"28px",padding:"0 12px"},content:"Confirm the order",onClick:function(){return(0,a.act)(l,"send")}})||(0,o.createComponentVNode)(2,i.Box,{opacity:.5,children:["Shuttle in ",c.location,"."]})})],0)};t.CargoExpress=function(e){var t=e.state,n=t.config,r=t.data,u=n.ref,d=r.supplies||{};return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.InterfaceLockNoticeBox,{siliconUser:r.siliconUser,locked:r.locked,onLockStatusChange:function(){return(0,a.act)(u,"lock")},accessText:"a QM-level ID card"}),!r.locked&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo Express",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Landing Location",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Cargo Bay",selected:!r.usingBeacon,onClick:function(){return(0,a.act)(u,"LZCargo")}}),(0,o.createComponentVNode)(2,i.Button,{selected:r.usingBeacon,disabled:!r.hasBeacon,onClick:function(){return(0,a.act)(u,"LZBeacon")},children:[r.beaconzone," (",r.beaconName,")"]}),(0,o.createComponentVNode)(2,i.Button,{content:r.printMsg,disabled:!r.canBuyBeacon,onClick:function(){return(0,a.act)(u,"printBeacon")}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Notice",children:r.message})]})}),(0,o.createComponentVNode)(2,l,{state:t,supplies:d})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.CellularEmporium=void 0;var o=n(1),r=n(3),a=n(2);t.CellularEmporium=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.abilities;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Genetic Points",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Readapt",disabled:!i.can_readapt,onClick:function(){return n("readapt")}}),children:i.genetic_points_remaining})})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{className:"candystripe",label:e.name,buttons:(0,o.createFragment)([e.dna_cost," ",(0,o.createComponentVNode)(2,a.Button,{content:e.owned?"Evolved":"Evolve",selected:e.owned,onClick:function(){return n("evolve",{name:e.name})}})],0),children:[e.desc,(0,o.createComponentVNode)(2,a.Box,{color:"good",children:e.helptext})]},e.name)}))})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CentcomPodLauncher=void 0;var o=n(1),r=(n(29),n(3)),a=n(2);t.CentcomPodLauncher=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:"To use this, simply spawn the atoms you want in one of the five Centcom Supplypod Bays. Items in the bay will then be launched inside your supplypod, one turf-full at a time! You can optionally use the following buttons to configure how the supplypod acts."}),(0,o.createComponentVNode)(2,a.Section,{title:"Centcom Pod Customization (To be used against Helen Weinstein)",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Supply Bay",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bay #1",selected:1===i.bayNumber,onClick:function(){return n("bay1")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #2",selected:2===i.bayNumber,onClick:function(){return n("bay2")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #3",selected:3===i.bayNumber,onClick:function(){return n("bay3")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #4",selected:4===i.bayNumber,onClick:function(){return n("bay4")}}),(0,o.createComponentVNode)(2,a.Button,{content:"ERT Bay",selected:5===i.bayNumber,tooltip:"This bay is located on the western edge of CentCom. Its the\nglass room directly west of where ERT spawn, and south of the\nCentCom ferry. Useful for launching ERT/Deathsquads/etc. onto\nthe station via drop pods.",onClick:function(){return n("bay5")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleport to",children:[(0,o.createComponentVNode)(2,a.Button,{content:i.bay,onClick:function(){return n("teleportCentcom")}}),(0,o.createComponentVNode)(2,a.Button,{content:i.oldArea?i.oldArea:"Where you were",disabled:!i.oldArea,onClick:function(){return n("teleportBack")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Clone Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:"Launch Clones",selected:i.launchClone,tooltip:"Choosing this will create a duplicate of the item to be\nlaunched in Centcom, allowing you to send one type of item\nmultiple times. Either way, the atoms are forceMoved into\nthe supplypod after it lands (but before it opens).",onClick:function(){return n("launchClone")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Launch style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Ordered",selected:1===i.launchChoice,tooltip:'Instead of launching everything in the bay at once, this\nwill "scan" things (one turf-full at a time) in order, left\nto right and top to bottom. undoing will reset the "scanner"\nto the top-leftmost position.',onClick:function(){return n("launchOrdered")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Random",selected:2===i.launchChoice,tooltip:"Instead of launching everything in the bay at once, this\nwill launch one random turf of items at a time.",onClick:function(){return n("launchRandom")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Explosion",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Size",selected:1===i.explosionChoice,tooltip:"This will cause an explosion of whatever size you like\n(including flame range) to occur as soon as the supplypod\nlands. Dont worry, supply-pods are explosion-proof!",onClick:function(){return n("explosionCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Adminbus",selected:2===i.explosionChoice,tooltip:"This will cause a maxcap explosion (dependent on server\nconfig) to occur as soon as the supplypod lands. Dont worry,\nsupply-pods are explosion-proof!",onClick:function(){return n("explosionBus")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Damage",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Damage",selected:1===i.damageChoice,tooltip:"Anyone caught under the pod when it lands will be dealt\nthis amount of brute damage. Sucks to be them!",onClick:function(){return n("damageCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gib",selected:2===i.damageChoice,tooltip:"This will attempt to gib any mob caught under the pod when\nit lands, as well as dealing a nice 5000 brute damage. Ya\nknow, just to be sure!",onClick:function(){return n("damageGib")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Effects",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Stun",selected:i.effectStun,tooltip:"Anyone who is on the turf when the supplypod is launched\nwill be stunned until the supplypod lands. They cant get\naway that easy!",onClick:function(){return n("effectStun")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Delimb",selected:i.effectLimb,tooltip:"This will cause anyone caught under the pod to lose a limb,\nexcluding their head.",onClick:function(){return n("effectLimb")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Yeet Organs",selected:i.effectOrgans,tooltip:"This will cause anyone caught under the pod to lose all\ntheir limbs and organs in a spectacular fashion.",onClick:function(){return n("effectOrgans")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Movement",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bluespace",selected:i.effectBluespace,tooltip:"Gives the supplypod an advanced Bluespace Recyling Device.\nAfter opening, the supplypod will be warped directly to the\nsurface of a nearby NT-designated trash planet (/r/ss13).",onClick:function(){return n("effectBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Stealth",selected:i.effectStealth,tooltip:'This hides the red target icon from appearing when you\nlaunch the supplypod. Combos well with the "Invisible"\nstyle. Sneak attack, go!',onClick:function(){return n("effectStealth")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Quiet",selected:i.effectQuiet,tooltip:"This will keep the supplypod from making any sounds, except\nfor those specifically set by admins in the Sound section.",onClick:function(){return n("effectQuiet")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Reverse Mode",selected:i.effectReverse,tooltip:"This pod will not send any items. Instead, after landing,\nthe supplypod will close (similar to a normal closet closing),\nand then launch back to the right centcom bay to drop off any\nnew contents.",onClick:function(){return n("effectReverse")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile Mode",selected:i.effectMissile,tooltip:"This pod will not send any items. Instead, it will immediately\ndelete after landing (Similar visually to setting openDelay\n& departDelay to 0, but this looks nicer). Useful if you just\nwanna fuck some shit up. Combos well with the Missile style.",onClick:function(){return n("effectMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Any Descent Angle",selected:i.effectCircle,tooltip:"This will make the supplypod come in from any angle. Im not\nsure why this feature exists, but here it is.",onClick:function(){return n("effectCircle")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Machine Gun Mode",selected:i.effectBurst,tooltip:"This will make each click launch 5 supplypods inaccuratly\naround the target turf (a 3x3 area). Combos well with the\nMissile Mode if you dont want shit lying everywhere after.",onClick:function(){return n("effectBurst")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Specific Target",selected:i.effectTarget,tooltip:"This will make the supplypod target a specific atom, instead\nof the mouses position. Smiting does this automatically!",onClick:function(){return n("effectTarget")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name/Desc",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Name/Desc",selected:i.effectName,tooltip:"Allows you to add a custom name and description.",onClick:function(){return n("effectName")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Alert Ghosts",selected:i.effectAnnounce,tooltip:"Alerts ghosts when a pod is launched. Useful if some dumb\nshit is aboutta come outta the pod.",onClick:function(){return n("effectAnnounce")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sound",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Sound",selected:i.fallingSound,tooltip:"Choose a sound to play as the pod falls. Note that for this\nto work right you should know the exact length of the sound,\nin seconds.",onClick:function(){return n("fallSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Sound",selected:i.landingSound,tooltip:"Choose a sound to play when the pod lands.",onClick:function(){return n("landingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Sound",selected:i.openingSound,tooltip:"Choose a sound to play when the pod opens.",onClick:function(){return n("openingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Sound",selected:i.leavingSound,tooltip:"Choose a sound to play when the pod departs (whether that be\ndelection in the case of a bluespace pod, or leaving for\ncentcom for a reversing pod).",onClick:function(){return n("leavingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Admin Sound Volume",selected:i.soundVolume,tooltip:"Choose the volume for the sound to play at. Default values\nare between 1 and 100, but hey, do whatever. Im a tooltip,\nnot a cop.",onClick:function(){return n("soundVolume")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Timers",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Duration",selected:4!==i.fallDuration,tooltip:"Set how long the animation for the pod falling lasts. Create\ndramatic, slow falling pods!",onClick:function(){return n("fallDuration")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Time",selected:20!==i.landingDelay,tooltip:"Choose the amount of time it takes for the supplypod to hit\nthe station. By default this value is 0.5 seconds.",onClick:function(){return n("landingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Time",selected:30!==i.openingDelay,tooltip:"Choose the amount of time it takes for the supplypod to open\nafter landing. Useful for giving whatevers inside the pod a\nnice dramatic entrance! By default this value is 3 seconds.",onClick:function(){return n("openingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Time",selected:30!==i.departureDelay,tooltip:"Choose the amount of time it takes for the supplypod to leave\nafter landing. By default this value is 3 seconds.",onClick:function(){return n("departureDelay")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.styleChoice,tooltip:"Same color scheme as the normal station-used supplypods",onClick:function(){return n("styleStandard")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.styleChoice,tooltip:"The same as the stations upgraded blue-and-white\nBluespace Supplypods",onClick:function(){return n("styleBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate",selected:4===i.styleChoice,tooltip:"A menacing black and blood-red. Great for sending meme-ops\nin style!",onClick:function(){return n("styleSyndie")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Deathsquad",selected:5===i.styleChoice,tooltip:"A menacing black and dark blue. Great for sending deathsquads\nin style!",onClick:function(){return n("styleBlue")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Cult Pod",selected:6===i.styleChoice,tooltip:"A blood and rune covered cult pod!",onClick:function(){return n("styleCult")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile",selected:7===i.styleChoice,tooltip:"A large missile. Combos well with a missile mode, so the\nmissile doesnt stick around after landing.",onClick:function(){return n("styleMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate Missile",selected:8===i.styleChoice,tooltip:"A large blood-red missile. Combos well with missile mode,\nso the missile doesnt stick around after landing.",onClick:function(){return n("styleSMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Supply Crate",selected:9===i.styleChoice,tooltip:"A large, dark-green military supply crate.",onClick:function(){return n("styleBox")}}),(0,o.createComponentVNode)(2,a.Button,{content:"HONK",selected:10===i.styleChoice,tooltip:"A colorful, clown inspired look.",onClick:function(){return n("styleHONK")}}),(0,o.createComponentVNode)(2,a.Button,{content:"~Fruit",selected:11===i.styleChoice,tooltip:"For when an orange is angry",onClick:function(){return n("styleFruit")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Invisible",selected:12===i.styleChoice,tooltip:'Makes the supplypod invisible! Useful for when you want to\nuse this feature with a gateway or something. Combos well\nwith the "Stealth" and "Quiet Landing" effects.',onClick:function(){return n("styleInvisible")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gondola",selected:13===i.styleChoice,tooltip:"This gondola can control when he wants to deliver his supplies\nif he has a smart enough mind, so offer up his body to ghosts\nfor maximum enjoyment. (Make sure to turn off bluespace and\nset a arbitrarily high open-time if you do!",onClick:function(){return n("styleGondola")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Show Contents (See Through Pod)",selected:14===i.styleChoice,tooltip:"By selecting this, the pod will instead look like whatevers\ninside it (as if it were the contents falling by themselves,\nwithout a pod). Useful for launching mechs at the station\nand standing tall as they soar in from the heavens.",onClick:function(){return n("styleSeeThrough")}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:i.numObjects+" turfs in "+i.bay,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"undo Pody Bay",tooltip:"Manually undoes the possible things to launch in the\npod bay.",onClick:function(){return n("undo")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Enter Launch Mode",selected:i.giveLauncher,tooltip:"THE CODEX ASTARTES CALLS THIS MANEUVER: STEEL RAIN",onClick:function(){return n("giveLauncher")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Clear Selected Bay",color:"bad",tooltip:"This will delete all objs and mobs from the selected bay.",tooltipPosition:"left",onClick:function(){return n("clearBay")}})],4)})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemAcclimator=void 0;var o=n(1),r=n(3),a=n(2);t.ChemAcclimator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Acclimator",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:[i.chem_temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.target_temperature,unit:"K",width:"59px",minValue:0,maxValue:1e3,step:5,stepPixelSize:2,onChange:function(e,t){return n("set_target_temperature",{temperature:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Acceptable Temp. Difference",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.allowed_temperature_difference,unit:"K",width:"59px",minValue:1,maxValue:i.target_temperature,stepPixelSize:2,onChange:function(e,t){n("set_allowed_temperature_difference",{temperature:t})}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.enabled?"On":"Off",selected:i.enabled,onClick:function(){return n("toggle_power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.max_volume,unit:"u",width:"50px",minValue:i.reagent_volume,maxValue:200,step:2,stepPixelSize:2,onChange:function(e,t){return n("change_volume",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Operation",children:i.acclimate_state}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current State",children:i.emptying?"Emptying":"Filling"})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemDebugSynthesizer=void 0;var o=n(1),r=n(3),a=n(2);t.ChemDebugSynthesizer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.amount,l=i.beakerCurrentVolume,u=i.beakerMaxVolume,d=i.isBeakerLoaded,s=i.beakerContents,p=void 0===s?[]:s;return(0,o.createComponentVNode)(2,a.Section,{title:"Recipient",buttons:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("ejectBeaker")}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",minValue:1,maxValue:u,step:1,stepPixelSize:2,onChange:function(e,t){return n("amount",{amount:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Input",onClick:function(){return n("input")}})],4):(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Create Beaker",onClick:function(){return n("makecup")}}),children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l})," / "+u+" u"]}),p.length>0?(0,o.createComponentVNode)(2,a.LabeledList,{children:p.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:[e.volume," u"]},e.name)}))}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Recipient Empty"})],0):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Recipient"})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemFilter=t.ChemFilterPane=void 0;var o=n(1),r=n(3),a=n(2);var i=function(e){var t=(0,r.useBackend)(e).act,n=e.title,i=e.list,c=e.reagentName,l=e.onReagentInput,u=n.toLowerCase();return(0,o.createComponentVNode)(2,a.Section,{title:n,minHeight:40,ml:.5,mr:.5,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Input,{placeholder:"Reagent",width:"140px",onInput:function(e,t){return l(t)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return t("add",{which:u,name:c})}})],4),children:i.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"minus",content:e,onClick:function(){return t("remove",{which:u,reagent:e})}})],4,e)}))})};t.ChemFilterPane=i;var c=function(e){var t,n;function r(){var t;return(t=e.call(this)||this).state={leftReagentName:"",rightReagentName:""},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.setLeftReagentName=function(e){this.setState({leftReagentName:e})},c.setRightReagentName=function(e){this.setState({rightReagentName:e})},c.render=function(){var e=this,t=this.props.state,n=t.data,r=n.left,c=void 0===r?[]:r,l=n.right,u=void 0===l?[]:l;return(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Left",list:c,reagentName:this.state.leftReagentName,onReagentInput:function(t){return e.setLeftReagentName(t)},state:t})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Right",list:u,reagentName:this.state.rightReagentName,onReagentInput:function(t){return e.setRightReagentName(t)},state:t})})]})},r}(o.Component);t.ChemFilter=c},function(e,t,n){"use strict";t.__esModule=!0,t.ChemPress=void 0;var o=n(1),r=n(3),a=n(2);t.ChemPress=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.pill_size,l=i.pill_name,u=i.pill_style,d=i.pill_styles,s=void 0===d?[]:d;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",width:"43px",minValue:5,maxValue:50,step:1,stepPixelSize:2,onChange:function(e,t){return n("change_pill_size",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Name",children:(0,o.createComponentVNode)(2,a.Input,{value:l,onChange:function(e,t){return n("change_pill_name",{name:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Style",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:5,selected:e.id===u,textAlign:"center",color:"transparent",onClick:function(){return n("change_pill_style",{id:e.id})},children:(0,o.createComponentVNode)(2,a.Box,{mx:-1,className:e.class_name})},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemReactionChamber=void 0;var o=n(1),r=n(19),a=n(2),i=n(23),c=n(12);var l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).state={reagentName:"",reagentQuantity:1},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.setReagentName=function(e){this.setState({reagentName:e})},u.setReagentQuantity=function(e){this.setState({reagentQuantity:e})},u.render=function(){var e=this,t=this.props.state,n=t.config,l=t.data,u=n.ref,d=l.emptying,s=l.reagents||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Reagents",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:d?"bad":"good",children:d?"Emptying":"Filling"}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createVNode)(1,"tr","LabledList__row",[(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:"",placeholder:"Reagent Name",onInput:function(t,n){return e.setReagentName(n)}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td",(0,c.classes)(["LabeledList__buttons","LabeledList__cell"]),[(0,o.createComponentVNode)(2,a.NumberInput,{value:this.state.reagentQuantity,minValue:1,maxValue:100,step:1,stepPixelSize:3,width:"39px",onDrag:function(t,n){return e.setReagentQuantity(n)}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return(0,r.act)(u,"add",{chem:e.state.reagentName,amount:e.state.reagentQuantity})}})],4)],4),(0,i.map)((function(e,t){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:t,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return(0,r.act)(u,"remove",{chem:t})}}),children:e},t)}))(s)]})})},l}(o.Component);t.ChemReactionChamber=l},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSplitter=void 0;var o=n(1),r=n(20),a=n(3),i=n(2);t.ChemSplitter=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.straight,u=c.side,d=c.max_transfer;return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Straight",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:l,unit:"u",width:"55px",minValue:1,maxValue:d,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"straight",amount:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Side",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:u,unit:"u",width:"55px",minValue:1,maxValue:d,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"side",amount:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSynthesizer=void 0;var o=n(1),r=n(20),a=n(3),i=n(2);t.ChemSynthesizer=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.amount,u=c.current_reagent,d=c.chemicals,s=void 0===d?[]:d,p=c.possible_amounts,m=void 0===p?[]:p;return(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"plus",content:(0,r.toFixed)(e,0),selected:e===l,onClick:function(){return n("amount",{target:e})}},(0,r.toFixed)(e,0))}))}),(0,o.createComponentVNode)(2,i.Box,{mt:1,children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"tint",content:e.title,width:"129px",selected:e.id===u,onClick:function(){return n("select",{reagent:e.id})}},e.id)}))})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.CodexGigas=void 0;var o=n(1),r=n(3),a=n(2);t.CodexGigas=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[i.name,(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prefix",children:["Dark","Hellish","Fallen","Fiery","Sinful","Blood","Fluffy"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:1!==i.currentSection,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Title",children:["Lord","Prelate","Count","Viscount","Vizier","Elder","Adept"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>2,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:["hal","ve","odr","neit","ci","quon","mya","folth","wren","geyr","hil","niet","twou","phi","coa"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>4,onClick:function(){return n(e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suffix",children:["the Red","the Soulless","the Master","the Lord of all things","Jr."].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:4!==i.currentSection,onClick:function(){return n(" "+e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Submit",children:(0,o.createComponentVNode)(2,a.Button,{content:"Search",disabled:i.currentSection<4,onClick:function(){return n("search")}})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.ComputerFabricator=void 0;var o=n(1),r=(n(29),n(3)),a=n(2);t.ComputerFabricator=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{italic:!0,fontSize:"20px",children:"Your perfect device, only three steps away..."}),0!==l.state&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mb:1,icon:"circle",content:"Clear Order",onClick:function(){return c("clean_order")}}),(0,o.createComponentVNode)(2,i,{state:t})],0)};var i=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return 0===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 1",minHeight:51,children:[(0,o.createComponentVNode)(2,a.Box,{mt:5,bold:!0,textAlign:"center",fontSize:"40px",children:"Choose your Device"}),(0,o.createComponentVNode)(2,a.Box,{mt:3,children:(0,o.createComponentVNode)(2,a.Grid,{width:"100%",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"laptop",content:"Laptop",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"1"})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"tablet-alt",content:"Tablet",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"2"})}})})]})})]}):1===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 2: Customize your device",minHeight:47,buttons:(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"good",children:[i.totalprice," cr"]}),children:[(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Battery:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to operate without external utility power\nsource. Advanced batteries increase battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Hard Drive:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Stores file on your device. Advanced drives can store more\nfiles, but use more power, shortening battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Network Card:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to wirelessly connect to stationwide NTNet\nnetwork. Basic cards are limited to on-station use, while\nadvanced cards can operate anywhere near the station, which\nincludes asteroid outposts",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Nano Printer:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A device that allows for various paperwork manipulations,\nsuch as, scanning of documents or printing new ones.\nThis device was certified EcoFriendlyPlus and is capable of\nrecycling existing paper for printing purposes.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"1"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Card Reader:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Adds a slot that allows you to manipulate RFID cards.\nPlease note that this is not necessary to allow the device\nto read your identification, it is just necessary to\nmanipulate other cards.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_card,onClick:function(){return n("hw_card",{card:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_card,onClick:function(){return n("hw_card",{card:"1"})}})})]}),2!==i.devtype&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Processor Unit:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A component critical for your device's functionality.\nIt allows you to run programs from your hard drive.\nAdvanced CPUs use more power, but allow you to run\nmore programs on background at once.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Tesla Relay:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"An advanced wireless power relay that allows your device\nto connect to nearby area power controller to provide\nalternative power source. This component is currently\nunavailable on tablet computers due to size restrictions.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"1"})}})})]})],4)]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mt:3,content:"Confirm Order",color:"good",textAlign:"center",fontSize:"18px",lineHeight:"26px",onClick:function(){return n("confirm_order")}})]}):2===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 3: Payment",minHeight:47,children:[(0,o.createComponentVNode)(2,a.Box,{italic:!0,textAlign:"center",fontSize:"20px",children:"Your device is ready for fabrication..."}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:2,textAlign:"center",fontSize:"16px",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:"Please insert the required"})," ",(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:[i.totalprice," cr"]})]}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:1,textAlign:"center",fontSize:"18px",children:"Current:"}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:.5,textAlign:"center",fontSize:"18px",color:i.credits>=i.totalprice?"good":"bad",children:[i.credits," cr"]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Purchase",disabled:i.credits=10&&e<20?i.COLORS.department.security:e>=20&&e<30?i.COLORS.department.medbay:e>=30&&e<40?i.COLORS.department.science:e>=40&&e<50?i.COLORS.department.engineering:e>=50&&e<60?i.COLORS.department.cargo:e>=200&&e<230?i.COLORS.department.centcom:i.COLORS.department.other},u=function(e){var t=e.type,n=e.value;return(0,o.createComponentVNode)(2,a.Box,{inline:!0,width:4,color:i.COLORS.damageType[t],textAlign:"center",children:n})};t.CrewConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,d=i.sensors||[];return(0,o.createComponentVNode)(2,a.Section,{minHeight:90,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,textAlign:"center",children:"Vitals"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Position"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,children:"Tracking"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:(f=e.ijob,f%10==0),color:l(e.ijob),children:[e.name," (",e.assignment,")"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,o.createComponentVNode)(2,a.ColorBox,{color:(t=e.oxydam,r=e.toxdam,d=e.burndam,s=e.brutedam,p=t+r+d+s,m=Math.min(Math.max(Math.ceil(p/25),0),5),c[m])})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:null!==e.oxydam?(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:[(0,o.createComponentVNode)(2,u,{type:"oxy",value:e.oxydam}),"/",(0,o.createComponentVNode)(2,u,{type:"toxin",value:e.toxdam}),"/",(0,o.createComponentVNode)(2,u,{type:"burn",value:e.burndam}),"/",(0,o.createComponentVNode)(2,u,{type:"brute",value:e.brutedam})]}):e.life_status?"Alive":"Dead"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:null!==e.pos_x?e.area:"N/A"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,a.Button,{content:"Track",disabled:!e.can_track,onClick:function(){return n("select_person",{name:e.name})}})})]},e.name);var t,r,d,s,p,m,f}))]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Cryo=void 0;var o=n(1),r=n(3),a=n(2),i=n(435);t.Cryo=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",content:c.occupant.name?c.occupant.name:"No Occupant"}),!!c.hasOccupant&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",content:c.occupant.stat,color:c.occupant.statstate}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",color:c.occupant.temperaturestatus,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.bodyTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant.health/c.occupant.maxHealth,color:c.occupant.health>0?"good":"average",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant[e.type]/100,children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant[e.type]})})},e.id)}))],0)]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cell",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",content:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",disabled:c.isOpen,onClick:function(){return n("power")},color:c.isOperating&&"green",children:c.isOperating?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.cellTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.isOpen?"unlock":"lock",onClick:function(){return n("door")},content:c.isOpen?"Open":"Closed"}),(0,o.createComponentVNode)(2,a.Button,{icon:c.autoEject?"sign-out-alt":"sign-in-alt",onClick:function(){return n("autoeject")},content:c.autoEject?"Auto":"Manual"})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Beaker",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",disabled:!c.isBeakerLoaded,onClick:function(){return n("ejectbeaker")},content:"Eject"}),children:(0,o.createComponentVNode)(2,i.BeakerContents,{beakerLoaded:c.isBeakerLoaded,beakerContents:c.beakerContents})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BeakerContents=void 0;var o=n(1),r=n(2);t.BeakerContents=function(e){var t=e.beakerLoaded,n=e.beakerContents;return(0,o.createComponentVNode)(2,r.Box,{children:[!t&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"No beaker loaded."})||0===n.length&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"Beaker is empty."}),n.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{color:"label",children:[e.volume," units of ",e.name]},e.name)}))]})}},function(e,t,n){"use strict";t.__esModule=!0,t.PersonalCrafting=void 0;var o=n(1),r=n(23),a=n(3),i=n(2),c=function(e){var t=e.craftables,n=void 0===t?[]:t,r=(0,a.useBackend)(e),c=r.act,l=r.data,u=l.craftability,d=void 0===u?{}:u,s=l.display_compact,p=l.display_craftable_only;return n.map((function(e){return p&&!d[e.ref]?null:s?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,className:"candystripe",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!d[e.ref],tooltip:e.tool_text&&"Tools needed: "+e.tool_text,tooltipPosition:"left",onClick:function(){return c("make",{recipe:e.ref})}}),children:e.req_text},e.name):(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!d[e.ref],onClick:function(){return c("make",{recipe:e.ref})}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.req_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Required",children:e.req_text}),!!e.catalyst_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Catalyst",children:e.catalyst_text}),!!e.tool_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Tools",children:e.tool_text})]})},e.name)}))};t.PersonalCrafting=function(e){var t=e.state,n=(0,a.useBackend)(e),l=n.act,u=n.data,d=u.busy,s=u.display_craftable_only,p=u.display_compact,m=(0,r.map)((function(e,t){return{category:t,subcategory:e,hasSubcats:"has_subcats"in e,firstSubcatName:Object.keys(e).find((function(e){return"has_subcats"!==e}))}}))(u.crafting_recipes||{}),f=!!d&&(0,o.createComponentVNode)(2,i.Dimmer,{fontSize:"40px",textAlign:"center",children:(0,o.createComponentVNode)(2,i.Box,{mt:30,children:[(0,o.createComponentVNode)(2,i.Icon,{name:"cog",spin:1})," Crafting..."]})});return(0,o.createFragment)([f,(0,o.createComponentVNode)(2,i.Section,{title:"Personal Crafting",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:p?"check-square-o":"square-o",content:"Compact",selected:p,onClick:function(){return l("toggle_compact")}}),(0,o.createComponentVNode)(2,i.Button,{icon:s?"check-square-o":"square-o",content:"Craftable Only",selected:s,onClick:function(){return l("toggle_recipes")}})],4),children:(0,o.createComponentVNode)(2,i.Tabs,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.category,onClick:function(){return l("set_category",{category:e.category,subcategory:e.firstSubcatName})},children:function(){return!e.hasSubcats&&(0,o.createComponentVNode)(2,c,{craftables:e.subcategory,state:t})||(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,n){if("has_subcats"!==n)return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:n,onClick:function(){return l("set_category",{subcategory:n})},children:function(){return(0,o.createComponentVNode)(2,c,{craftables:e,state:t})}})}))(e.subcategory)})}},e.category)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.DecalPainter=void 0;var o=n(1),r=n(3),a=n(2);t.DecalPainter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.decal_list||[],l=i.color_list||[],u=i.dir_list||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Decal Type",children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.name,selected:e.decal===i.decal_style,onClick:function(){return n("select decal",{decals:e.decal})}},e.decal)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Color",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:"red"===e.colors?"Red":"white"===e.colors?"White":"Yellow",selected:e.colors===i.decal_color,onClick:function(){return n("select color",{colors:e.colors})}},e.colors)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Direction",children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:1===e.dirs?"North":2===e.dirs?"South":4===e.dirs?"East":"West",selected:e.dirs===i.decal_direction,onClick:function(){return n("selected direction",{dirs:e.dirs})}},e.dirs)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.DisposalUnit=void 0;var o=n(1),r=n(3),a=n(2);t.DisposalUnit=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return l.full_pressure?(t="good",n="Ready"):l.panel_open?(t="bad",n="Power Disabled"):l.pressure_charging?(t="average",n="Pressurizing"):(t="bad",n="Off"),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:t,children:n}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.per,color:"good"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Handle",children:(0,o.createComponentVNode)(2,a.Button,{icon:l.flush?"toggle-on":"toggle-off",disabled:l.isai||l.panel_open,content:l.flush?"Disengage":"Engage",onClick:function(){return c(l.flush?"handle-0":"handle-1")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Eject",children:(0,o.createComponentVNode)(2,a.Button,{icon:"sign-out-alt",disabled:l.isai,content:"Eject Contents",onClick:function(){return c("eject")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",disabled:l.panel_open,selected:l.pressure_charging,onClick:function(){return c(l.pressure_charging?"pump-0":"pump-1")}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DnaVault=void 0;var o=n(1),r=n(3),a=n(2);t.DnaVault=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.completed,l=i.used,u=i.choiceA,d=i.choiceB,s=i.dna,p=i.dna_max,m=i.plants,f=i.plants_max,h=i.animals,C=i.animals_max;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"DNA Vault Database",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Human DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:s/p,content:s+" / "+p+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plant DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m/f,content:m+" / "+f+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Animal DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:h/h,content:h+" / "+C+" Samples"})})]})}),!(!c||l)&&(0,o.createComponentVNode)(2,a.Section,{title:"Personal Gene Therapy",children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",mb:1,children:"Applicable Gene Therapy Treatments"}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:u,textAlign:"center",onClick:function(){return n("gene",{choice:u})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:d,textAlign:"center",onClick:function(){return n("gene",{choice:d})}})})]})]})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.EightBallVote=void 0;var o=n(1),r=n(3),a=n(2),i=n(29);t.EightBallVote=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.question,u=c.shaking,d=c.answers,s=void 0===d?[]:d;return u?(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"16px",m:1,children:['"',l,'"']}),(0,o.createComponentVNode)(2,a.Grid,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:(0,i.toTitleCase)(e.answer),selected:e.selected,fontSize:"16px",lineHeight:"24px",textAlign:"center",mb:1,onClick:function(){return n("vote",{answer:e.answer})}}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"30px",children:e.amount})]},e.answer)}))})]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No question is currently being asked."})}},function(e,t,n){"use strict";t.__esModule=!0,t.EmergencyShuttleConsole=void 0;var o=n(1),r=n(2),a=n(3);t.EmergencyShuttleConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data,c=i.timer_str,l=i.enabled,u=i.emagged,d=i.engines_started,s=i.authorizations_remaining,p=i.authorizations,m=void 0===p?[]:p;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"40px",textAlign:"center",fontFamily:"monospace",children:c}),(0,o.createComponentVNode)(2,r.Box,{textAlign:"center",fontSize:"16px",mb:1,children:[(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,children:"ENGINES:"}),(0,o.createComponentVNode)(2,r.Box,{inline:!0,color:d?"good":"average",ml:1,children:d?"Online":"Idle"})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Early Launch Authorization",level:2,buttons:(0,o.createComponentVNode)(2,r.Button,{icon:"times",content:"Repeal All",color:"bad",disabled:!l,onClick:function(){return n("abort")}}),children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"exclamation-triangle",color:"good",content:"AUTHORIZE",disabled:!l,onClick:function(){return n("authorize")}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"minus",content:"REPEAL",disabled:!l,onClick:function(){return n("repeal")}})})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Authorizations",level:3,minHeight:"150px",buttons:(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,color:u?"bad":"good",children:u?"ERROR":"Remaining: "+s}),children:[m.length>0?m.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)})):(0,o.createComponentVNode)(2,r.Box,{bold:!0,textAlign:"center",fontSize:"16px",color:"average",children:"No Active Authorizations"}),m.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)}))]})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.EngravedMessage=void 0;var o=n(1),r=n(29),a=n(3),i=n(2);t.EngravedMessage=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.admin_mode,u=c.creator_key,d=c.creator_name,s=c.has_liked,p=c.has_disliked,m=c.hidden_message,f=c.is_creator,h=c.num_likes,C=c.num_dislikes,g=c.realdate;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{bold:!0,textAlign:"center",fontSize:"20px",mb:2,children:(0,r.decodeHtmlEntities)(m)}),(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-up",content:" "+h,disabled:f,selected:s,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("like")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"circle",disabled:f,selected:!p&&!s,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("neutral")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-down",content:" "+C,disabled:f,selected:p,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("dislike")}})})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Created On",children:g})})}),(0,o.createComponentVNode)(2,i.Section),!!l&&(0,o.createComponentVNode)(2,i.Section,{title:"Admin Panel",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Delete",color:"bad",onClick:function(){return n("delete")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Ckey",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Character Name",children:d})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Gps=void 0;var o=n(1),r=n(23),a=n(70),i=n(20),c=n(156),l=n(3),u=n(2),d=function(e){return(0,r.map)(parseFloat)(e.split(", "))};t.Gps=function(e){var t=(0,l.useBackend)(e),n=t.act,s=t.data,p=s.currentArea,m=s.currentCoords,f=s.globalmode,h=s.power,C=s.tag,g=s.updating,b=(0,a.flow)([(0,r.map)((function(e,t){var n=e.dist&&Math.round((0,c.vecLength)((0,c.vecSubtract)(d(m),d(e.coords))));return Object.assign({},e,{dist:n,index:t})})),(0,r.sortBy)((function(e){return e.dist===undefined}),(function(e){return e.entrytag}))])(s.signals||[]);return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Control",buttons:(0,o.createComponentVNode)(2,u.Button,{icon:"power-off",content:h?"On":"Off",selected:h,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,u.LabeledList,{children:[(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Tag",children:(0,o.createComponentVNode)(2,u.Button,{icon:"pencil-alt",content:C,onClick:function(){return n("rename")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Scan Mode",children:(0,o.createComponentVNode)(2,u.Button,{icon:g?"unlock":"lock",content:g?"AUTO":"MANUAL",color:!g&&"bad",onClick:function(){return n("updating")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Range",children:(0,o.createComponentVNode)(2,u.Button,{icon:"sync",content:f?"MAXIMUM":"LOCAL",selected:!f,onClick:function(){return n("globalmode")}})})]})}),!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Current Location",children:(0,o.createComponentVNode)(2,u.Box,{fontSize:"18px",children:[p," (",m,")"]})}),(0,o.createComponentVNode)(2,u.Section,{title:"Detected Signals",children:(0,o.createComponentVNode)(2,u.Table,{children:[(0,o.createComponentVNode)(2,u.Table.Row,{bold:!0,children:[(0,o.createComponentVNode)(2,u.Table.Cell,{content:"Name"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Direction"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Coordinates"})]}),b.map((function(e){return(0,o.createComponentVNode)(2,u.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,u.Table.Cell,{bold:!0,color:"label",children:e.entrytag}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,opacity:e.dist!==undefined&&(0,i.clamp)(1.2/Math.log(Math.E+e.dist/20),.4,1),children:[e.degrees!==undefined&&(0,o.createComponentVNode)(2,u.Icon,{mr:1,size:1.2,name:"arrow-up",rotation:e.degrees}),e.dist!==undefined&&e.dist+"m"]}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,children:e.coords})]},e.entrytag+e.coords+e.index)}))]})})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GravityGenerator=void 0;var o=n(1),r=n(3),a=n(2);t.GravityGenerator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.breaker,l=i.charge_count,u=i.charging_state,d=i.on,s=i.operational;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:!s&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No data available"})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Breaker",children:(0,o.createComponentVNode)(2,a.Button,{icon:c?"power-off":"times",content:c?"On":"Off",selected:c,disabled:!s,onClick:function(){return n("gentoggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Gravity Charge",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/100,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",children:[0===u&&(d&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Fully Charged"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Not Charging"})),1===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Charging"}),2===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Discharging"})]})]})}),s&&0!==u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"WARNING - Radiation detected"}),s&&0===u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No radiation detected"})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagTeleporterConsole=void 0;var o=n(1),r=n(3),a=n(2);t.GulagTeleporterConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.teleporter,l=i.teleporter_lock,u=i.teleporter_state_open,d=i.teleporter_location,s=i.beacon,p=i.beacon_location,m=i.id,f=i.id_name,h=i.can_teleport,C=i.goal,g=void 0===C?0:C,b=i.prisoner,v=void 0===b?{}:b;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Teleporter Console",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:u?"Open":"Closed",disabled:l,selected:u,onClick:function(){return n("toggle_open")}}),(0,o.createComponentVNode)(2,a.Button,{icon:l?"lock":"unlock",content:l?"Locked":"Unlocked",selected:l,disabled:u,onClick:function(){return n("teleporter_lock")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleporter Unit",color:c?"good":"bad",buttons:!c&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_teleporter")}}),children:c?d:"Not Connected"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Receiver Beacon",color:s?"good":"bad",buttons:!s&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_beacon")}}),children:s?p:"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Prisoner Details",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prisoner ID",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:m?f:"No ID",onClick:function(){return n("handle_id")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Point Goal",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:g,width:"48px",minValue:1,maxValue:1e3,onChange:function(e,t){return n("set_goal",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",children:v.name?v.name:"No Occupant"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Criminal Status",children:v.crimstat?v.crimstat:"No Status"})]})}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Process Prisoner",disabled:!h,textAlign:"center",color:"bad",onClick:function(){return n("teleport")}})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagItemReclaimer=void 0;var o=n(1),r=n(3),a=n(2);t.GulagItemReclaimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.mobs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Stored Items",children:(0,o.createComponentVNode)(2,a.Table,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:(0,o.createComponentVNode)(2,a.Button,{content:"Retrieve Items",disabled:!i.can_reclaim,onClick:function(){return n("release_items",{mobref:e.mob})}})})]},e.mob)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Holodeck=void 0;var o=n(1),r=n(3),a=n(2);t.Holodeck=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_toggle_safety,l=i.default_programs,u=void 0===l?[]:l,d=i.emag_programs,s=void 0===d?[]:d,p=i.emagged,m=i.program;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Default Programs",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:p?"unlock":"lock",content:"Safeties",color:"bad",disabled:!c,selected:!p,onClick:function(){return n("safety")}}),children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),textAlign:"center",selected:e.type===m,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))}),!!p&&(0,o.createComponentVNode)(2,a.Section,{title:"Dangerous Programs",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),color:"bad",textAlign:"center",selected:e.type===m,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.ImplantChair=void 0;var o=n(1),r=n(3),a=n(2);t.ImplantChair=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant Information",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:i.occupant.name?i.occupant.name:"No Occupant"}),!!i.occupied&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:0===i.occupant.stat?"good":1===i.occupant.stat?"average":"bad",children:0===i.occupant.stat?"Conscious":1===i.occupant.stat?"Unconcious":"Dead"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Operations",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.open?"unlock":"lock",color:i.open?"default":"red",content:i.open?"Open":"Closed",onClick:function(){return n("door")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implant Occupant",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"code-branch",content:i.ready?i.special_name||"Implant":"Recharging",onClick:function(){return n("implant")}}),0===i.ready&&(0,o.createComponentVNode)(2,a.Icon,{name:"cog",color:"orange",spin:!0})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implants Remaining",children:[i.ready_implants,1===i.replenishing&&(0,o.createComponentVNode)(2,a.Icon,{name:"sync",color:"red",spin:!0})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Intellicard=void 0;var o=n(1),r=n(3),a=n(2);t.Intellicard=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=u||d,l=i.name,u=i.isDead,d=i.isBraindead,s=i.health,p=i.wireless,m=i.radio,f=i.wiping,h=i.laws,C=void 0===h?[]:h;return(0,o.createComponentVNode)(2,a.Section,{title:l||"Empty Card",buttons:!!l&&(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:f?"Stop Wiping":"Wipe",disabled:u,onClick:function(){return n("wipe")}}),children:!!l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:c?"bad":"good",children:c?"Offline":"Operation"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Software Integrity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:s,minValue:0,maxValue:100,ranges:{good:[70,Infinity],average:[50,70],bad:[-Infinity,50]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"Wireless Activity",selected:p,onClick:function(){return n("wireless")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"microphone",content:"Subspace Radio",selected:m,onClick:function(){return n("radio")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laws",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.BlockQuote,{children:e},e)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.KeycardAuth=void 0;var o=n(1),r=n(3),a=n(2);t.KeycardAuth=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{children:1===i.waiting&&(0,o.createVNode)(1,"span",null,"Waiting for another device to confirm your request...",16)}),(0,o.createComponentVNode)(2,a.Box,{children:0===i.waiting&&(0,o.createFragment)([!!i.auth_required&&(0,o.createComponentVNode)(2,a.Button,{icon:"check-square",color:"red",textAlign:"center",lineHeight:"60px",fluid:!0,onClick:function(){return n("auth_swipe")},content:"Authorize"}),0===i.auth_required&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",fluid:!0,onClick:function(){return n("red_alert")},content:"Red Alert"}),(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",fluid:!0,onClick:function(){return n("emergency_maint")},content:"Emergency Maintenance Access"}),(0,o.createComponentVNode)(2,a.Button,{icon:"meteor",fluid:!0,onClick:function(){return n("bsa_unlock")},content:"Bluespace Artillery Unlock"})],4)],0)})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.LaborClaimConsole=void 0;var o=n(1),r=n(29),a=n(3),i=n(2);t.LaborClaimConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.can_go_home,u=c.id_points,d=c.ores,s=c.status_info,p=c.unclaimed_points;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle controls",children:(0,o.createComponentVNode)(2,i.Button,{content:"Move shuttle",disabled:!l,onClick:function(){return n("move_shuttle")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Points",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Unclaimed points",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Claim points",disabled:!p,onClick:function(){return n("claim_points")}}),children:p})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Material values",children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Material"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Value"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.ore)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.value})})]},e.ore)}))]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.LanguageMenu=void 0;var o=n(1),r=n(3),a=n(2);t.LanguageMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.admin_mode,l=i.is_living,u=i.omnitongue,d=i.languages,s=void 0===d?[]:d,p=i.unknown_languages,m=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Known Languages",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createFragment)([!!l&&(0,o.createComponentVNode)(2,a.Button,{content:e.is_default?"Default Language":"Select as Default",disabled:!e.can_speak,selected:e.is_default,onClick:function(){return n("select_default",{language_name:e.name})}}),!!c&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Remove",onClick:function(){return n("remove_language",{language_name:e.name})}})],4)],0),children:[e.desc," ","Key: ,",e.key," ",e.can_understand?"Can understand.":"Cannot understand."," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})}),!!c&&(0,o.createComponentVNode)(2,a.Section,{title:"Unknown Languages",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Omnitongue "+(u?"Enabled":"Disabled"),selected:u,onClick:function(){return n("toggle_omnitongue")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:m.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),children:[e.desc," ","Key: ,",e.key," ",!!e.shadow&&"(gained from mob)"," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.LaunchpadConsole=t.LaunchpadRemote=t.LaunchpadControl=t.LaunchpadButtonPad=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createComponentVNode)(2,a.Grid,{width:"1px",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",mb:1,onClick:function(){return t("move_pos",{x:-1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",mb:1,onClick:function(){return t("move_pos",{y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"R",mb:1,onClick:function(){return t("set_pos",{x:0,y:0})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",mb:1,onClick:function(){return t("move_pos",{y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",mb:1,onClick:function(){return t("move_pos",{x:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:-1})}})]})]})};t.LaunchpadButtonPad=i;var c=function(e){var t=e.topLevel,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.x,d=l.y,s=l.pad_name,p=l.range;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Input,{value:s,width:"170px",onChange:function(e,t){return c("rename",{name:t})}}),level:t?1:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Remove",color:"bad",onClick:function(){return c("remove")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Controls",level:2,children:(0,o.createComponentVNode)(2,i,{state:e.state})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Target",level:2,children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"26px",children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"X:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:u,minValue:-p,maxValue:p,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",stepPixelSize:10,onChange:function(e,t){return c("set_pos",{x:t})}})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"Y:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:d,minValue:-p,maxValue:p,stepPixelSize:10,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",onChange:function(e,t){return c("set_pos",{y:t})}})]})]})})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"upload",content:"Launch",textAlign:"center",onClick:function(){return c("launch")}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Pull",textAlign:"center",onClick:function(){return c("pull")}})})]})]})};t.LaunchpadControl=c;t.LaunchpadRemote=function(e){var t=(0,r.useBackend)(e).data,n=t.has_pad,i=t.pad_closed;return n?i?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Launchpad Closed"}):(0,o.createComponentVNode)(2,c,{topLevel:!0,state:e.state}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Launchpad Connected"})};t.LaunchpadConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.launchpads,u=void 0===l?[]:l,d=i.selected_id;return u.length<=0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Pads Connected"}):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.Box,{style:{"border-right":"2px solid rgba(255, 255, 255, 0.1)"},minHeight:"190px",mr:1,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name,selected:d===e.id,color:"transparent",onClick:function(){return n("select_pad",{id:e.id})}},e.name)}))})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:d?(0,o.createComponentVNode)(2,c,{state:e.state}):(0,o.createComponentVNode)(2,a.Box,{children:"Please select a pad"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MechBayPowerConsole=void 0;var o=n(1),r=n(3),a=n(2);t.MechBayPowerConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.recharge_port,c=i&&i.mech,l=c&&c.cell;return(0,o.createComponentVNode)(2,a.Section,{title:"Mech status",textAlign:"center",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Sync",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Integrity",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.health/c.maxhealth,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||!l&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No cell is installed."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.charge/l.maxcharge,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.charge})," / "+l.maxcharge]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteChamberControl=void 0;var o=n(1),r=n(3),a=n(2);t.NaniteChamberControl=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.status_msg,l=i.locked,u=i.occupant_name,d=i.has_nanites,s=i.nanite_volume,p=i.regen_rate,m=i.safety_threshold,f=i.cloud_id,h=i.scan_level;if(c)return(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:c});var C=i.mob_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Chamber: "+u,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"lock":"lock-open",content:l?"Locked":"Unlocked",color:l?"bad":"default",onClick:function(){return n("toggle_lock")}}),children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",content:"Destroy Nanites",color:"bad",onClick:function(){return n("remove_nanites")}}),children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nanite Volume",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Growth Rate",children:p})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Safety Threshold",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:m,minValue:0,maxValue:500,width:"39px",onChange:function(e,t){return n("set_safety",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:f,minValue:0,maxValue:100,step:1,stepPixelSize:3,width:"39px",onChange:function(e,t){return n("set_cloud",{value:t})}})})]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",level:2,children:C.map((function(e){var t=e.extra_settings||[],n=e.rules||[];return(0,o.createComponentVNode)(2,a.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:e.desc}),h>=2&&(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation Status",children:(0,o.createComponentVNode)(2,a.Box,{color:e.activated?"good":"bad",children:e.activated?"Active":"Inactive"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nanites Consumed",children:[e.use_rate,"/s"]})]})})]}),h>=2&&(0,o.createComponentVNode)(2,a.Grid,{children:[!!e.can_trigger&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Triggers",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:e.trigger_cost}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:e.trigger_cooldown}),!!e.timer_trigger_delay&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[e.timer_trigger_delay," s"]}),!!e.timer_trigger&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Repeat Timer",children:[e.timer_trigger," s"]})]})})}),!(!e.timer_restart&&!e.timer_shutdown)&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[e.timer_restart&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart Timer",children:[e.timer_restart," s"]}),e.timer_shutdown&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown Timer",children:[e.timer_shutdown," s"]})]})})})]}),h>=3&&!!e.has_extra_settings&&(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:t.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:e.value},e.name)}))})}),h>=4&&(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[!!e.activation_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:e.activation_code}),!!e.deactivation_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:e.deactivation_code}),!!e.kill_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:e.kill_code}),!!e.can_trigger&&!!e.trigger_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:e.trigger_code})]})})}),e.has_rules&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Rules",level:2,children:n.map((function(e){return(0,o.createFragment)([e.display,(0,o.createVNode)(1,"br")],0,e.display)}))})})]})]})},e.name)}))})],4):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"bad",textAlign:"center",fontSize:"30px",mb:1,children:"No Nanites Detected"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,icon:"syringe",content:" Implant Nanites",color:"green",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("nanite_injection")}})],4)})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteCloudControl=t.NaniteCloudBackupDetails=t.NaniteCloudBackupList=t.NaniteInfoBox=t.NaniteDiskBox=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.state.data,n=t.has_disk,r=t.has_program,i=t.disk;return n?r?(0,o.createComponentVNode)(2,c,{program:i}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Inserted disk has no program"}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No disk inserted"})};t.NaniteDiskBox=i;var c=function(e){var t=e.program,n=t.name,r=t.desc,i=t.activated,c=t.use_rate,l=t.can_trigger,u=t.trigger_cost,d=t.trigger_cooldown,s=t.activation_code,p=t.deactivation_code,m=t.kill_code,f=t.trigger_code,h=t.timer_restart,C=t.timer_shutdown,g=t.timer_trigger,b=t.timer_trigger_delay,v=t.extra_settings||[];return(0,o.createComponentVNode)(2,a.Section,{title:n,level:2,buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:i?"good":"bad",children:i?"Activated":"Deactivated"}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{mr:1,children:r}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Use Rate",children:c}),!!l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:u}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:d})],4)]})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:m}),!!l&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:f})]})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Delays",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart",children:[h," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown",children:[C," s"]}),!!l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:[g," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[b," s"]})],4)]})})})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:v.map((function(e){var t={number:(0,o.createFragment)([e.value,e.unit],0),text:e.value,type:e.value,boolean:e.value?e.true_text:e.false_text};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:t[e.type]},e.name)}))})})]})};t.NaniteInfoBox=c;var l=function(e){var t=(0,r.useBackend)(e),n=t.act;return(t.data.cloud_backups||[]).map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Backup #"+e.cloud_id,textAlign:"center",onClick:function(){return n("set_view",{view:e.cloud_id})}},e.cloud_id)}))};t.NaniteCloudBackupList=l;var u=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.current_view,u=i.disk,d=i.has_program,s=i.cloud_backup,p=u&&u.can_rule||!1;if(!s)return(0,o.createComponentVNode)(2,a.NoticeBox,{children:"ERROR: Backup not found"});var m=i.cloud_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Backup #"+l,level:2,buttons:!!d&&(0,o.createComponentVNode)(2,a.Button,{icon:"upload",content:"Upload From Disk",color:"good",onClick:function(){return n("upload_program")}}),children:m.map((function(e){var t=e.rules||[];return(0,o.createComponentVNode)(2,a.Collapsible,{title:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return n("remove_program",{program_id:e.id})}}),children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,c,{program:e}),!!p&&(0,o.createComponentVNode)(2,a.Section,{mt:-2,title:"Rules",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Add Rule from Disk",color:"good",onClick:function(){return n("add_rule",{program_id:e.id})}}),children:e.has_rules?t.map((function(t){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return n("remove_rule",{program_id:e.id,rule_id:t.id})}}),t.display],0,t.display)})):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No Active Rules"})})]})},e.name)}))})};t.NaniteCloudBackupDetails=u;t.NaniteCloudControl=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,d=n.data,s=d.has_disk,p=d.current_view,m=d.new_backup_id;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Program Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!s,onClick:function(){return c("eject")}}),children:(0,o.createComponentVNode)(2,i,{state:t})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cloud Storage",buttons:p?(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Return",onClick:function(){return c("set_view",{view:0})}}):(0,o.createFragment)(["New Backup: ",(0,o.createComponentVNode)(2,a.NumberInput,{value:m,minValue:1,maxValue:100,stepPixelSize:4,width:"39px",onChange:function(e,t){return c("update_new_backup_value",{value:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return c("create_backup")}})],0),children:d.current_view?(0,o.createComponentVNode)(2,u,{state:t}):(0,o.createComponentVNode)(2,l,{state:t})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgramHub=void 0;var o=n(1),r=n(23),a=n(3),i=n(2);t.NaniteProgramHub=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.detail_view,u=c.disk,d=c.has_disk,s=c.has_program,p=c.programs,m=void 0===p?{}:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Program Disk",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus-circle",content:"Delete Program",onClick:function(){return n("clear")}})],4),children:d?s?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Program Name",children:u.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:u.desc})]}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No Program Installed"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"Insert Disk"})}),(0,o.createComponentVNode)(2,i.Section,{title:"Programs",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:l?"info":"list",content:l?"Detailed":"Compact",onClick:function(){return n("toggle_details")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Sync Research",onClick:function(){return n("refresh")}})],4),children:null!==m?(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,t){var r=e||[],a=t.substring(0,t.length-8);return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:a,children:l?r.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Download",disabled:!d,onClick:function(){return n("download",{program_id:e.id})}}),children:e.desc},e.id)})):(0,o.createComponentVNode)(2,i.LabeledList,{children:r.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Download",disabled:!d,onClick:function(){return n("download",{program_id:e.id})}})},e.id)}))})},t)}))(m)}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No nanite programs are currently researched."})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgrammer=t.NaniteExtraBoolean=t.NaniteExtraType=t.NaniteExtraText=t.NaniteExtraNumber=t.NaniteExtraEntry=t.NaniteDelays=t.NaniteCodes=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.activation_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"activation",code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.deactivation_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"deactivation",code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.kill_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"kill",code:t})}})}),!!i.can_trigger&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.trigger_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"trigger",code:t})}})})]})})};t.NaniteCodes=i;var c=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Delays",level:3,ml:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_restart,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_restart_timer",{delay:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_shutdown,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_shutdown_timer",{delay:t})}})}),!!i.can_trigger&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Repeat Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_trigger,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_trigger_timer",{delay:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_trigger_delay,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_timer_trigger_delay",{delay:t})}})})],4)]})})};t.NaniteDelays=c;var l=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.type,c={number:(0,o.createComponentVNode)(2,u,{act:t,extra_setting:n}),text:(0,o.createComponentVNode)(2,d,{act:t,extra_setting:n}),type:(0,o.createComponentVNode)(2,s,{act:t,extra_setting:n}),boolean:(0,o.createComponentVNode)(2,p,{act:t,extra_setting:n})};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:r,children:c[i]})};t.NaniteExtraEntry=l;var u=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.min,l=n.max,u=n.unit;return(0,o.createComponentVNode)(2,a.NumberInput,{value:i,width:"64px",minValue:c,maxValue:l,unit:u,onChange:function(e,n){return t("set_extra_setting",{target_setting:r,value:n})}})};t.NaniteExtraNumber=u;var d=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value;return(0,o.createComponentVNode)(2,a.Input,{value:i,width:"200px",onInput:function(e,n){return t("set_extra_setting",{target_setting:r,value:n})}})};t.NaniteExtraText=d;var s=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.types;return(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:i,width:"150px",options:c,onSelected:function(e){return t("set_extra_setting",{target_setting:r,value:e})}})};t.NaniteExtraType=s;var p=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.true_text,l=n.false_text;return(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:i?c:l,checked:i,onClick:function(){return t("set_extra_setting",{target_setting:r})}})};t.NaniteExtraBoolean=p;t.NaniteProgrammer=function(e){var t=(0,r.useBackend)(e),n=t.act,u=t.data,d=u.has_disk,s=u.has_program,p=u.name,m=u.desc,f=u.use_rate,h=u.can_trigger,C=u.trigger_cost,g=u.trigger_cooldown,b=u.activated,v=u.has_extra_settings,N=u.extra_settings,V=void 0===N?{}:N;return d?s?(0,o.createComponentVNode)(2,a.Section,{title:p,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}}),children:[(0,o.createComponentVNode)(2,a.Section,{title:"Info",level:2,children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:m}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.7,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Use Rate",children:f}),!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:C}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:g})],4)]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Settings",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:b?"power-off":"times",content:b?"Active":"Inactive",selected:b,color:"bad",bold:!0,onClick:function(){return n("toggle_active")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{state:e.state})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,c,{state:e.state})})]}),!!v&&(0,o.createComponentVNode)(2,a.Section,{title:"Special",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:V.map((function(e){return(0,o.createComponentVNode)(2,l,{act:n,extra_setting:e},e.name)}))})})]})]}):(0,o.createComponentVNode)(2,a.Section,{title:"Blank Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}})}):(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Insert a nanite program disk"})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteRemote=void 0;var o=n(1),r=n(3),a=n(2);t.NaniteRemote=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.code,l=i.locked,u=i.mode,d=i.program_name,s=i.relay_code,p=i.comms,m=i.message,f=i.saved_settings,h=void 0===f?[]:f;return l?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"This interface is locked."}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Nanite Control",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lock",content:"Lock Interface",onClick:function(){return n("lock")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:[(0,o.createComponentVNode)(2,a.Input,{value:d,maxLength:14,width:"130px",onChange:function(e,t){return n("update_name",{name:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"save",content:"Save",onClick:function(){return n("save")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:p?"Comm Code":"Signal Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return n("set_code",{code:t})}})}),!!p&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",children:(0,o.createComponentVNode)(2,a.Input,{value:m,width:"270px",onChange:function(e,t){return n("set_message",{value:t})}})}),"Relay"===u&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Relay Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:s,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return n("set_relay_code",{code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Signal Mode",children:["Off","Local","Targeted","Area","Relay"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,selected:u===e,onClick:function(){return n("select_mode",{mode:e})}},e)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Saved Settings",children:h.length>0?(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{width:"35%",children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{width:"20%",children:"Mode"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Code"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Relay"})]}),h.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,color:"label",children:[e.name,":"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.mode}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.code}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Relay"===e.mode&&e.relay_code}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"upload",color:"good",onClick:function(){return n("load",{save_id:e.id})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return n("remove_save",{save_id:e.id})}})]})]},e.id)}))]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No settings currently saved"})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Mule=void 0;var o=n(1),r=n(3),a=n(2),i=n(69);t.Mule=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u=c.siliconUser,d=c.on,s=c.cell,p=c.cellPercent,m=c.load,f=c.mode,h=c.modeStatus,C=c.haspai,g=c.autoReturn,b=c.autoPickup,v=c.reportDelivery,N=c.destination,V=c.home,y=c.id,_=c.destinations,x=void 0===_?[]:_;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:u,locked:l}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",minHeight:"110px",buttons:!l&&(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",content:d?"On":"Off",selected:d,onClick:function(){return n("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:s?p/100:0,color:s?"good":"bad"}),(0,o.createComponentVNode)(2,a.Grid,{mt:1,children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",color:h,children:f})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Load",color:m?"good":"average",children:m||"None"})})})]})]}),!l&&(0,o.createComponentVNode)(2,a.Section,{title:"Controls",buttons:(0,o.createFragment)([!!m&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Unload",onClick:function(){return n("unload")}}),!!C&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject PAI",onClick:function(){return n("ejectpai")}})],0),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID",children:(0,o.createComponentVNode)(2,a.Input,{value:y,onChange:function(e,t){return n("setid",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Destination",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:N||"None",options:x,width:"150px",onSelected:function(e){return n("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"stop",content:"Stop",onClick:function(){return n("stop")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"play",content:"Go",onClick:function(){return n("go")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Home",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:V,options:x,width:"150px",onSelected:function(e){return n("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"home",content:"Go Home",onClick:function(){return n("home")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:g,content:"Auto-Return",onClick:function(){return n("autored")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:b,content:"Auto-Pickup",onClick:function(){return n("autopick")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:v,content:"Report Delivery",onClick:function(){return n("report")}})]})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NotificationPreferences=void 0;var o=n(1),r=n(3),a=n(2);t.NotificationPreferences=function(e){var t=(0,r.useBackend)(e),n=t.act,i=(t.data.ignore||[]).sort((function(e,t){var n=e.desc.toLowerCase(),o=t.desc.toLowerCase();return no?1:0}));return(0,o.createComponentVNode)(2,a.Section,{title:"Ghost Role Notifications",children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:e.enabled?"times":"check",content:e.desc,color:e.enabled?"bad":"good",onClick:function(){return n("toggle_ignore",{key:e.key})}},e.key)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtnetRelay=void 0;var o=n(1),r=n(3),a=n(2);t.NtnetRelay=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.enabled,l=i.dos_capacity,u=i.dos_overload,d=i.dos_crashed;return(0,o.createComponentVNode)(2,a.Section,{title:"Network Buffer",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",selected:c,content:c?"ENABLED":"DISABLED",onClick:function(){return n("toggle")}}),children:d?(0,o.createComponentVNode)(2,a.Box,{fontFamily:"monospace",children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",children:"NETWORK BUFFER OVERFLOW"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",children:"OVERLOAD RECOVERY MODE"}),(0,o.createComponentVNode)(2,a.Box,{children:"This system is suffering temporary outage due to overflow of traffic buffers. Until buffered traffic is processed, all further requests will be dropped. Frequent occurences of this error may indicate insufficient hardware capacity of your network. Please contact your network planning department for instructions on how to resolve this issue."}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",color:"bad",children:"ADMINISTRATOR OVERRIDE"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",color:"bad",children:"CAUTION - DATA LOSS MAY OCCUR"}),(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"PURGE BUFFER",mt:1,color:"bad",onClick:function(){return n("restart")}})]}):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,minValue:0,maxValue:l,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u})," GQ"," / ",l," GQ"]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosArcade=void 0;var o=n(1),r=n(3),a=n(2);t.NtosArcade=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Outbomb Cuban Pete Ultra",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:2,children:[(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerHitpoints,minValue:0,maxValue:30,ranges:{olive:[31,Infinity],good:[20,31],average:[10,20],bad:[-Infinity,10]},children:[i.PlayerHitpoints,"HP"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Magic",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerMP,minValue:0,maxValue:10,ranges:{purple:[11,Infinity],violet:[3,11],bad:[-Infinity,3]},children:[i.PlayerMP,"MP"]})})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Section,{backgroundColor:1===i.PauseState?"#1b3622":"#471915",children:i.Status})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.Hitpoints/45,minValue:0,maxValue:45,ranges:{good:[30,Infinity],average:[5,30],bad:[-Infinity,5]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.Hitpoints}),"HP"]}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Section,{inline:!0,width:26,textAlign:"center",children:(0,o.createVNode)(1,"img",null,null,1,{src:i.BossID})})]})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Button,{icon:"fist-raised",tooltip:"Go in for the kill!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Attack")},content:"Attack!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"band-aid",tooltip:"Heal yourself!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Heal")},content:"Heal!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"magic",tooltip:"Recharge your magic!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Recharge_Power")},content:"Recharge!"})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"sync-alt",tooltip:"One more game couldn't hurt.",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Start_Game")},content:"Begin Game"}),(0,o.createComponentVNode)(2,a.Button,{icon:"ticket-alt",tooltip:"Claim at your local Arcade Computer for Prizes!",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Dispense_Tickets")},content:"Claim Tickets"})]}),(0,o.createComponentVNode)(2,a.Box,{color:i.TicketCount>=1?"good":"normal",children:["Earned Tickets: ",i.TicketCount]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosConfiguration=void 0;var o=n(1),r=n(3),a=n(2);t.NtosConfiguration=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.power_usage,l=i.battery_exists,u=i.battery,d=void 0===u?{}:u,s=i.disk_size,p=i.disk_used,m=i.hardware,f=void 0===m?[]:m;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Supply",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Draw: ",c,"W"]}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Battery Status",color:!l&&"average",children:l?(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.charge,minValue:0,maxValue:d.max,ranges:{good:[d.max/2,Infinity],average:[d.max/4,d.max/2],bad:[-Infinity,d.max/4]},children:[d.charge," / ",d.max]}):"Not Available"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"File System",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:p,minValue:0,maxValue:s,color:"good",children:[p," GQ / ",s," GQ"]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Hardware Components",children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,buttons:(0,o.createFragment)([!e.critical&&(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:"Enabled",checked:e.enabled,mr:1,onClick:function(){return n("PC_toggle_component",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Usage: ",e.powerusage,"W"]})],0),children:e.desc},e.name)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosMain=void 0;var o=n(1),r=n(3),a=n(2),i={compconfig:"cog",ntndownloader:"download",filemanager:"folder",smmonitor:"radiation",alarmmonitor:"bell",cardmod:"id-card",arcade:"gamepad",ntnrc_client:"comment-alt",nttransfer:"exchange-alt",powermonitor:"plug"};t.NtosMain=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.programs,u=void 0===l?[]:l,d=c.has_light,s=c.light_on,p=c.comp_light_color;return(0,o.createFragment)([!!d&&(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Button,{width:"144px",icon:"lightbulb",selected:s,onClick:function(){return n("PC_toggle_light")},children:["Flashlight: ",s?"ON":"OFF"]}),(0,o.createComponentVNode)(2,a.Button,{ml:1,onClick:function(){return n("PC_light_color")},children:["Color:",(0,o.createComponentVNode)(2,a.ColorBox,{ml:1,color:p})]})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",children:(0,o.createComponentVNode)(2,a.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,lineHeight:"24px",color:"transparent",icon:i[e.name]||"window-maximize-o",content:e.desc,onClick:function(){return n("PC_runprogram",{name:e.name})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,width:3,children:!!e.running&&(0,o.createComponentVNode)(2,a.Button,{lineHeight:"24px",color:"transparent",icon:"times",tooltip:"Close program",tooltipPosition:"left",onClick:function(){return n("PC_killprogram",{name:e.name})}})})]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetChat=void 0;var o=n(1),r=n(3),a=n(2);(0,n(51).createLogger)("ntos chat");t.NtosNetChat=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_admin,l=i.adminmode,u=i.authed,d=i.username,s=i.active_channel,p=i.is_operator,m=i.all_channels,f=void 0===m?[]:m,h=i.clients,C=void 0===h?[]:h,g=i.messages,b=void 0===g?[]:g,v=null!==s,N=u||l;return(0,o.createComponentVNode)(2,a.Section,{height:"600px",children:(0,o.createComponentVNode)(2,a.Table,{height:"580px",children:(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"200px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"537px",overflowY:"scroll",children:[(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"New Channel...",onCommit:function(e,t){return n("PRG_newchannel",{new_channel_name:t})}}),f.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.chan,selected:e.id===s,color:"transparent",onClick:function(){return n("PRG_joinchannel",{id:e.id})}},e.chan)}))]}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,mt:1,content:d+"...",currentValue:d,onCommit:function(e,t){return n("PRG_changename",{new_name:t})}}),!!c&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:"ADMIN MODE: "+(l?"ON":"OFF"),color:l?"bad":"good",onClick:function(){return n("PRG_toggleadmin")}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[(0,o.createComponentVNode)(2,a.Box,{height:"560px",overflowY:"scroll",children:v&&(N?b.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.msg},e.msg)})):(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"exclamation-triangle",mt:4,fontSize:"40px"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,fontSize:"18px",children:"THIS CHANNEL IS PASSWORD PROTECTED"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"INPUT PASSWORD TO ACCESS"})]}))}),(0,o.createComponentVNode)(2,a.Input,{fluid:!0,selfClear:!0,mt:1,onEnter:function(e,t){return n("PRG_speak",{message:t})}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"150px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"477px",overflowY:"scroll",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.name},e.name)}))}),v&&N&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Save log...",defaultValue:"new_log",onCommit:function(e,t){return n("PRG_savelog",{log_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Leave Channel",onClick:function(){return n("PRG_leavechannel")}})],4),!!p&&u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Delete Channel",onClick:function(){return n("PRG_deletechannel")}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Rename Channel...",onCommit:function(e,t){return n("PRG_renamechannel",{new_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Set Password...",onCommit:function(e,t){return n("PRG_setpassword",{new_password:t})}})],4)]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDownloader=void 0;var o=n(1),r=n(3),a=n(2);t.NtosNetDownloader=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.disk_size,d=l.disk_used,s=l.downloadable_programs,p=void 0===s?[]:s,m=l.error,f=l.hacked_programs,h=void 0===f?[]:f,C=l.hackedavailable;return(0,o.createFragment)([!!m&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:m}),(0,o.createComponentVNode)(2,a.Button,{content:"Reset",onClick:function(){return c("PRG_reseterror")}})]}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disk usage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d,minValue:0,maxValue:u,children:d+" GQ / "+u+" GQ"})})})}),(0,o.createComponentVNode)(2,a.Section,{children:p.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))}),!!C&&(0,o.createComponentVNode)(2,a.Section,{title:"UNKNOWN Software Repository",children:[(0,o.createComponentVNode)(2,a.NoticeBox,{mb:1,children:"Please note that Nanotrasen does not recommend download of software from non-official servers."}),h.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))]})],0)};var i=function(e){var t=e.program,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.disk_size,u=c.disk_used,d=c.downloadcompletion,s=c.downloading,p=c.downloadname,m=c.downloadsize,f=l-u;return(0,o.createComponentVNode)(2,a.Box,{mb:3,children:[(0,o.createComponentVNode)(2,a.Flex,{align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{bold:!0,grow:1,children:t.filedesc}),(0,o.createComponentVNode)(2,a.Flex.Item,{color:"label",nowrap:!0,children:[t.size," GQ"]}),(0,o.createComponentVNode)(2,a.Flex.Item,{ml:2,width:"94px",textAlign:"center",children:t.filename===p&&(0,o.createComponentVNode)(2,a.ProgressBar,{color:"green",minValue:0,maxValue:m,value:d})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Download",disabled:s||t.size>f,onClick:function(){return i("PRG_downloadfile",{filename:t.filename})}})})]}),"Compatible"!==t.compatibility&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Incompatible!"]}),t.size>f&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Not enough disk space!"]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,color:"label",fontSize:"12px",children:t.fileinfo})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosSupermatterMonitor=void 0;var o=n(1),r=n(23),a=n(70),i=n(20),c=n(3),l=n(2),u=n(37),d=function(e){return Math.log2(16+Math.max(0,e))-4};t.NtosSupermatterMonitor=function(e){var t=e.state,n=(0,c.useBackend)(e),p=n.act,m=n.data,f=m.active,h=m.SM_integrity,C=m.SM_power,g=m.SM_ambienttemp,b=m.SM_ambientpressure;if(!f)return(0,o.createComponentVNode)(2,s,{state:t});var v=(0,a.flow)([function(e){return e.filter((function(e){return e.amount>=.01}))},(0,r.sortBy)((function(e){return-e.amount}))])(m.gases||[]),N=Math.max.apply(Math,[1].concat(v.map((function(e){return e.amount}))));return(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"270px",children:(0,o.createComponentVNode)(2,l.Section,{title:"Metrics",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:h/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Relative EER",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:C,minValue:0,maxValue:5e3,ranges:{good:[-Infinity,5e3],average:[5e3,7e3],bad:[7e3,Infinity]},children:(0,i.toFixed)(C)+" MeV/cm3"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:d(g),minValue:0,maxValue:d(1e4),ranges:{teal:[-Infinity,d(80)],good:[d(80),d(373)],average:[d(373),d(1e3)],bad:[d(1e3),Infinity]},children:(0,i.toFixed)(g)+" K"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:d(b),minValue:0,maxValue:d(5e4),ranges:{good:[d(1),d(300)],average:[-Infinity,d(1e3)],bad:[d(1e3),+Infinity]},children:(0,i.toFixed)(b)+" kPa"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{title:"Gases",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"arrow-left",content:"Back",onClick:function(){return p("PRG_clear")}}),children:(0,o.createComponentVNode)(2,l.Box.Forced,{height:24*v.length+"px",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:v.map((function(e){return(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:(0,u.getGasLabel)(e.name),children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:(0,u.getGasColor)(e.name),value:e.amount,minValue:0,maxValue:N,children:(0,i.toFixed)(e.amount,2)+"%"})},e.name)}))})})})})]})};var s=function(e){var t=(0,c.useBackend)(e),n=t.act,r=t.data.supermatters,a=void 0===r?[]:r;return(0,o.createComponentVNode)(2,l.Section,{title:"Detected Supermatters",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"sync",content:"Refresh",onClick:function(){return n("PRG_refresh")}}),children:(0,o.createComponentVNode)(2,l.Table,{children:a.map((function(e){return(0,o.createComponentVNode)(2,l.Table.Row,{children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.uid+". "+e.area_name}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,color:"label",children:"Integrity:"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,width:"120px",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:e.integrity/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,l.Button,{content:"Details",onClick:function(){return n("PRG_set",{target:e.uid})}})})]},e.uid)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosWrapper=void 0;var o=n(1),r=n(3),a=n(2),i=n(116);t.NtosWrapper=function(e){var t=e.children,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.PC_batteryicon,d=l.PC_showbatteryicon,s=l.PC_batterypercent,p=l.PC_ntneticon,m=l.PC_apclinkicon,f=l.PC_stationtime,h=l.PC_programheaders,C=void 0===h?[]:h,g=l.PC_showexitprogram;return(0,o.createVNode)(1,"div","NtosWrapper",[(0,o.createVNode)(1,"div","NtosWrapper__header NtosHeader",[(0,o.createVNode)(1,"div","NtosHeader__left",[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:2,children:f}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,italic:!0,mr:2,opacity:.33,children:"NtOS"})],4),(0,o.createVNode)(1,"div","NtosHeader__right",[C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:e.icon})},e.icon)})),(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:p&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:p})}),!!d&&u&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:[u&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:u}),s&&s]}),m&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:m})}),!!g&&(0,o.createComponentVNode)(2,a.Button,{width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-minimize-o",tooltip:"Minimize",tooltipPosition:"bottom",onClick:function(){return c("PC_minimize")}}),!!g&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-close-o",tooltip:"Close",tooltipPosition:"bottom-left",onClick:function(){return c("PC_exit")}}),!g&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"power-off",tooltip:"Power off",tooltipPosition:"bottom-left",onClick:function(){return c("PC_shutdown")}})],0)],4,{onMouseDown:function(){(0,i.refocusLayout)()}}),(0,o.createVNode)(1,"div","NtosWrapper__content",t,0)],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NuclearBomb=void 0;var o=n(1),r=n(12),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e).act;return(0,o.createComponentVNode)(2,i.Box,{width:"185px",children:(0,o.createComponentVNode)(2,i.Grid,{width:"1px",children:[["1","4","7","C"],["2","5","8","0"],["3","6","9","E"]].map((function(e){return(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,mb:1,content:e,textAlign:"center",fontSize:"40px",lineHeight:"50px",width:"55px",className:(0,r.classes)(["NuclearBomb__Button","NuclearBomb__Button--keypad","NuclearBomb__Button--"+e]),onClick:function(){return t("keypad",{digit:e})}},e)}))},e[0])}))})})};t.NuclearBomb=function(e){var t=e.state,n=(0,a.useBackend)(e),r=n.act,l=n.data,u=(l.anchored,l.disk_present,l.status1),d=l.status2;return(0,o.createComponentVNode)(2,i.Box,{m:1,children:[(0,o.createComponentVNode)(2,i.Box,{mb:1,className:"NuclearBomb__displayBox",children:u}),(0,o.createComponentVNode)(2,i.Flex,{mb:1.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Box,{className:"NuclearBomb__displayBox",children:d})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",fontSize:"24px",lineHeight:"23px",textAlign:"center",width:"43px",ml:1,mr:"3px",mt:"3px",className:"NuclearBomb__Button NuclearBomb__Button--keypad",onClick:function(){return r("eject_disk")}})})]}),(0,o.createComponentVNode)(2,i.Flex,{ml:"3px",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,c,{state:t})}),(0,o.createComponentVNode)(2,i.Flex.Item,{ml:1,width:"129px",children:(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ARM",textAlign:"center",fontSize:"28px",lineHeight:"32px",mb:1,className:"NuclearBomb__Button NuclearBomb__Button--C",onClick:function(){return r("arm")}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ANCHOR",textAlign:"center",fontSize:"28px",lineHeight:"32px",className:"NuclearBomb__Button NuclearBomb__Button--E",onClick:function(){return r("anchor")}}),(0,o.createComponentVNode)(2,i.Box,{textAlign:"center",color:"#9C9987",fontSize:"80px",children:(0,o.createComponentVNode)(2,i.Icon,{name:"radiation"})}),(0,o.createComponentVNode)(2,i.Box,{height:"80px",className:"NuclearBomb__NTIcon"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OperatingComputer=void 0;var o=n(1),r=n(3),a=n(2);t.OperatingComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.table,l=i.surgeries,u=void 0===l?[]:l,d=i.procedures,s=void 0===d?[]:d,p=i.patient,m=void 0===p?{}:p;return(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Patient State",children:[!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Table Detected"}),(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Patient State",level:2,children:m?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:m.statstate,children:m.stat}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Type",children:m.blood_type}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m.health,minValue:m.minHealth,maxValue:m.maxHealth,color:m.health>=0?"good":"average",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Respiratory",type:"oxyLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m[e.type]/m.maxHealth,color:"bad",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m[e.type]})})},e.type)}))]}):"No Patient Detected"}),(0,o.createComponentVNode)(2,a.Section,{title:"Initiated Procedures",level:2,children:s.length?s.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Next Step",children:[e.next_step,e.chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.chems_needed],0)]}),!!i.alternative_step&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Alternative Step",children:[e.alternative_step,e.alt_chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.alt_chems_needed],0)]})]})},e.name)})):"No Active Procedures"})]})]},"state"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Surgery Procedures",children:(0,o.createComponentVNode)(2,a.Section,{title:"Advanced Surgery Procedures",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"download",content:"Sync Research Database",onClick:function(){return n("sync")}}),u.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,children:e.desc},e.name)}))]})},"procedures")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OreBox=void 0;var o=n(1),r=n(29),a=n(19),i=n(2);t.OreBox=function(e){var t=e.state,n=t.config,c=t.data,l=n.ref,u=c.materials;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Ores",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Empty",onClick:function(){return(0,a.act)(l,"removeall")}}),children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Ore"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Amount"})]}),u.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.name)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.amount})})]},e.type)}))]})}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{children:["All ores will be placed in here when you are wearing a mining stachel on your belt or in a pocket while dragging the ore box.",(0,o.createVNode)(1,"br"),"Gibtonite is not accepted."]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.OreRedemptionMachine=void 0;var o=n(1),r=n(29),a=n(3),i=n(2);t.OreRedemptionMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,l=r.unclaimedPoints,u=r.materials,d=r.alloys,s=r.diskDesigns,p=r.hasDisk;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.BlockQuote,{mb:1,children:["This machine only accepts ore.",(0,o.createVNode)(1,"br"),"Gibtonite and Slag are not accepted."]}),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mr:1,children:"Unclaimed points:"}),l,(0,o.createComponentVNode)(2,i.Button,{ml:2,content:"Claim",disabled:0===l,onClick:function(){return n("Claim")}})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:p&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{mb:1,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject design disk",onClick:function(){return n("diskEject")}})}),(0,o.createComponentVNode)(2,i.Table,{children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:["File ",e.index,": ",e.name]}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{disabled:!e.canupload,content:"Upload",onClick:function(){return n("diskUpload",{design:e.index})}})})]},e.index)}))})],4)||(0,o.createComponentVNode)(2,i.Button,{icon:"save",content:"Insert design disk",onClick:function(){return n("diskInsert")}})}),(0,o.createComponentVNode)(2,i.Section,{title:"Materials",children:(0,o.createComponentVNode)(2,i.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Release",{id:e.id,sheets:t})}},e.id)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Alloys",children:(0,o.createComponentVNode)(2,i.Table,{children:d.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Smelt",{id:e.id,sheets:t})}},e.id)}))})})],4)};var c=function(e){var t,n;function a(){var t;return(t=e.call(this)||this).state={amount:1},t}return n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,a.prototype.render=function(){var e=this,t=this.state.amount,n=this.props,a=n.material,c=n.onRelease,l=Math.floor(a.amount);return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(a.name).replace("Alloy","")}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:a.value&&a.value+" cr"})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:[l," sheets"]})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.NumberInput,{width:"32px",step:1,stepPixelSize:5,minValue:1,maxValue:50,value:t,onChange:function(t,n){return e.setState({amount:n})}}),(0,o.createComponentVNode)(2,i.Button,{disabled:l<1,content:"Release",onClick:function(){return c(t)}})]})]})},a}(o.Component)},function(e,t,n){"use strict";t.__esModule=!0,t.Pandemic=t.PandemicAntibodyDisplay=t.PandemicSymptomDisplay=t.PandemicDiseaseDisplay=t.PandemicBeakerDisplay=void 0;var o=n(1),r=n(23),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.has_beaker,l=r.beaker_empty,u=r.has_blood,d=r.blood,s=!c||l;return(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Empty and Eject",color:"bad",disabled:s,onClick:function(){return n("empty_eject_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"trash",content:"Empty",disabled:s,onClick:function(){return n("empty_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",disabled:!c,onClick:function(){return n("eject_beaker")}})],4),children:c?l?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Beaker is empty"}):u?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood DNA",children:d&&d.dna||"Unknown"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood Type",children:d&&d.type||"Unknown"})]}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No blood detected"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No beaker loaded"})})};t.PandemicBeakerDisplay=c;var l=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.is_ready;return(r.viruses||[]).map((function(e){var t=e.symptoms||[];return(0,o.createComponentVNode)(2,i.Section,{title:e.can_rename?(0,o.createComponentVNode)(2,i.Input,{value:e.name,onChange:function(t,o){return n("rename_disease",{index:e.index,name:o})}}):e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"flask",content:"Create culture bottle",disabled:!c,onClick:function(){return n("create_culture_bottle",{index:e.index})}}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.description}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Agent",children:e.agent}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Spread",children:e.spread}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Possible Cure",children:e.cure})]})})]}),!!e.is_adv&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Statistics",level:2,children:(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:e.resistance}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:e.stealth})]})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage speed",children:e.stage_speed}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmissibility",children:e.transmission})]})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Symptoms",level:2,children:t.map((function(e){return(0,o.createComponentVNode)(2,i.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,u,{symptom:e})})},e.name)}))})],4)]},e.name)}))};t.PandemicDiseaseDisplay=l;var u=function(e){var t=e.symptom,n=t.name,a=t.desc,c=t.stealth,l=t.resistance,u=t.stage_speed,d=t.transmission,s=t.level,p=t.neutered,m=(0,r.map)((function(e,t){return{desc:e,label:t}}))(t.threshold_desc||{});return(0,o.createComponentVNode)(2,i.Section,{title:n,level:2,buttons:!!p&&(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",children:"Neutered"}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{size:2,children:a}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Level",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:l}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:c}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage Speed",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmission",children:d})]})})]}),m.length>0&&(0,o.createComponentVNode)(2,i.Section,{title:"Thresholds",level:3,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.label,children:e.desc},e.label)}))})})]})};t.PandemicSymptomDisplay=u;var d=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.resistances||[];return(0,o.createComponentVNode)(2,i.Section,{title:"Antibodies",children:c.length>0?(0,o.createComponentVNode)(2,i.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eye-dropper",content:"Create vaccine bottle",disabled:!r.is_ready,onClick:function(){return n("create_vaccine_bottle",{index:e.id})}})},e.name)}))}):(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",mt:1,children:"No antibodies detected."})})};t.PandemicAntibodyDisplay=d;t.Pandemic=function(e){var t=(0,a.useBackend)(e).data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),!!t.has_blood&&(0,o.createFragment)([(0,o.createComponentVNode)(2,l,{state:e.state}),(0,o.createComponentVNode)(2,d,{state:e.state})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableGenerator=void 0;var o=n(1),r=n(3),a=n(2);t.PortableGenerator=function(e){var t,n=(0,r.useBackend)(e),i=n.act,c=n.data;return t=c.stack_percent>50?"good":c.stack_percent>15?"average":"bad",(0,o.createFragment)([!c.anchored&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Generator not anchored."}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power switch",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.active?"power-off":"times",onClick:function(){return i("toggle_power")},disabled:!c.ready_to_boot,children:c.active?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:c.sheet_name+" sheets",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t,children:c.sheets}),c.sheets>=1&&(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"eject",disabled:c.active,onClick:function(){return i("eject")},children:"Eject"})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current sheet level",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.stack_percent/100,ranges:{good:[.1,Infinity],average:[.01,.1],bad:[-Infinity,.01]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Heat level",children:c.current_heat<100?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:"Nominal"}):c.current_heat<200?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"average",children:"Caution"}):(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"bad",children:"DANGER"})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current output",children:c.power_output}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",onClick:function(){return i("lower_power")},children:c.power_generated}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return i("higher_power")},children:c.power_generated})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power available",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:!c.connected&&"bad",children:c.connected?c.power_available:"Unconnected"})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableScrubber=t.PortablePump=t.PortableBasicInfo=void 0;var o=n(1),r=n(3),a=n(2),i=n(37),c=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.connected,l=i.holding,u=i.on,d=i.pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:c?"good":"average",children:c?"Connected":"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",minHeight:"82px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!l,onClick:function(){return n("eject")}}),children:l?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:l.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.pressure})," kPa"]})]}):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No holding tank"})})],4)};t.PortableBasicInfo=c;t.PortablePump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.direction,u=(i.holding,i.target_pressure),d=i.default_pressure,s=i.min_pressure,p=i.max_pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Pump",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-in-alt":"sign-out-alt",content:l?"In":"Out",selected:l,onClick:function(){return n("direction")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,unit:"kPa",width:"75px",minValue:s,maxValue:p,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:u===s,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",disabled:u===d,onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:u===p,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})],4)};t.PortableScrubber=function(e){var t=(0,r.useBackend)(e),n=t.act,l=t.data.filter_types||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Filters",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,i.getGasLabel)(e.gas_id,e.gas_name),selected:e.enabled,onClick:function(){return n("toggle_filter",{val:e.gas_id})}},e.id)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.PowerMonitor=void 0;var o=n(1),r=n(23),a=n(70),i=n(20),c=n(12),l=n(2);var u=5e5,d=function(e){var t=String(e.split(" ")[1]).toLowerCase();return["w","kw","mw","gw"].indexOf(t)},s=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).state={sortByField:null},t}return n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,c.prototype.render=function(){var e=this,t=this.props.state.data,n=t.history,c=this.state.sortByField,s=n.supply[n.supply.length-1]||0,f=n.demand[n.demand.length-1]||0,h=n.supply.map((function(e,t){return[t,e]})),C=n.demand.map((function(e,t){return[t,e]})),g=Math.max.apply(Math,[u].concat(n.supply,n.demand)),b=(0,a.flow)([(0,r.map)((function(e,t){return Object.assign({},e,{id:e.name+t})})),"name"===c&&(0,r.sortBy)((function(e){return e.name})),"charge"===c&&(0,r.sortBy)((function(e){return-e.charge})),"draw"===c&&(0,r.sortBy)((function(e){return-d(e.load)}),(function(e){return-parseFloat(e.load)}))])(t.areas);return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"200px",children:(0,o.createComponentVNode)(2,l.Section,{children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Supply",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:s,minValue:0,maxValue:g,color:"teal",content:(0,i.toFixed)(s/1e3)+" kW"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Draw",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:f,minValue:0,maxValue:g,color:"pink",content:(0,i.toFixed)(f/1e3)+" kW"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{position:"relative",height:"100%",children:[(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:h,rangeX:[0,h.length-1],rangeY:[0,g],strokeColor:"rgba(0, 181, 173, 1)",fillColor:"rgba(0, 181, 173, 0.25)"}),(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:C,rangeX:[0,C.length-1],rangeY:[0,g],strokeColor:"rgba(224, 57, 151, 1)",fillColor:"rgba(224, 57, 151, 0.25)"})]})})]}),(0,o.createComponentVNode)(2,l.Section,{children:[(0,o.createComponentVNode)(2,l.Box,{mb:1,children:[(0,o.createComponentVNode)(2,l.Box,{inline:!0,mr:2,color:"label",children:"Sort by:"}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"name"===c,content:"Name",onClick:function(){return e.setState({sortByField:"name"!==c&&"name"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"charge"===c,content:"Charge",onClick:function(){return e.setState({sortByField:"charge"!==c&&"charge"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"draw"===c,content:"Draw",onClick:function(){return e.setState({sortByField:"draw"!==c&&"draw"})}})]}),(0,o.createComponentVNode)(2,l.Table,{children:[(0,o.createComponentVNode)(2,l.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Area"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:"Charge"}),(0,o.createComponentVNode)(2,l.Table.Cell,{textAlign:"right",children:"Draw"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Equipment",children:"Eqp"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Lighting",children:"Lgt"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Environment",children:"Env"})]}),b.map((function(e,t){return(0,o.createVNode)(1,"tr","Table__row candystripe",[(0,o.createVNode)(1,"td",null,e.name,0),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",(0,o.createComponentVNode)(2,p,{charging:e.charging,charge:e.charge}),2),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",e.load,0),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.eqp}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.lgt}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.env}),2)],4,null,e.id)}))]})]})],4)},c}(o.Component);t.PowerMonitor=s;var p=function(e){var t=e.charging,n=e.charge;return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Icon,{width:"18px",textAlign:"center",name:0===t&&(n>50?"battery-half":"battery-quarter")||1===t&&"bolt"||2===t&&"battery-full",color:0===t&&(n>50?"yellow":"red")||1===t&&"yellow"||2===t&&"green"}),(0,o.createComponentVNode)(2,l.Box,{inline:!0,width:"36px",textAlign:"right",children:(0,i.toFixed)(n)+"%"})],4)};p.defaultHooks=c.pureComponentHooks;var m=function(e){var t=e.status,n=Boolean(2&t),r=Boolean(1&t),a=(n?"On":"Off")+" ["+(r?"auto":"manual")+"]";return(0,o.createComponentVNode)(2,l.ColorBox,{color:n?"good":"bad",content:r?undefined:"M",title:a})};m.defaultHooks=c.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Radio=void 0;var o=n(1),r=n(23),a=n(20),i=n(3),c=n(2),l=n(37);t.Radio=function(e){var t=(0,i.useBackend)(e),n=t.act,u=t.data,d=u.freqlock,s=u.frequency,p=u.minFrequency,m=u.maxFrequency,f=u.listening,h=u.broadcasting,C=u.command,g=u.useCommand,b=u.subspace,v=u.subspaceSwitchable,N=l.RADIO_CHANNELS.find((function(e){return e.freq===s})),V=(0,r.map)((function(e,t){return{name:t,status:!!e}}))(u.channels);return(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Frequency",children:[d&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"light-gray",children:(0,a.toFixed)(s/10,1)+" kHz"})||(0,o.createComponentVNode)(2,c.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:10,minValue:p/10,maxValue:m/10,value:s/10,format:function(e){return(0,a.toFixed)(e,1)},onDrag:function(e,t){return n("frequency",{adjust:t-s/10})}}),N&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:N.color,ml:2,children:["[",N.name,"]"]})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Audio",children:[(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:f?"volume-up":"volume-mute",selected:f,onClick:function(){return n("listen")}}),(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:h?"microphone":"microphone-slash",selected:h,onClick:function(){return n("broadcast")}}),!!C&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:g,content:"High volume "+(g?"ON":"OFF"),onClick:function(){return n("command")}}),!!v&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:b,content:"Subspace Tx "+(b?"ON":"OFF"),onClick:function(){return n("subspace")}})]}),!!b&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Channels",children:[0===V.length&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"bad",children:"No encryption keys installed."}),V.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{children:(0,o.createComponentVNode)(2,c.Button,{icon:e.status?"check-square-o":"square-o",selected:e.status,content:e.name,onClick:function(){return n("channel",{channel:e.name})}})},e.name)}))]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RapidPipeDispenser=void 0;var o=n(1),r=n(12),a=n(3),i=n(2),c=["Atmospherics","Disposals","Transit Tubes"],l={Atmospherics:"wrench",Disposals:"trash-alt","Transit Tubes":"bus",Pipes:"grip-lines","Disposal Pipes":"grip-lines",Devices:"microchip","Heat Exchange":"thermometer-half","Station Equipment":"microchip"},u={grey:"#bbbbbb",amethyst:"#a365ff",blue:"#4466ff",brown:"#b26438",cyan:"#48eae8",dark:"#808080",green:"#1edd00",orange:"#ffa030",purple:"#b535ea",red:"#ff3333",violet:"#6e00f6",yellow:"#ffce26"},d=[{name:"Dispense",bitmask:1},{name:"Connect",bitmask:2},{name:"Destroy",bitmask:4},{name:"Paint",bitmask:8}];t.RapidPipeDispenser=function(e){var t=(0,a.useBackend)(e),n=t.act,s=t.data,p=s.category,m=s.categories,f=void 0===m?[]:m,h=s.selected_color,C=s.piping_layer,g=s.mode,b=s.preview_rows.flatMap((function(e){return e.previews}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Category",children:c.map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{selected:p===t,icon:l[e],color:"transparent",content:e,onClick:function(){return n("category",{category:t})}},e)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Modes",children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:g&e.bitmask,content:e.name,onClick:function(){return n("mode",{mode:e.bitmask})}},e.bitmask)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Color",children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,width:"64px",color:u[h],content:h}),Object.keys(u).map((function(e){return(0,o.createComponentVNode)(2,i.ColorBox,{ml:1,color:u[e],onClick:function(){return n("color",{paint_color:e})}},e)}))]})]})}),(0,o.createComponentVNode)(2,i.Flex,{m:-.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,children:(0,o.createComponentVNode)(2,i.Section,{children:[0===p&&(0,o.createComponentVNode)(2,i.Box,{mb:1,children:[1,2,3].map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:e===C,content:"Layer "+e,onClick:function(){return n("piping_layer",{piping_layer:e})}},e)}))}),(0,o.createComponentVNode)(2,i.Box,{width:"108px",children:b.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{title:e.dir_name,selected:e.selected,style:{width:"48px",height:"48px",padding:0},onClick:function(){return n("setdir",{dir:e.dir,flipped:e.flipped})},children:(0,o.createComponentVNode)(2,i.Box,{className:(0,r.classes)(["pipes32x32",e.dir+"-"+e.icon_state]),style:{transform:"scale(1.5) translate(17%, 17%)"}})},e.dir)}))})]})}),(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,grow:1,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:f.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{fluid:!0,icon:l[e.cat_name],label:e.cat_name,children:function(){return e.recipes.map((function(t){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,ellipsis:!0,checked:t.selected,content:t.pipe_name,title:t.pipe_name,onClick:function(){return n("pipe_type",{pipe_type:t.pipe_index,category:e.cat_name})}},t.pipe_index)}))}},e.cat_name)}))})})})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SatelliteControl=void 0;var o=n(1),r=n(3),a=n(2),i=n(163);t.SatelliteControl=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.satellites||[];return(0,o.createFragment)([c.meteor_shield&&(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledListItem,{label:"Coverage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.meteor_shield_coverage/c.meteor_shield_coverage_max,content:100*c.meteor_shield_coverage/c.meteor_shield_coverage_max+"%",ranges:{good:[1,Infinity],average:[.3,1],bad:[-Infinity,.3]}})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Satellite Controls",children:(0,o.createComponentVNode)(2,a.Box,{mr:-1,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.active,content:"#"+e.id+" "+e.mode,onClick:function(){return n("toggle",{id:e.id})}},e.id)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.ScannerGate=void 0;var o=n(1),r=n(3),a=n(2),i=n(69),c=["Positive","Harmless","Minor","Medium","Harmful","Dangerous","BIOHAZARD"],l=[{name:"Human",value:"human"},{name:"Lizardperson",value:"lizard"},{name:"Flyperson",value:"fly"},{name:"Felinid",value:"felinid"},{name:"Plasmaman",value:"plasma"},{name:"Mothperson",value:"moth"},{name:"Jellyperson",value:"jelly"},{name:"Podperson",value:"pod"},{name:"Golem",value:"golem"},{name:"Zombie",value:"zombie"}],u=[{name:"Starving",value:150},{name:"Obese",value:600}];t.ScannerGate=function(e){var t=e.state,n=(0,r.useBackend)(e),a=n.act,c=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{locked:c.locked,onLockedStatusChange:function(){return a("toggle_lock")}}),!c.locked&&(0,o.createComponentVNode)(2,s,{state:t})],0)};var d={Off:{title:"Scanner Mode: Off",component:function(){return p}},Wanted:{title:"Scanner Mode: Wanted",component:function(){return m}},Guns:{title:"Scanner Mode: Guns",component:function(){return f}},Mindshield:{title:"Scanner Mode: Mindshield",component:function(){return h}},Disease:{title:"Scanner Mode: Disease",component:function(){return C}},Species:{title:"Scanner Mode: Species",component:function(){return g}},Nutrition:{title:"Scanner Mode: Nutrition",component:function(){return b}},Nanites:{title:"Scanner Mode: Nanites",component:function(){return v}}},s=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data.scan_mode,l=d[c]||d.off,u=l.component();return(0,o.createComponentVNode)(2,a.Section,{title:l.title,buttons:"Off"!==c&&(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"back",onClick:function(){return i("set_mode",{new_mode:"Off"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},p=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:"Select a scanning mode below."}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{content:"Wanted",onClick:function(){return t("set_mode",{new_mode:"Wanted"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Guns",onClick:function(){return t("set_mode",{new_mode:"Guns"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Mindshield",onClick:function(){return t("set_mode",{new_mode:"Mindshield"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Disease",onClick:function(){return t("set_mode",{new_mode:"Disease"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Species",onClick:function(){return t("set_mode",{new_mode:"Species"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nutrition",onClick:function(){return t("set_mode",{new_mode:"Nutrition"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nanites",onClick:function(){return t("set_mode",{new_mode:"Nanites"})}})]})],4)},m=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any warrants for their arrest."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},f=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any guns."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},h=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","a mindshield."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},C=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,l=n.data,u=l.reverse,d=l.disease_threshold;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",u?"does not have":"has"," ","a disease equal or worse than ",d,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e===d,content:e,onClick:function(){return i("set_disease_threshold",{new_threshold:e})}},e)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},g=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,u=c.reverse,d=c.target_species,s=l.find((function(e){return e.value===d}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned is ",u?"not":""," ","of the ",s.name," species.","zombie"===d&&" All zombie types will be detected, including dormant zombies."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===d,content:e.name,onClick:function(){return i("set_target_species",{new_species:e.value})}},e.value)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},b=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,d=c.target_nutrition,s=u.find((function(e){return e.value===d}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","the ",s.name," nutrition level."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===d,content:e.name,onClick:function(){return i("set_target_nutrition",{new_nutrition:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},v=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,u=c.nanite_cloud;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","nanite cloud ",u,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,width:"65px",minValue:1,maxValue:100,stepPixelSize:2,onChange:function(e,t){return i("set_nanite_cloud",{new_cloud:t})}})})})}),(0,o.createComponentVNode)(2,N,{state:t})],4)},N=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.reverse;return(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scanning Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:i?"Inverted":"Default",icon:i?"random":"long-arrow-alt-right",onClick:function(){return n("toggle_reverse")},color:i?"bad":"good"})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShuttleManipulator=void 0;var o=n(1),r=n(23),a=n(3),i=n(2);t.ShuttleManipulator=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.shuttles||[],u=c.templates||{},d=c.selected||{},s=c.existing_shuttle||{};return(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Status",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Table,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"JMP",onClick:function(){return n("jump_to",{type:"mobile",id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Fly",disabled:!e.can_fly,onClick:function(){return n("fly",{id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.id}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.status}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:[e.mode,!!e.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),e.timeleft,(0,o.createTextVNode)(")"),(0,o.createComponentVNode)(2,i.Button,{content:"Fast Travel",disabled:!e.can_fast_travel,onClick:function(){return n("fast_travel",{id:e.id})}},e.id)],0)]})]},e.id)}))})})}},"status"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Templates",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:(0,r.map)((function(e,t){var r=e.templates||[];return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.port_id,children:r.map((function(e){var t=e.shuttle_id===d.shuttle_id;return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{content:t?"Selected":"Select",selected:t,onClick:function(){return n("select_template",{shuttle_id:e.shuttle_id})}}),children:(!!e.description||!!e.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:e.description}),!!e.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:e.admin_notes})]})},e.shuttle_id)}))},t)}))(u)})})}},"templates"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Modification",children:(0,o.createComponentVNode)(2,i.Section,{children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{level:2,title:d.name,children:(!!d.description||!!d.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!d.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:d.description}),!!d.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:d.admin_notes})]})}),s?(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: "+s.name,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Jump To",onClick:function(){return n("jump_to",{type:"mobile",id:s.id})}}),children:[s.status,!!s.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),s.timeleft,(0,o.createTextVNode)(")")],0)]})})}):(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: None"}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Status",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Preview",onClick:function(){return n("preview",{shuttle_id:d.shuttle_id})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Load",color:"bad",onClick:function(){return n("load",{shuttle_id:d.shuttle_id})}})]})],0):"No shuttle selected"})},"modification")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.SlimeBodySwapper=t.BodyEntry=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.body,n=e.swapFunc;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t.htmlcolor,children:t.name}),level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{content:{owner:"You Are Here",stranger:"Occupied",available:"Swap"}[t.occupied],selected:"owner"===t.occupied,color:"stranger"===t.occupied&&"bad",onClick:function(){return n()}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",bold:!0,color:{Dead:"bad",Unconscious:"average",Conscious:"good"}[t.status],children:t.status}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Jelly",children:t.exoticblood}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Location",children:t.area})]})})};t.BodyEntry=i;t.SlimeBodySwapper=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data.bodies,l=void 0===c?[]:c;return(0,o.createComponentVNode)(2,a.Section,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i,{body:e,swapFunc:function(){return n("swap",{ref:e.ref})}},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.Signaler=void 0;var o=n(1),r=n(2),a=n(3),i=n(20);t.Signaler=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.code,u=c.frequency,d=c.minFrequency,s=c.maxFrequency;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Frequency:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:d/10,maxValue:s/10,value:u/10,format:function(e){return(0,i.toFixed)(e,1)},width:13,onDrag:function(e,t){return n("freq",{freq:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"freq"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.6,children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Code:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:l,width:13,onDrag:function(e,t){return n("code",{code:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"code"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.8,children:(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{mb:-.1,fluid:!0,icon:"arrow-up",content:"Send Signal",textAlign:"center",onClick:function(){return n("signal")}})})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.SmartVend=void 0;var o=n(1),r=n(23),a=n(3),i=n(2);t.SmartVend=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createComponentVNode)(2,i.Section,{title:"Storage",buttons:!!c.isdryer&&(0,o.createComponentVNode)(2,i.Button,{icon:c.drying?"stop":"tint",onClick:function(){return n("Dry")},children:c.drying?"Stop drying":"Dry"}),children:0===c.contents.length&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:["Unfortunately, this ",c.name," is empty."]})||(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Item"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"center",children:c.verb?c.verb:"Dispense"})]}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:e.amount}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.Button,{content:"One",disabled:e.amount<1,onClick:function(){return n("Release",{name:e.name,amount:1})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Many",disabled:e.amount<=1,onClick:function(){return n("Release",{name:e.name})}})]})]},t)}))(c.contents)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Smes=void 0;var o=n(1),r=n(3),a=n(2);t.Smes=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return t=l.capacityPercent>=100?"good":l.inputting?"average":"bad",n=l.outputting?"good":l.charge>0?"average":"bad",(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Stored Energy",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:.01*l.capacityPercent,ranges:{good:[.5,Infinity],average:[.15,.5],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.Section,{title:"Input",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.inputAttempt?"sync-alt":"times",selected:l.inputAttempt,onClick:function(){return c("tryinput")},children:l.inputAttempt?"Auto":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:t,children:l.capacityPercent>=100?"Fully Charged":l.inputting?"Charging":"Not Charging"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Input",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.inputLevel/l.inputLevelMax,content:l.inputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Input",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(l.inputLevel/1e3),unit:"kW",width:"65px",minValue:0,maxValue:l.inputLevelMax/1e3,onChange:function(e,t){return c("input",{target:1e3*t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Available",children:l.inputAvailable})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.outputAttempt?"power-off":"times",selected:l.outputAttempt,onClick:function(){return c("tryoutput")},children:l.outputAttempt?"On":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:n,children:l.outputting?"Sending":l.charge>0?"Not Sending":"No Charge"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.outputLevel/l.outputLevelMax,content:l.outputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(l.outputLevel/1e3),unit:"kW",width:"65px",minValue:0,maxValue:l.outputLevelMax/1e3,onChange:function(e,t){return c("output",{target:1e3*t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Outputting",children:l.outputUsed})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SmokeMachine=void 0;var o=n(1),r=n(3),a=n(2);t.SmokeMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.TankContents,l=(i.isTankLoaded,i.TankCurrentVolume),u=i.TankMaxVolume,d=i.active,s=i.setting,p=(i.screen,i.maxSetting),m=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Dispersal Tank",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",selected:d,content:d?"On":"Off",onClick:function(){return n("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/u,ranges:{bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{initial:0,value:l||0})," / "+u]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Range",children:[1,2,3,4,5].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:s===e,icon:"plus",content:3*e,disabled:m0?"good":"bad",children:m})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{ranges:{good:[.66,Infinity],average:[.33,.66],bad:[-Infinity,.33]},minValue:0,maxValue:1,value:l,content:c+" W"})})})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Tracking",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:0===p,onClick:function(){return n("tracking",{mode:0})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:"Timed",selected:1===p,onClick:function(){return n("tracking",{mode:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:2===p,disabled:!f,onClick:function(){return n("tracking",{mode:2})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Azimuth",children:[(0===p||1===p)&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"52px",unit:"\xb0",step:1,stepPixelSize:2,minValue:-360,maxValue:720,value:u,onDrag:function(e,t){return n("azimuth",{value:t})}}),1===p&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"80px",unit:"\xb0/m",step:.01,stepPixelSize:1,minValue:-s-.01,maxValue:s+.01,value:d,format:function(e){return(Math.sign(e)>0?"+":"-")+Math.abs(e)},onDrag:function(e,t){return n("azimuth_rate",{value:t})}}),2===p&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mt:"3px",children:[u+" \xb0"," (auto)"]})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpaceHeater=void 0;var o=n(1),r=n(3),a=n(2);t.SpaceHeater=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Cell",disabled:!i.hasPowercell||!i.open,onClick:function(){return n("eject")}}),(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,disabled:!i.hasPowercell,onClick:function(){return n("power")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cell",color:!i.hasPowercell&&"bad",children:i.hasPowercell&&(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.powerLevel/100,content:i.powerLevel+"%",ranges:{good:[.6,Infinity],average:[.3,.6],bad:[-Infinity,.3]}})||"None"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Thermostat",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"18px",color:Math.abs(i.targetTemp-i.currentTemp)>50?"bad":Math.abs(i.targetTemp-i.currentTemp)>20?"average":"good",children:[i.currentTemp,"\xb0C"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:i.open&&(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.targetTemp),width:"65px",unit:"\xb0C",minValue:i.minTemp,maxValue:i.maxTemp,onChange:function(e,t){return n("target",{target:t})}})||i.targetTemp+"\xb0C"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",children:i.open?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"thermometer-half",content:"Auto",selected:"auto"===i.mode,onClick:function(){return n("mode",{mode:"auto"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fire-alt",content:"Heat",selected:"heat"===i.mode,onClick:function(){return n("mode",{mode:"heat"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fan",content:"Cool",selected:"cool"===i.mode,onClick:function(){return n("mode",{mode:"cool"})}})],4):"Auto"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider)]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpawnersMenu=void 0;var o=n(1),r=n(3),a=n(2);t.SpawnersMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.spawners||[];return(0,o.createComponentVNode)(2,a.Section,{children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name+" ("+e.amount_left+" left)",level:2,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Jump",onClick:function(){return n("jump",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Spawn",onClick:function(){return n("spawn",{name:e.name})}})],4),children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,mb:1,fontSize:"20px",children:e.short_desc}),(0,o.createComponentVNode)(2,a.Box,{children:e.flavor_text}),!!e.important_info&&(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,color:"bad",fontSize:"26px",children:e.important_info})]},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.StationAlertConsole=void 0;var o=n(1),r=n(3),a=n(2);t.StationAlertConsole=function(e){var t=(0,r.useBackend)(e).data.alarms||[],n=t.Fire||[],i=t.Atmosphere||[],c=t.Power||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Fire Alarms",children:(0,o.createVNode)(1,"ul",null,[0===n.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),n.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Atmospherics Alarms",children:(0,o.createVNode)(1,"ul",null,[0===i.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),i.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Alarms",children:(0,o.createVNode)(1,"ul",null,[0===c.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),c.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SuitStorageUnit=void 0;var o=n(1),r=n(3),a=n(2);t.SuitStorageUnit=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.locked,l=i.open,u=i.safeties,d=i.uv_active,s=i.occupied,p=i.suit,m=i.helmet,f=i.mask,h=i.storage;return(0,o.createFragment)([!(!s||!u)&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Biological entity detected in suit chamber. Please remove before continuing with operation."}),d&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Contents are currently being decontaminated. Please wait."})||(0,o.createComponentVNode)(2,a.Section,{title:"Storage",minHeight:"260px",buttons:(0,o.createFragment)([!l&&(0,o.createComponentVNode)(2,a.Button,{icon:c?"unlock":"lock",content:c?"Unlock":"Lock",onClick:function(){return n("lock")}}),!c&&(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-out-alt":"sign-in-alt",content:l?"Close":"Open",onClick:function(){return n("door")}})],0),children:c&&(0,o.createComponentVNode)(2,a.Box,{mt:6,bold:!0,textAlign:"center",fontSize:"40px",children:[(0,o.createComponentVNode)(2,a.Box,{children:"Unit Locked"}),(0,o.createComponentVNode)(2,a.Icon,{name:"lock"})]})||l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Helmet",children:(0,o.createComponentVNode)(2,a.Button,{icon:m?"square":"square-o",content:m||"Empty",disabled:!m,onClick:function(){return n("dispense",{item:"helmet"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suit",children:(0,o.createComponentVNode)(2,a.Button,{icon:p?"square":"square-o",content:p||"Empty",disabled:!p,onClick:function(){return n("dispense",{item:"suit"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mask",children:(0,o.createComponentVNode)(2,a.Button,{icon:f?"square":"square-o",content:f||"Empty",disabled:!f,onClick:function(){return n("dispense",{item:"mask"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Storage",children:(0,o.createComponentVNode)(2,a.Button,{icon:h?"square":"square-o",content:h||"Empty",disabled:!h,onClick:function(){return n("dispense",{item:"storage"})}})})]})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"recycle",content:"Decontaminate",disabled:s&&u,textAlign:"center",onClick:function(){return n("uv")}})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Tank=void 0;var o=n(1),r=n(3),a=n(2);t.Tank=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.tankPressure/1013,content:i.tankPressure+" kPa",ranges:{good:[.35,Infinity],average:[.15,.35],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:i.ReleasePressure===i.minReleasePressure,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.releasePressure),width:"65px",unit:"kPa",minValue:i.minReleasePressure,maxValue:i.maxReleasePressure,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:i.ReleasePressure===i.maxReleasePressure,onClick:function(){return n("pressure",{pressure:"max"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"",disabled:i.ReleasePressure===i.defaultReleasePressure,onClick:function(){return n("pressure",{pressure:"reset"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.TankDispenser=void 0;var o=n(1),r=n(3),a=n(2);t.TankDispenser=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plasma",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.plasma?"square":"square-o",content:"Dispense",disabled:!i.plasma,onClick:function(){return n("plasma")}}),children:i.plasma}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Oxygen",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.oxygen?"square":"square-o",content:"Dispense",disabled:!i.oxygen,onClick:function(){return n("oxygen")}}),children:i.oxygen})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Teleporter=void 0;var o=n(1),r=n(3),a=n(2);t.Teleporter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.calibrated,l=i.calibrating,u=i.power_station,d=i.regime_set,s=i.teleporter_hub,p=i.target;return(0,o.createComponentVNode)(2,a.Section,{children:!u&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No power station linked."})||!s&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No hub linked."})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Regime",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Change Regime",onClick:function(){return n("regimeset")}}),children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Set Target",onClick:function(){return n("settarget")}}),children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Calibration",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Calibrate Hub",onClick:function(){return n("calibrate")}}),children:l&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"In Progress"})||c&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Optimal"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Sub-Optimal"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ThermoMachine=void 0;var o=n(1),r=n(20),a=n(3),i=n(2);t.ThermoMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.temperature,format:function(e){return(0,r.toFixed)(e,2)}})," K"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.pressure,format:function(e){return(0,r.toFixed)(e,2)}})," kPa"]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,i.NumberInput,{animated:!0,value:Math.round(c.target),unit:"K",width:"62px",minValue:Math.round(c.min),maxValue:Math.round(c.max),step:5,stepPixelSize:3,onDrag:function(e,t){return n("target",{target:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"fast-backward",disabled:c.target===c.min,title:"Minimum temperature",onClick:function(){return n("target",{target:c.min})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",disabled:c.target===c.initial,title:"Room Temperature",onClick:function(){return n("target",{target:c.initial})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"fast-forward",disabled:c.target===c.max,title:"Maximum Temperature",onClick:function(){return n("target",{target:c.max})}})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.TurbineComputer=void 0;var o=n(1),r=n(3),a=n(2);t.TurbineComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=Boolean(i.compressor&&!i.compressor_broke&&i.turbine&&!i.turbine_broke);return(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:i.online?"power-off":"times",content:i.online?"Online":"Offline",selected:i.online,disabled:!c,onClick:function(){return n("toggle_power")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reconnect",onClick:function(){return n("reconnect")}})],4),children:!c&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Compressor Status",color:!i.compressor||i.compressor_broke?"bad":"good",children:i.compressor_broke?i.compressor?"Offline":"Missing":"Online"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Status",color:!i.turbine||i.turbine_broke?"bad":"good",children:i.turbine_broke?i.turbine?"Offline":"Missing":"Online"})]})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Speed",children:[i.rpm," RPM"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Internal Temp",children:[i.temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Generated Power",children:i.power})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Uplink=void 0;var o=n(1),r=n(29),a=n(19),i=n(2);var c=function(e){var t,n;function r(){var t;return(t=e.call(this)||this).state={hoveredItem:{},currentSearch:""},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.setHoveredItem=function(e){this.setState({hoveredItem:e})},c.setSearchText=function(e){this.setState({currentSearch:e})},c.render=function(){var e=this,t=this.props.state,n=t.config,r=t.data,c=n.ref,u=r.compact_mode,d=r.lockable,s=r.telecrystals,p=r.categories,m=void 0===p?[]:p,f=this.state,h=f.hoveredItem,C=f.currentSearch;return(0,o.createComponentVNode)(2,i.Section,{title:(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:s>0?"good":"bad",children:[s," TC"]}),buttons:(0,o.createFragment)([(0,o.createTextVNode)("Search"),(0,o.createComponentVNode)(2,i.Input,{value:C,onInput:function(t,n){return e.setSearchText(n)},ml:1,mr:1}),(0,o.createComponentVNode)(2,i.Button,{icon:u?"list":"info",content:u?"Compact":"Detailed",onClick:function(){return(0,a.act)(c,"compact_toggle")}}),!!d&&(0,o.createComponentVNode)(2,i.Button,{icon:"lock",content:"Lock",onClick:function(){return(0,a.act)(c,"lock")}})],0),children:C.length>0?(0,o.createVNode)(1,"table","Table",(0,o.createComponentVNode)(2,l,{compact:!0,items:m.flatMap((function(e){return e.items||[]})).filter((function(e){var t=C.toLowerCase();return String(e.name+e.desc).toLowerCase().includes(t)})),hoveredItem:h,onBuyMouseOver:function(t){return e.setHoveredItem(t)},onBuyMouseOut:function(t){return e.setHoveredItem({})},onBuy:function(e){return(0,a.act)(c,"buy",{item:e.name})}}),2):(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:m.map((function(t){var n=t.name,r=t.items;if(null!==r)return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:n+" ("+r.length+")",children:function(){return(0,o.createComponentVNode)(2,l,{compact:u,items:r,hoveredItem:h,telecrystals:s,onBuyMouseOver:function(t){return e.setHoveredItem(t)},onBuyMouseOut:function(t){return e.setHoveredItem({})},onBuy:function(e){return(0,a.act)(c,"buy",{item:e.name})}})}},n)}))})})},r}(o.Component);t.Uplink=c;var l=function(e){var t=e.items,n=e.hoveredItem,a=e.telecrystals,c=e.compact,l=e.onBuy,u=e.onBuyMouseOver,d=e.onBuyMouseOut,s=n&&n.cost||0;return c?(0,o.createComponentVNode)(2,i.Table,{children:t.map((function(e){var t=n&&n.name!==e.name,c=a-s1?r-1:0),i=1;i1?t-1:0),o=1;o MechBayPowerConsole, scrollable: false, }, + nanite_chamber_control: { + component: () => NaniteChamberControl, + scrollable: true, + }, + nanite_cloud_control: { + component: () => NaniteCloudControl, + scrollable: true, + }, + nanite_program_hub: { + component: () => NaniteProgramHub, + scrollable: true, + }, + nanite_programmer: { + component: () => NaniteProgrammer, + scrollable: true, + }, + nanite_remote: { + component: () => NaniteRemote, + scrollable: true, + }, mulebot: { component: () => Mule, scrollable: false,