diff --git a/_maps/map_files/LayeniaStation/LayeniaStation.dmm b/_maps/map_files/LayeniaStation/LayeniaStation.dmm
index b7bba568..77f65489 100644
--- a/_maps/map_files/LayeniaStation/LayeniaStation.dmm
+++ b/_maps/map_files/LayeniaStation/LayeniaStation.dmm
@@ -462,12 +462,12 @@
"bnq" = (/obj/effect/decal/cleanable/oil,/turf/open/floor/plating/asteroid/layenia,/area/layenia)
"bnr" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/turf/open/floor/plasteel/white,/area/medical/virology)
"bnt" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plasteel/stairs{dir = 4},/area/bridge)
-"bnu" = (/obj/machinery/door/airlock/maintenance{dir = 4; name = "Maintenance Access"; req_access_txt = "12"},/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plating,/area/maintenance/port)
+"bnu" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/door/airlock/public/glass{dir = 4; name = "Art Gallery"},/turf/open/floor/wood,/area/library/lounge)
"bnv" = (/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/structure/reagent_dispensers/water_cooler,/obj/machinery/atmospherics/pipe/simple/purple/hidden{dir = 6},/turf/open/floor/plasteel/checker,/area/engine/atmos)
"bnx" = (/turf/open/floor/wood,/area/maintenance/starboard/aft)
"bnK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/closed/wall/r_wall,/area/engine/break_room)
"bnR" = (/obj/machinery/atmospherics/pipe/simple/purple/visible{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/camera{c_tag = "Turbine Access"; dir = 4; network = list("turbine")},/turf/open/floor/plasteel{dir = 1; icon_state = "floor_plate"},/area/maintenance/disposal/incinerator)
-"boq" = (/obj/structure/cable{icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 10},/turf/open/floor/plating,/area/maintenance/port)
+"boq" = (/obj/structure/cable{icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 10},/turf/open/floor/plasteel/dark,/area/library/lounge)
"bor" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/components/binary/valve{dir = 4; name = "Mix to Space"},/turf/open/floor/plasteel{dir = 1; icon_state = "floor_plate"},/area/maintenance/disposal/incinerator)
"boO" = (/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red,/obj/structure/chair/comfy/black{dir = 4},/obj/effect/landmark/start/security_officer,/turf/open/floor/plasteel,/area/security/main)
"boR" = (/obj/machinery/atmospherics/pipe/manifold/general/visible,/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel{dir = 1; icon_state = "floor_plate"},/area/maintenance/disposal/incinerator)
@@ -953,7 +953,7 @@
"cEt" = (/obj/structure/toilet{dir = 1},/obj/item/soap/nanotrasen,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{pixel_y = -1},/turf/open/floor/plasteel/freezer,/area/security/prison)
"cEy" = (/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/machinery/light{pixel_y = -1},/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/turf/open/floor/plasteel{dir = 1; icon_state = "floor_plate"},/area/crew_quarters/fitness/pool)
"cEC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 5; name = "scrubbers pipe"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 5; name = "air supply pipe"},/obj/structure/cable{icon_state = "1-2"},/obj/structure/disposalpipe/junction{dir = 1},/turf/open/floor/plating,/area/maintenance/port)
-"cEE" = (/obj/structure/table,/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plating,/area/maintenance/port)
+"cEE" = (/obj/structure/sign/painting/library_private{pixel_y = -24},/obj/machinery/door/window/northright{name = "Library Desk Door"; req_access_txt = "37"},/obj/structure/table/wood/fancy,/turf/open/floor/plasteel/dark,/area/library/lounge)
"cEO" = (/obj/structure/chair/stool,/obj/structure/cable{icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 6},/turf/open/floor/plasteel/white,/area/medical/virology)
"cEW" = (/obj/structure/disposalpipe/junction/yjunction{dir = 4},/turf/closed/wall,/area/quartermaster/sorting)
"cFg" = (/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/tile/neutral{dir = 4},/turf/open/floor/plasteel{icon_state = "floor_plate"},/area/hallway/primary/fore)
@@ -1189,7 +1189,7 @@
"dmN" = (/turf/open/floor/plasteel/dark,/area/crew_quarters/bar)
"dmQ" = (/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/red{dir = 8},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{dir = 1; name = "scrubbers pipe"},/turf/open/floor/plasteel{dir = 1; icon_state = "floor_plate"},/area/hallway/primary/port)
"dmR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/turf/open/floor/plasteel,/area/engine/engineering)
-"dmU" = (/obj/structure/table,/obj/item/storage/box/lights/mixed{pixel_x = -3; pixel_y = 5},/turf/open/floor/plating,/area/maintenance/port)
+"dmU" = (/obj/structure/sign/painting/library_private{pixel_y = -24},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1; layer = 2.9},/obj/structure/table/wood/fancy,/turf/open/floor/plasteel/dark,/area/library/lounge)
"dmV" = (/obj/structure/flora/crystal/small/growth{icon_state = "crystalgrowth2"},/turf/open/floor/plating/asteroid/layenia/garden,/area/hallway/primary/aft)
"dmW" = (/obj/structure/closet,/obj/effect/spawner/lootdrop/maintenance{lootcount = 3; name = "3maintenance loot spawner"},/turf/open/floor/plating,/area/maintenance/fore)
"dmZ" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/machinery/camera{c_tag = "Medbay South-East"; dir = 8; network = list("ss13","medbay")},/turf/open/floor/plasteel/white,/area/medical/sleeper)
@@ -1217,6 +1217,7 @@
"dpU" = (/obj/structure/cable{icon_state = "1-8"},/obj/structure/cable{icon_state = "1-2"},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/dark,/area/engine/engine_smes)
"dpW" = (/obj/effect/decal/cleanable/oil,/turf/open/floor/plasteel,/area/engine/engineering)
"dpZ" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 6},/obj/machinery/meter,/turf/open/floor/plasteel,/area/engine/atmos)
+"dqh" = (/obj/machinery/door/airlock/public/glass{name = "Art Gallery"},/turf/open/floor/plasteel/dark,/area/library/lounge)
"dqt" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 8},/turf/open/floor/plasteel/dark,/area/ai_monitored/turret_protected/ai)
"dqu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 5; name = "scrubbers pipe"},/turf/open/floor/plasteel,/area/security/prison)
"dqF" = (/obj/structure/table,/obj/item/screwdriver{pixel_y = 16},/obj/item/wirecutters,/obj/item/stack/cable_coil{pixel_x = -3; pixel_y = 3},/obj/item/stack/cable_coil,/turf/open/floor/plasteel/dark,/area/storage/tech)
@@ -1589,7 +1590,7 @@
"etU" = (/obj/machinery/conveyor{id = "garbage"},/obj/item/trash/raisins,/turf/open/floor/plating,/area/maintenance/disposal)
"eul" = (/obj/structure/cable{icon_state = "4-8"},/obj/structure/cable{icon_state = "1-4"},/obj/structure/cable{icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 5; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 5; name = "scrubbers pipe"},/obj/structure/disposalpipe/segment{dir = 5},/obj/effect/turf_decal/loading_area{dir = 4; icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel/white/side{dir = 8},/area/crew_quarters/heads/hor)
"eut" = (/obj/structure/chair/stool{pixel_y = 8},/obj/effect/turf_decal/loading_area{dir = 4; icon_state = "drain"; name = "drain"},/turf/open/floor/wood{icon_state = "wood-broken4"},/area/maintenance/port/aft)
-"euu" = (/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/tile/brown,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/machinery/light{dir = 1; pixel_y = 19},/turf/open/floor/plasteel,/area/hallway/primary/aft)
+"euu" = (/obj/structure/sign/painting/library_private{pixel_y = -24},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1; layer = 2.9},/obj/structure/table/wood/fancy,/turf/open/floor/plasteel/dark,/area/library/lounge)
"euA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{dir = 5},/turf/open/floor/plasteel,/area/engine/engineering)
"euB" = (/obj/structure/lattice/catwalk,/obj/machinery/light{dir = 1; pixel_y = 19},/obj/structure/railing{dir = 8},/obj/structure/railing,/turf/open/chasm/cloud,/area/layenia/cloudlayer)
"euL" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/turf/open/floor/plasteel/stairs/left,/area/security/main)
@@ -1714,7 +1715,7 @@
"eLy" = (/obj/machinery/photocopier,/obj/machinery/light{pixel_y = -1},/turf/open/floor/wood,/area/science/research)
"eLA" = (/obj/machinery/gulag_teleporter,/obj/machinery/light{dir = 8; pixel_x = -7; pixel_y = 0},/turf/open/floor/plasteel/dark,/area/security/processing)
"eLG" = (/obj/effect/spawner/structure/window/reinforced,/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"},/turf/open/floor/plating,/area/gateway)
-"eLI" = (/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plating,/area/maintenance/port)
+"eLI" = (/obj/structure/cable{icon_state = "4-8"},/obj/structure/sign/painting/library{pixel_y = 28},/turf/open/floor/plasteel/dark,/area/library/lounge)
"eLL" = (/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/structure/table,/obj/item/folder/red,/obj/item/pen,/turf/open/floor/plasteel,/area/security/main)
"eMc" = (/obj/machinery/atmospherics/components/unary/outlet_injector/on{dir = 1; frequency = 1441; id = "inc_in"},/obj/structure/sign/warning/vacuum/external{pixel_x = -32},/turf/open/floor/engine/vacuum,/area/science/mixing)
"eMm" = (/turf/closed/wall/r_wall,/area/crew_quarters/toilet/restrooms)
@@ -1897,7 +1898,7 @@
"foo" = (/obj/structure/window{dir = 1},/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/machinery/light{dir = 4; pixel_x = 7; pixel_y = 0},/obj/machinery/camera{c_tag = "Arcade East"; dir = 9},/turf/open/floor/plasteel/dark,/area/arcade)
"foG" = (/obj/machinery/atmospherics/components/unary/vent_pump/on/layer3{dir = 4; name = "air vent"},/turf/open/floor/wood,/area/crew_quarters/fitness)
"foH" = (/obj/structure/lattice/catwalk,/obj/structure/railing{dir = 1},/turf/open/chasm/cloud,/area/layenia/cloudlayer)
-"foU" = (/obj/structure/cable{icon_state = "1-2"},/obj/structure/railing{dir = 4},/turf/open/floor/plasteel/stairs/medium,/area/maintenance/port)
+"foU" = (/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plasteel/dark,/area/library/lounge)
"foY" = (/obj/structure/chair/wood/normal{dir = 4},/turf/open/floor/wood,/area/maintenance/fore)
"fpb" = (/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/loading_area{dir = 4; icon_state = "drain"; name = "drain"},/turf/open/floor/carpet/red,/area/crew_quarters/heads/hos)
"fpg" = (/obj/item/crowbar/red,/obj/item/wrench,/obj/effect/turf_decal/stripes/line{dir = 6},/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
@@ -3629,7 +3630,7 @@
"kkx" = (/obj/effect/turf_decal/tile/brown{dir = 4},/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer3{dir = 4; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel{icon_state = "floor_plate"},/area/hallway/primary/aft)
"kkA" = (/obj/item/twohanded/required/kirbyplants/random,/obj/machinery/light{pixel_y = -1},/turf/open/floor/plasteel/cafeteria{dir = 5},/area/maintenance/port/aft)
"kkB" = (/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red,/obj/structure/disposalpipe/segment{dir = 6},/turf/open/floor/plasteel{dir = 8; icon_state = "floor_plate"},/area/security/main)
-"kkD" = (/obj/structure/chair/stool,/obj/structure/railing,/turf/open/floor/plating,/area/maintenance/port)
+"kkD" = (/turf/open/floor/plasteel/dark,/area/library/lounge)
"kkJ" = (/obj/effect/turf_decal/tile/yellow,/obj/structure/chair/office/light{dir = 8},/turf/open/floor/plasteel/white/side{dir = 8},/area/bridge)
"klb" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{dir = 4; name = "air scrubber"},/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plasteel,/area/hallway/secondary/service)
"klf" = (/obj/machinery/door/firedoor,/turf/open/floor/plasteel{icon_state = "floor_plate"},/area/crew_quarters/locker)
@@ -6211,7 +6212,7 @@
"rsN" = (/obj/machinery/door/airlock/public/glass{dir = 4; name = "Hydroponics"; req_access_txt = "35"},/obj/machinery/door/firedoor,/turf/open/floor/plasteel,/area/hydroponics)
"rsU" = (/obj/machinery/door/airlock/maintenance{dir = 8; name = "Shop Maintenance Access"; req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/turf/open/floor/plasteel,/area/security/vacantoffice/a)
"rta" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/structure/sign/warning/nosmoking{pixel_y = -32},/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel/white,/area/medical/sleeper)
-"rtf" = (/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_access_txt = "12"},/obj/structure/disposalpipe/segment,/turf/open/floor/plating,/area/maintenance/port)
+"rtf" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/public/glass{name = "Art Gallery"},/turf/open/floor/plasteel/dark,/area/library/lounge)
"rtj" = (/obj/machinery/light{dir = 1; pixel_y = 16},/obj/machinery/atmospherics/pipe/layer_manifold{dir = 4},/turf/open/floor/plating,/area/engine/atmos)
"rtk" = (/obj/structure/table,/obj/machinery/microwave{pixel_y = 6},/turf/open/floor/plasteel/dark/side{dir = 8},/area/bridge)
"rtv" = (/obj/structure/closet/radiation,/obj/effect/turf_decal/stripes/line{dir = 9},/turf/open/floor/plasteel/dark,/area/science/misc_lab)
@@ -6677,7 +6678,7 @@
"sDl" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/structure/closet/l3closet/janitor,/obj/effect/turf_decal/tile/purple{dir = 8},/turf/open/floor/plasteel,/area/janitor)
"sDp" = (/obj/machinery/space_heater,/turf/open/floor/plasteel{dir = 4; icon_state = "floor_plate"},/area/quartermaster/warehouse)
"sDI" = (/obj/item/twohanded/required/kirbyplants/random,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/machinery/light{dir = 1; pixel_y = 16},/obj/machinery/camera{c_tag = "Arrivals Bay 2 North"; dir = 4},/turf/open/floor/plasteel/white/corner{dir = 1},/area/hallway/secondary/entry)
-"sDQ" = (/obj/structure/cable{icon_state = "2-4"},/turf/open/floor/plating,/area/maintenance/port)
+"sDQ" = (/obj/structure/cable{icon_state = "2-4"},/obj/structure/sign/painting/library{pixel_y = 28},/turf/open/floor/plasteel/dark,/area/library/lounge)
"sEb" = (/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer3{name = "air supply pipe"},/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer1{name = "scrubbers pipe"},/obj/structure/cable{icon_state = "4-8"},/obj/structure/cable{icon_state = "1-4"},/obj/structure/cable{icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 5},/turf/open/floor/plasteel/white,/area/science/research)
"sEr" = (/obj/machinery/atm{pixel_y = 30},/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white/corner{dir = 1},/area/hallway/secondary/entry)
"sEt" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 9; name = "air supply pipe"},/obj/structure/cable{icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 9},/turf/open/floor/wood,/area/science/research)
@@ -7347,6 +7348,7 @@
"uqP" = (/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 8},/turf/open/indestructible/concrete/smooth,/area/layenia)
"uqU" = (/obj/effect/turf_decal/loading_area{dir = 4; icon_state = "drain"; name = "drain"},/turf/open/floor/carpet/black,/area/crew_quarters/bar)
"uqV" = (/obj/structure/table,/obj/item/toy/figure/chef{pixel_y = 5},/turf/open/floor/plasteel/dark,/area/crew_quarters/kitchen)
+"uqZ" = (/obj/structure/cable{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance{dir = 8; name = "Library Maintenance"; req_access_txt = "12"},/turf/open/floor/plating,/area/maintenance/port)
"urf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/turf/open/floor/plasteel,/area/engine/engineering)
"urh" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/turf/open/floor/plasteel{icon_state = "floor_plate"},/area/engine/break_room)
"uri" = (/obj/structure/chair/office/dark{dir = 4},/obj/machinery/light{dir = 8; pixel_x = -7; pixel_y = 0},/turf/open/floor/wood,/area/engine/engineering)
@@ -8797,6 +8799,7 @@
"ygc" = (/obj/machinery/door/airlock/security/glass{dir = 8; name = "Equipment Room"; req_access_txt = "1"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/turf/open/floor/plasteel/showroomfloor,/area/security/main)
"ygj" = (/obj/structure/table,/obj/item/storage/toolbox/electrical{pixel_x = -3; pixel_y = 3},/obj/item/storage/toolbox/mechanical,/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 7},/obj/effect/turf_decal/loading_area{dir = 8; icon_state = "drain"; name = "drain"},/turf/open/floor/plating,/area/ai_monitored/storage/satellite)
"ygo" = (/turf/open/floor/plasteel/dark,/area/hallway/secondary/entry)
+"ygA" = (/obj/machinery/door/airlock/public/glass{dir = 4; name = "Art Gallery"},/turf/open/floor/wood,/area/library/lounge)
"ygM" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/structure/cable{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plating,/area/maintenance/starboard/aft)
"ygN" = (/obj/effect/turf_decal/bot,/obj/structure/closet/crate/medical,/turf/open/floor/plasteel,/area/quartermaster/warehouse)
"ygQ" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/structure/cable{icon_state = "4-8"},/obj/effect/landmark/xeno_spawn,/turf/open/floor/plasteel{dir = 8; icon_state = "floor_plate"},/area/tcommsat/computer)
@@ -8997,11 +9000,11 @@ gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgT
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWiEgbxKjXjpTbvJJgTWmapgTWgTWgPqiEgnusgPqgTWgTWgTWgTWgPqiEgwOpmGJnlkqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPnlkyankmGlWBlWBmmkpwFvKTrmtoFbvkrghvpwFanmpbjsCLsCLsCLqAReSMprnplzoRXjMGkOBwbScRskNHhSriWlcvMnNhflyaYxxazqpKkVqcvMnpRmWLmPCrifrifrifsVcoUbwdppVFegAoNBfiTtYBeuSmWWxlFrDkcDobGjqMSvQsbfoqLawOlgZviALxoipqIxlkhfzyjlpRbeoZwbEoNVdvNpLTfufnusgTWgTWgTWgTWgTWiEglVsstxkpketMrlKpfGvEPbhIofllzmerNkIrqLWlzmoflabTtYRdyJdyJofloQEuIpuIpuIpmRgeoNtBccWzprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgGFfoHfoHfoHikngTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWiEgbxKeDSpypvJJgTWmapgTWgTWgGFwOpwOpfoHikngTWgTWgTWgPqiEgwOpmGJbMkqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPnlkslElWBqNDqUosXTrrppwFjLJbsLjLJpwFpwFwrcsCLvgKhwFsuMhLshdPckcfOSfmwuvLwIukmXuvLuvLuvLeCUcvMsBHaHhaHhqQUamUtstcvMsVcsVcsVcsVcsVcsVcsVckukwdpsnjegAmXMdSfdSfdSxjXukAAlEvvoGamaqikvQsmyjegAdcFwOqdcFirxwIWxEkcBqcoMpqIvUFwbEoNVdvNnndfufnusgPqgPqgPqgPqgPqiEglVsrRRlRSxxgwkcfdUyaQaBGofllzmvDxotolzmrcMoflabTtYRsivsivofloQEvcZlOAaxelOArzqtBccWzprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWiEgiQcftOkdknusgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWiEgvJJvJJvJJvJJgPqmapgPqgPqiEgvJJvJJvJJnusgTWgTWgTWgPqiEgwOpmGJnlkqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPnlkyanfxniGupDetdFugWcHDtIugLYmvHgEVpzWkKosCLhBXcQnsCLrKbeokxPxcDmrxvuvLnovcEWpFlxkOuvLcECnJxpKUwJRoaioSGfyGtstcvMsDQeLIeLIeLIeLIeLIbnuoRZrsrsnjegAdSfdSfdSfrIGwbVgzrfTlpOVamaqMSvQsqMFegAdxfnKPdxfirxshpjNCojhjTPiFYbbkwbEoNVdvNrrYdxfvJJwjKwjKwjKwjKwjKvJJofloflofloflofloflofloflofldERrVfblGdERdERofljvStYRwYosGAofljyWerFfVPlOAcRMrzqtBccWzprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgPqgPqgPqiEgorldiGpggnusgPqgfhgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
-gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWiEgwOpgCVwOpwOpoQhpPQgTWgTWiEgdgCvBZncTnusgTWgTWgTWgPqiEgwOpmGJnlkqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPnlkyanfxnuYynhImwjfxnmLhoNCbmyoNCukfoNCrWhsCLkFbkcWsCLtNBcLxrmDhZwiPEuvLvXcxqyhQPtZSuvLqRwcvMrugcwceGOqdwiMmfjscvMcgIkkDdmUcEEdvzioGbxOhJOfbBhjlegAtAThvGtWgplngVferEerEerEuPVqMSvQsjoaegAleooIofeXirxmuUmKqjZZmSNpqIqXvwbEoNVdvNhxjfufnusgPqgPqgPqgPqgPqiEgsjelzmlzmlzmlzmoflpWEmaxafpjbhbKchhroDlryoiDwpzdtYRvXyvXyoflgAUoflgwAuIpuIpeoNtBccWzprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWiEgrCwwyjtmAnusgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
-gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgfhgPqvJJvJJvJJvJJvJJgTWgTWgTWgTWiEgvJJvJJvJJnusgTWgTWgTWgPqiEgwOpmGJnlkqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPnlkyanfxnuvNbWRuiVatDguXoNCbmyoNCmlroNCupcsCLtKWgPasCLrjXrjXrjXsCLdGcuvLagLkbOwmbobouvLlHHcvMcvMcvMcvMcvMcvMcvMcvMfoUeDKdvzdvzdvzdvzbxOeQXbtJfSregAegAegAegAegAhjFmvprWVexXfHgsHXwgehXregAhiIfkvsUZirxqRbckUpqIpqIjEQtztwbEgtjcfGhxjfufnusgTWgTWgTWgTWgTWiEgsjelzmbXXlzmsAGoflhNBmaRaFPjbhfsCycQwLWeECtnmxyKbaLjCZvczvavvTlofloQEuIprnOrzqtBccWzprtprtprtprtprtprtprtprtprtprtprtprtprtprtprtprtprtprtprtprtjeZwOpnusgPqgTWgTWgTWmcCxejxejxejpPQgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
-gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgTWwTpxejxejxejxAUgTWgTWgTWgPqiEgwOpmGJnlkqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPnlkslElWBxketsPxUrfxnguXbYtbmybmyukfcOZrWhsCLsCLsCLsCLfruqWHcLBmPfplNuvLuzUpPIlhmrixuvLuykxurxurxurxurxurxurxurxurboquSzdvziIfoHXkQMuNLqgRaxBsnjahmdmVoHXyhwegAmatpTlhIOdZWegAjTteQpjTtegArgRqLfhTRirxuoraqluorkqIocHocHocHoNVdvNhxjfufnusgPqgPqgPqgPqgPqiEgsjelzmlzmlzmlzmofliNSbgjtCqbkThsAgxKrBhnadkVZoIjsAntwjkGrmghhHQofloQElOAlOArzqtBcfVcxDVaCcxDVxDVxDVxDVxDVxDVxDVxDVxDVxDVxDVxDVxDVxDVxDVxDVaCcxDVpQYwOpnusgPqgTWgTWgTWgTWgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
-gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgPqiEgwOpmGJnlkqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPnlkyanlWBlWBlWBlWBlWBjGMuefssDrjFukfpPxrWhnVWhUVlDBxdqbDZfLsbDZchQhJBuvLgZotPegZokmXuvLuvLuvLbxObxObxObxObxObxObxOrtfbxObxObAZpzFaOGxMHqgRaxBsnjhMkaxKqDJaxKegAegAegAegAegAegAroPxIaphCegAdxfoCLdxfirxroPxIaphCjOIxKMhPnocHoNVdvNrrYdxfvJJwjKwjKwjKwjKwjKvJJofldQUsbssbsdQUofloflmBfiGUkGrgdbqHUwCHgdbcUZqHUgdbeBqahyppyfpPofloQEuIpiDkeoNtBchWHeAAghbeAAxbEvpDgyfeAAghbeAAuXnuXneAAghbeAAcUUvpDyeOeAAghbeAAuXnwOpnusgPqgTWgTWgTWgTWgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
-gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgPqiEgwOpmGJbMkqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPnlkyanjUYnajrfynazuAAhcguefguXbmyukfqxndTscfCsXSsXSsXSsXScfCsXSrpMfNfybzglLbAyuzflGbfRCrrwuvLokZaITjSPczUtkejYtwnWcpDeuuxDlwnWwnWwnWwnWwdpaxBwdpjUEjUEjUEjUEkzPimcwNSjUEjUEoxwjUEjUEjUEjUEjUEjUEeoDaGnjUEjUEitnrjujvpgZjocHoNVdvNnMHfufnusgPqgPqgPqgPqgPqiEgjbhbqRmfTlHLuHBnLLoflqnqiGUmghrtvofljbhjbhjbhoflpEGhNacQpofloflofloQEuIplOAeoNjXChWHdbTlQwdbTwsTcaKnnIdbTlQwdbTuXnuXndbTlQwdbTmikcaKvxrdbTlQwdbTuXnwOpnusgPqgTWgTWgTWgTWgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
+gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWiEgwOpgCVwOpwOpoQhpPQgTWgTWiEgdgCvBZncTnusgTWgTWgTWgPqiEgwOpmGJnlkqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPnlkyanfxnuYynhImwjfxnmLhoNCbmyoNCukfoNCrWhsCLkFbkcWsCLtNBcLxrmDhZwiPEuvLvXcxqyhQPtZSuvLqRwcvMrugcwceGOqdwiMmfjscvMfoUkkDdmUcEEeuukkDygAhJOfbBhjlegAtAThvGtWgplngVferEerEerEuPVqMSvQsjoaegAleooIofeXirxmuUmKqjZZmSNpqIqXvwbEoNVdvNhxjfufnusgPqgPqgPqgPqgPqiEgsjelzmlzmlzmlzmoflpWEmaxafpjbhbKchhroDlryoiDwpzdtYRvXyvXyoflgAUoflgwAuIpuIpeoNtBccWzprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWiEgrCwwyjtmAnusgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
+gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgfhgPqvJJvJJvJJvJJvJJgTWgTWgTWgTWiEgvJJvJJvJJnusgTWgTWgTWgPqiEgwOpmGJnlkqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPnlkyanfxnuvNbWRuiVatDguXoNCbmyoNCmlroNCupcsCLtKWgPasCLrjXrjXrjXsCLdGcuvLagLkbOwmbobouvLlHHcvMcvMcvMcvMcvMcvMcvMcvMfoUkkDbxObxObxObxObxOeQXbtJfSregAegAegAegAegAhjFmvprWVexXfHgsHXwgehXregAhiIfkvsUZirxqRbckUpqIpqIjEQtztwbEgtjcfGhxjfufnusgTWgTWgTWgTWgTWiEgsjelzmbXXlzmsAGoflhNBmaRaFPjbhfsCycQwLWeECtnmxyKbaLjCZvczvavvTlofloQEuIprnOrzqtBccWzprtprtprtprtprtprtprtprtprtprtprtprtprtprtprtprtprtprtprtprtjeZwOpnusgPqgTWgTWgTWmcCxejxejxejpPQgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
+gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgTWwTpxejxejxejxAUgTWgTWgTWgPqiEgwOpmGJnlkqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPnlkslElWBxketsPxUrfxnguXbYtbmybmyukfcOZrWhsCLsCLsCLsCLfruqWHcLBmPfplNuvLuzUpPIlhmrixuvLuykxurxurxurxurxurxurxuruqZboqkkDbxOiIfoHXkQMuNLqgRaxBsnjahmdmVoHXyhwegAmatpTlhIOdZWegAjTteQpjTtegArgRqLfhTRirxuoraqluorkqIocHocHocHoNVdvNhxjfufnusgPqgPqgPqgPqgPqiEgsjelzmlzmlzmlzmofliNSbgjtCqbkThsAgxKrBhnadkVZoIjsAntwjkGrmghhHQofloQElOAlOArzqtBcfVcxDVaCcxDVxDVxDVxDVxDVxDVxDVxDVxDVxDVxDVxDVxDVxDVxDVxDVaCcxDVpQYwOpnusgPqgTWgTWgTWgTWgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
+gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgPqiEgwOpmGJnlkqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPnlkyanlWBlWBlWBlWBlWBjGMuefssDrjFukfpPxrWhnVWhUVlDBxdqbDZfLsbDZchQhJBuvLgZotPegZokmXuvLuvLuvLbxObxObxObxObxObxObxOrtfdqhbxObAZpzFaOGxMHqgRaxBsnjhMkaxKqDJaxKegAegAegAegAegAegAroPxIaphCegAdxfoCLdxfirxroPxIaphCjOIxKMhPnocHoNVdvNrrYdxfvJJwjKwjKwjKwjKwjKvJJofldQUsbssbsdQUofloflmBfiGUkGrgdbqHUwCHgdbcUZqHUgdbeBqahyppyfpPofloQEuIpiDkeoNtBchWHeAAghbeAAxbEvpDgyfeAAghbeAAuXnuXneAAghbeAAcUUvpDyeOeAAghbeAAuXnwOpnusgPqgTWgTWgTWgTWgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
+gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgPqiEgwOpmGJbMkqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPnlkyanjUYnajrfynazuAAhcguefguXbmyukfqxndTscfCsXSsXSsXSsXScfCsXSrpMfNfybzglLbAyuzflGbfRCrrwuvLokZaITjSPczUtkejYtwnWcpDwnWxDlwnWwnWwnWwnWwdpaxBwdpjUEjUEjUEjUEkzPimcwNSjUEjUEoxwjUEjUEjUEjUEjUEjUEeoDaGnjUEjUEitnrjujvpgZjocHoNVdvNnMHfufnusgPqgPqgPqgPqgPqiEgjbhbqRmfTlHLuHBnLLoflqnqiGUmghrtvofljbhjbhjbhoflpEGhNacQpofloflofloQEuIplOAeoNjXChWHdbTlQwdbTwsTcaKnnIdbTlQwdbTuXnuXndbTlQwdbTmikcaKvxrdbTlQwdbTuXnwOpnusgPqgTWgTWgTWgTWgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgGFfoHfoHfoHikngTWgTWgTWgTWgGFfoHfoHfoHikngTWgTWgTWgPqiEgwOpmGJnlkqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPnlkyanjUYjUYrfyrfyuAAwWzuefguXbYtocxiKjjeldoHneknekneknekdoHnekuPsgyEqwypzEwkLeNyoTudrxwfQybzhoeqiJmojktamojnnTjdxhnvsdYsdYpfXsdYsdYeHMbmUjZQmojmojmojmojmojmojmojmojmojmojktarqmlJbaBTmojmojmojyiBjdxrsrwdpdvAcAwmzelgnkurqcmdkSpLTfufnusgTWgTWgTWgTWgTWiEgjbhqqWeqZszRadbvMqbyzvCOohxmghxsyoflcYhvEXaEuofljKahNacOuoflirCatBrkBeoNguheoNtBchWHeAAdbTeAAgqGwdSdjBeAAdbTeAAuXnuXneAAdbTeAAjMBnfpxEQeAAdbTeAAuXnwOpnusgPqgTWgTWgTWgGFfoHfoHfoHikngTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWiEgiQcftOkdknusgTWgTWgTWgTWiEgiQcftOkdknusgTWgTWgTWgPqiEgwOpmGJnlknlktfonlknlknlknlknlknlknlknlknlknlknlknlknlknlknlkyanjUYjUYrfydnKuAAwHumVMgQobzcfgVmXnbmymnDhnTmwejjyjjyjjyjjygucpRIuvLuxpiXzeaHeaHsxYwfQybzhoecSZpwUnCSrXbpAEpAEpAEpAEpAEpAEeFYlMXlMXedulMXlMXlMXlMXeFYlMXlMXlMXlMXlMXlMXscTurqrJzrOplMXlMXeFYpGclMXlMXlMXwhyrjudVMwWQrjuoNVdvNnndfufnusgPqgPqgPqgPqgPqiEgoflofloflofloflofloflofliThxlRoflofloflofloflofloflhNacOuoflkwioQEjYCeoNbXVnsHtBcaUKgcfgcfgcfgcfgcfgcfgcfgcfgcfuXnuXngcfgcfgcfuXnuXnuXnuXnuXnuXnuXnwOpnusgPqgTWgTWgTWiEgiQcftOkdknusgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgfhgPqiEgorldiGpggnusgPqgPqgPqgPqiEgorldiGpggnusgPqgPqgPqgPqiEgwOpbRSshZshZshZshZshZshZshZshZshZshZshZshZshZshZshZshZshZshZsmBjUYjUYjUYjUYuAAuAAflNflNflNcYrvNJkDlkKacJjflNflNflNflNflNuAAbLkuvLfksxTdnPbvoygbYkeTuvLcHdcSZavmhlxobLfFGfPmobLobLobLobLdNreeneenmFzrEmrEmeeneenhLxhLxeUEstcstcstckjMsMJsMJsMJsMJsMJsMJsMJmebrTLrTLrTLrTLjOIocHocHocHmlEqmpevkdxfdxffuffuffuffuffufdxfoflsJPxiJtiitfFxsUofljDSuKnaQEmeatBlmvotBlqEuoflelcvCYylIofleoNmqpeoNjaXwpFgOntBcrhGtBctBctBctBcrhGtBctBctBcxQulatwRVvlJtBcwpFuNasKHtyztyztyzwOpwOpwOpnusgPqgPqgPqgPqiEgorldiGpggnusgPqgfhgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
diff --git a/code/__DEFINES/jobs.dm b/code/__DEFINES/jobs.dm
index 3a64637a..86dd868a 100644
--- a/code/__DEFINES/jobs.dm
+++ b/code/__DEFINES/jobs.dm
@@ -53,3 +53,4 @@
#define JOB_UNAVAILABLE_PLAYTIME 3
#define JOB_UNAVAILABLE_ACCOUNTAGE 4
#define JOB_UNAVAILABLE_SLOTFULL 5
+#define JOB_UNAVAILABLE_WHITELIST 6
\ No newline at end of file
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index 831e92d4..3ceb1547 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -1130,6 +1130,27 @@ B --><-- A
if (target)
return target
+/proc/get_safe_random_station_turf_nochasm() //same method as above but with chasm detection
+ for (var/i in 1 to 5)
+ var/list/L = get_area_turfs(pick(GLOB.the_station_areas))
+ var/turf/target
+ while (L.len && !target)
+ var/I = rand(1, L.len)
+ var/turf/T = L[I]
+ if(!T.density)
+ var/clear = TRUE
+ for(var/obj/O in T)
+ if(O.density)
+ clear = FALSE
+ break
+ if(ischasm(T)) //stop right there criminal scum
+ clear = FALSE
+ if(clear)
+ target = T
+ if (!target)
+ L.Cut(I,I+1)
+ if (target)
+ return target
/proc/get_closest_atom(type, list, source)
var/closest_atom
diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm
index cc56359c..7677ebbd 100644
--- a/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm
+++ b/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm
@@ -297,7 +297,7 @@
repeatable = TRUE
//property_weights = list("extended" = 1)
occurances_max = 2
- chaos_min = 3.0
+ chaos_min = 1.2
/datum/dynamic_ruleset/event/anomaly_flux
name = "Anomaly: Hyper-Energetic Flux"
diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm
index 10345e21..6d3df24e 100644
--- a/code/game/objects/effects/anomalies.dm
+++ b/code/game/objects/effects/anomalies.dm
@@ -227,6 +227,10 @@
for (var/atom/movable/A in urange(12, FROM )) // iterate thru list of mobs in the area
if(istype(A, /obj/item/beacon))
continue // don't teleport beacons because that's just insanely stupid
+ if(isliving(A))
+ var/turf/L = get_safe_random_station_turf_nochasm() //Safe and cuddly.
+ do_teleport(A, L, forceMove = TRUE, channel = TELEPORT_CHANNEL_BLUESPACE)
+ continue
if(A.anchored)
continue
diff --git a/code/game/objects/structures/artstuff.dm b/code/game/objects/structures/artstuff.dm
index 4cc8de58..339b39e3 100644
--- a/code/game/objects/structures/artstuff.dm
+++ b/code/game/objects/structures/artstuff.dm
@@ -222,17 +222,6 @@
framed_offset_x = 5
framed_offset_y = 6
-/obj/item/canvas/twentyfour_twentyfour
- name = "ai universal standard canvas"
- desc = "Besides being very large, the AI can accept these as a display from their internal database after you've hung it up."
- icon_state = "24x24"
- width = 24
- height = 24
- pixel_x = 2
- pixel_y = 1
- framed_offset_x = 4
- framed_offset_y = 5
-
/obj/item/wallframe/painting
name = "painting frame"
desc = "The perfect showcase for your favorite deathtrap memories."
@@ -284,9 +273,26 @@
if(persistence_id)
. += "Any painting placed here will be archived at the end of the shift."
if(current_canvas)
- current_canvas.ui_interact(user)
+ ui_interact(user, state = GLOB.physical_obscured_state)
. += "Use wirecutters to remove the painting."
+//Hyperstation UI hotwire code ahead. No, I'm not particularly proud of this but if it works, it works.
+/obj/structure/sign/painting/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \
+ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
+
+ ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
+ if(!ui)
+ ui = new(user, src, ui_key, "canvas", name, current_canvas.ui_x, current_canvas.ui_y, master_ui, state)
+ ui.set_autoupdate(FALSE)
+ ui.open()
+
+/obj/structure/sign/painting/ui_data(mob/user)
+ . = ..()
+ .["grid"] = current_canvas.grid
+ .["name"] = current_canvas.painting_name
+ .["finalized"] = current_canvas.finalized
+//End of hotwire code
+
/obj/structure/sign/painting/wirecutter_act(mob/living/user, obj/item/I)
. = ..()
if(current_canvas)
@@ -319,9 +325,9 @@
/obj/structure/sign/painting/update_icon_state()
// icon_state = "[base_icon_state]-[current_canvas?.generated_icon ? "overlay" : "empty"]"
if(current_canvas?.generated_icon)
+ icon_state = "frame-null"
+ else
icon_state = "frame-empty"
- //else
- // icon_state = null // or "frame-empty"
return ..()
/obj/structure/sign/painting/update_overlays()
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 7121aaac..acdfc605 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -199,8 +199,11 @@
body += "Thunderdome Admin | "
body += "Thunderdome Observer | "
body += "Make mentor | "
- body += "Remove mentor"
- body += "Allow reentering round"
+ body += "Remove mentor |"
+ body += "Allow reentering round |"
+ body += "Toggle Silly Roles |"
+ body += "Toggle Roleplay Roles |"
+ body += "Toggle Important Roles |"
body += "
"
body += "