diff --git a/_maps/map_files/YogsBox/YogsBox.dmm b/_maps/map_files/YogsBox/YogsBox.dmm index 07887ba41bc8..6c182be0cac6 100644 --- a/_maps/map_files/YogsBox/YogsBox.dmm +++ b/_maps/map_files/YogsBox/YogsBox.dmm @@ -231,16 +231,6 @@ /mob/living/simple_animal/spiffles, /turf/open/floor/plasteel, /area/clerk) -"aaE" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness) "aaG" = ( /obj/structure/window/reinforced, /obj/structure/chair{ @@ -5904,29 +5894,6 @@ }, /turf/open/floor/plating, /area/maintenance/fore) -"apf" = ( -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -24 - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) "apg" = ( /obj/machinery/door/airlock/maintenance{ req_access_txt = "12" @@ -6397,23 +6364,6 @@ }, /turf/open/floor/plasteel/freezer, /area/crew_quarters/toilet) -"aqT" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) "aqU" = ( /obj/machinery/door/poddoor/shutters{ id = "armory"; @@ -6526,16 +6476,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel, /area/crew_quarters/fitness) -"arn" = ( -/obj/structure/closet/athletic_mixed, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) "aro" = ( /turf/open/floor/engine{ name = "Holodeck Projector Floor" @@ -6789,20 +6729,6 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) -"asr" = ( -/obj/structure/closet/boxinggloves, -/obj/machinery/light{ - dir = 1 - }, -/obj/item/clothing/shoes/jackboots, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) "ast" = ( /obj/structure/closet/lasertag/blue, /obj/effect/turf_decal/tile/neutral{ @@ -6996,15 +6922,6 @@ }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) -"ath" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) "ati" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ @@ -7053,24 +6970,6 @@ }, /turf/open/floor/plasteel/dark, /area/security/courtroom) -"atn" = ( -/obj/machinery/door/window/eastright{ - base_state = "left"; - dir = 8; - icon_state = "left"; - name = "Fitness Ring" - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness) "ato" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair{ @@ -7216,15 +7115,6 @@ "atN" = ( /turf/closed/wall/r_wall, /area/science/nanite) -"atP" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness) "atQ" = ( /obj/machinery/door/airlock{ id_tag = "Dorm5"; @@ -7371,15 +7261,6 @@ /obj/machinery/light/small, /turf/open/floor/plasteel/dark, /area/security/courtroom) -"aur" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness) "auu" = ( /obj/structure/chair{ dir = 8 @@ -7389,18 +7270,6 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) -"auv" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness) "auw" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 @@ -7770,21 +7639,6 @@ }, /turf/open/floor/plating, /area/maintenance/fore) -"avw" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) "avx" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -7968,12 +7822,6 @@ }, /turf/open/floor/wood, /area/crew_quarters/dorms) -"awb" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) "awc" = ( /obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance, @@ -8422,19 +8270,6 @@ }, /turf/open/floor/plasteel, /area/hydroponics/garden) -"axU" = ( -/obj/structure/window/reinforced, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness) -"axW" = ( -/obj/machinery/door/window/eastright{ - base_state = "left"; - icon_state = "left"; - name = "Fitness Ring" - }, -/obj/structure/window/reinforced, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness) "axX" = ( /obj/machinery/light/small{ dir = 8 @@ -8796,35 +8631,6 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) -"azl" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"azm" = ( -/obj/structure/chair/stool{ - pixel_y = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"azn" = ( -/obj/structure/table, -/obj/item/clothing/mask/balaclava, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) "azq" = ( /obj/structure/cable{ icon_state = "1-2" @@ -9056,47 +8862,6 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"aAk" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"aAl" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) "aAm" = ( /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -14465,6 +14230,12 @@ }, /turf/open/floor/plating, /area/maintenance/fore) +"aQG" = ( +/obj/effect/turf_decal/pool{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "aQK" = ( /obj/effect/spawner/xmastree, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -28786,10 +28557,6 @@ /obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/plasteel, /area/security/checkpoint/medical) -"bZi" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) "bZC" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -32247,6 +32014,9 @@ /obj/machinery/atmospherics/pipe/manifold4w/yellow/visible, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) +"cQr" = ( +/turf/open/indestructible/sound/pool, +/area/crew_quarters/fitness) "cQw" = ( /obj/effect/spawner/structure/window, /obj/machinery/door/firedoor/border_only, @@ -32478,18 +32248,23 @@ /turf/open/floor/plasteel/dark, /area/engine/engineering) "cUT" = ( -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -24 }, -/obj/effect/turf_decal/tile/green{ +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/effect/turf_decal/tile/green{ - dir = 4 +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/turf/open/floor/plasteel/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel, /area/crew_quarters/fitness) "cVb" = ( /turf/closed/wall, @@ -33210,6 +32985,9 @@ }, /turf/open/floor/plasteel, /area/security/prison) +"dyc" = ( +/turf/open/indestructible/sound/pool/end, +/area/crew_quarters/fitness) "dyd" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 4 @@ -34241,6 +34019,30 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) +"eil" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/table, +/obj/item/clothing/mask/balaclava, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "eiN" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -35252,15 +35054,6 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"eQU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) "eQZ" = ( /obj/structure/chair/office/dark{ dir = 8 @@ -35318,17 +35111,6 @@ /obj/machinery/light, /turf/open/floor/plasteel, /area/construction/mining/aux_base) -"eTs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness) "eUi" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/closet/firecloset/full, @@ -35860,16 +35642,6 @@ }, /turf/open/floor/plating, /area/hallway/secondary/entry) -"fkH" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness) "flZ" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ @@ -38204,19 +37976,6 @@ }, /turf/open/floor/plasteel/dark/telecomms, /area/tcommsat/server) -"gOF" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness) "gPr" = ( /obj/machinery/door/window/northleft{ base_state = "right"; @@ -38291,6 +38050,10 @@ }, /turf/open/floor/plasteel/white, /area/medical/surgery) +"gQE" = ( +/obj/item/twohanded/required/pool/pool_noodle, +/turf/open/indestructible/sound/pool, +/area/crew_quarters/fitness) "gQJ" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible, /obj/effect/turf_decal/stripes/line, @@ -38323,6 +38086,27 @@ }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) +"gSB" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/pool/corner{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "gSO" = ( /obj/structure/sink{ dir = 8; @@ -38797,6 +38581,16 @@ /obj/item/assembly/flash/handheld, /turf/open/floor/plasteel, /area/science/robotics/lab) +"hlY" = ( +/obj/structure/sign/departments/minsky/command/charge{ + pixel_x = 32 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "hmc" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -39906,6 +39700,23 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/janitor) +"hUH" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "hVc" = ( /obj/structure/table, /obj/item/multitool, @@ -40518,19 +40329,6 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"ild" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness) "ile" = ( /obj/structure/closet/secure_closet/paramedic, /obj/effect/turf_decal/delivery, @@ -40623,6 +40421,10 @@ }, /turf/open/floor/plasteel/white, /area/medical/paramedic) +"ine" = ( +/obj/structure/pool_ladder, +/turf/open/indestructible/sound/pool/end, +/area/crew_quarters/fitness) "inJ" = ( /obj/effect/turf_decal/arrows/white{ color = "#99ccff"; @@ -41677,6 +41479,21 @@ dir = 4 }, /area/crew_quarters/theatre) +"iSt" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "iSP" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -42292,6 +42109,22 @@ }, /turf/open/floor/circuit/telecomms, /area/science/xenobiology) +"jpg" = ( +/obj/structure/closet/boxinggloves, +/obj/machinery/light{ + dir = 1 + }, +/obj/item/clothing/shoes/jackboots, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/twohanded/required/pool/rubber_ring, +/obj/item/twohanded/required/pool/rubber_ring, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "jpr" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -42864,15 +42697,6 @@ }, /turf/open/space, /area/solar/port/fore) -"jFA" = ( -/obj/structure/sign/departments/minsky/command/charge{ - pixel_x = 32 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) "jFB" = ( /obj/effect/spawner/structure/window/reinforced/shutter, /obj/structure/cable{ @@ -42954,18 +42778,6 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/library) -"jIM" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness) "jJK" = ( /obj/machinery/telecomms/processor/preset_three, /turf/open/floor/circuit/green/telecomms/mainframe, @@ -43376,6 +43188,18 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) +"jXj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/turf_decal/pool/corner{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "jXF" = ( /obj/structure/cable{ icon_state = "4-8" @@ -43661,6 +43485,12 @@ }, /turf/open/floor/plasteel, /area/vacant_room/commissary) +"khY" = ( +/obj/effect/turf_decal/pool{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "kie" = ( /obj/structure/cable{ icon_state = "1-2" @@ -44917,6 +44747,13 @@ /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating, /area/maintenance/fore) +"kXy" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/pool/corner, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "kXE" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -45160,6 +44997,10 @@ /mob/living/carbon/monkey, /turf/open/floor/grass, /area/medical/genetics) +"lfz" = ( +/obj/item/twohanded/required/pool/rubber_ring, +/turf/open/indestructible/sound/pool, +/area/crew_quarters/fitness) "lfO" = ( /obj/machinery/atmospherics/pipe/simple/purple/visible{ dir = 4 @@ -46874,19 +46715,6 @@ "mof" = ( /turf/closed/wall/r_wall, /area/quartermaster/sorting) -"moI" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness) "mqp" = ( /obj/machinery/space_heater, /turf/open/floor/plating, @@ -49428,11 +49256,6 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"nMX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) "nOA" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 8 @@ -50351,6 +50174,18 @@ }, /turf/open/floor/plating, /area/science/xenobiology) +"ooF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/pool{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "opi" = ( /obj/structure/cable{ icon_state = "2-8" @@ -52456,20 +52291,6 @@ }, /turf/open/floor/plasteel/dark, /area/ai_monitored/storage/satellite) -"pGM" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/landmark/start/assistant, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness) "pHz" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 @@ -55144,15 +54965,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /turf/open/floor/plasteel/dark, /area/engine/atmos_distro) -"ris" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) "riv" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 1 @@ -55708,6 +55520,14 @@ }, /turf/open/floor/plasteel, /area/engine/atmos_distro) +"rDf" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/pool/corner{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "rDi" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock/maintenance{ @@ -56808,15 +56628,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/maintenance/fore) -"sjh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) "sjo" = ( /obj/structure/cable{ icon_state = "1-2" @@ -57479,6 +57290,10 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) +"sHY" = ( +/obj/effect/turf_decal/pool, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "sIa" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -25 @@ -59134,6 +58949,18 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) +"tKv" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/pool{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "tKT" = ( /obj/machinery/atmospherics/pipe/simple/supply/visible{ dir = 8 @@ -59415,15 +59242,6 @@ }, /turf/open/floor/plasteel, /area/construction/mining/aux_base) -"tTv" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) "tTI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 9 @@ -61760,6 +61578,29 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plating, /area/hallway/secondary/entry) +"vsE" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "vsP" = ( /obj/effect/turf_decal/stripes/end, /turf/open/floor/plating, @@ -61902,6 +61743,13 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/exit) +"vwe" = ( +/obj/machinery/pool_filter{ + pixel_x = -16; + pixel_y = -21 + }, +/turf/open/indestructible/sound/pool, +/area/crew_quarters/fitness) "vwq" = ( /obj/structure/janitorialcart, /obj/effect/turf_decal/delivery, @@ -62623,6 +62471,18 @@ }, /turf/open/floor/plasteel/white, /area/medical/storage) +"vVj" = ( +/obj/structure/closet/athletic_mixed, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/twohanded/required/pool/pool_noodle, +/obj/item/twohanded/required/pool/pool_noodle, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "vVN" = ( /obj/structure/window/reinforced{ dir = 8 @@ -63097,6 +62957,13 @@ }, /turf/open/space/basic, /area/engine/atmos_distro) +"wiV" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/pool{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "wjk" = ( /obj/machinery/flasher{ id = "PCell 3"; @@ -63526,6 +63393,18 @@ /obj/structure/ore_box, /turf/open/floor/plasteel, /area/construction/mining/aux_base) +"wyi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/pool{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "wyn" = ( /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /obj/machinery/atmospherics/miner/n2o, @@ -102074,9 +101953,9 @@ xVA aqc apv arl -aqT -apf -avw +hUH +cUT +iSt rea rVP azj @@ -102331,13 +102210,13 @@ sIp kJl arj asb -awb -ath -asN -bZi -asN -azl -aAl +kXy +aQG +aQG +wiV +aQG +gSB +eil aCr iSq ayz @@ -102587,14 +102466,14 @@ qdv xls bDx arj -arn -asN -atn -eTs -moI -aaE -asN -aAk +vVj +sHY +ine +cQr +cQr +cQr +khY +vsE aCr cIO aAN @@ -102844,13 +102723,13 @@ arj arj arj arj -asr -asN -atP -pGM -cUT -axU -azn +jpg +sHY +dyc +cQr +lfz +cQr +khY aAn aCr aCh @@ -103102,12 +102981,12 @@ iwj uyw arj asq -asN -aur -ild -gOF -axU -azm +sHY +dyc +gQE +cQr +vwe +khY auU aCr aCr @@ -103359,12 +103238,12 @@ cYm eeI arj ast -asN -auv -fkH -jIM -axW -asN +sHY +dyc +cQr +cQr +cQr +khY jXO iVG aCt @@ -103616,12 +103495,12 @@ nGE eOZ arj vBs -sjh -ris -ris -eQU -tTv -nMX +jXj +wyi +wyi +ooF +tKv +rDf nWA arj alP @@ -103876,7 +103755,7 @@ mck eAX gaI mhm -jFA +hlY eAX udq aAo diff --git a/_maps/map_files/Yogsmeta/Yogsmeta.dmm b/_maps/map_files/Yogsmeta/Yogsmeta.dmm index ebf0fdb80e7a..6de4d27c71f2 100644 --- a/_maps/map_files/Yogsmeta/Yogsmeta.dmm +++ b/_maps/map_files/Yogsmeta/Yogsmeta.dmm @@ -2695,65 +2695,6 @@ }, /turf/open/floor/plasteel/freezer, /area/crew_quarters/fitness/recreation) -"afu" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/drinks/sillycup{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/drinks/sillycup, -/obj/item/reagent_containers/food/drinks/sillycup{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/drinks/sillycup{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/drinks/sillycup{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) -"afw" = ( -/obj/structure/closet/masks, -/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/crew_quarters/fitness/recreation) -"afx" = ( -/obj/structure/closet/athletic_mixed, -/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/crew_quarters/fitness/recreation) "afz" = ( /obj/structure/closet/emcloset, /obj/structure/sign/warning/pods{ @@ -3550,29 +3491,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) -"ahi" = ( -/obj/structure/chair, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/recreation) -"ahj" = ( -/obj/structure/chair, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/recreation) -"ahk" = ( -/obj/structure/chair, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/recreation) -"ahl" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/recreation) "ahm" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 4 @@ -4354,12 +4272,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"aiR" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/recreation) "aiT" = ( /obj/machinery/door/airlock/maintenance{ name = "Paramedic Staging Area Maintenance"; @@ -5220,24 +5132,6 @@ }, /turf/open/floor/plasteel, /area/security/main) -"akL" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/recreation) -"akM" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/recreation) "akN" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -5345,17 +5239,6 @@ /obj/machinery/door/firedoor/border_only, /turf/open/floor/plasteel, /area/security/warden) -"ale" = ( -/obj/structure/table, -/obj/item/clothing/under/sl_suit{ - desc = "Whoever wears this makes the rules."; - name = "referee suit" - }, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/recreation) "alg" = ( /obj/effect/turf_decal/tile/red{ dir = 1 @@ -6327,13 +6210,6 @@ }, /turf/open/floor/plasteel/showroomfloor, /area/security/main) -"anI" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/recreation) "anJ" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -6494,14 +6370,6 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) -"aok" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/recreation) "aol" = ( /obj/machinery/door/airlock/command/glass{ name = "Gravity Generator Area"; @@ -11171,20 +11039,6 @@ }, /turf/open/floor/plasteel/dark, /area/engine/engineering) -"azw" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/recreation) "azx" = ( /obj/machinery/nuclearbomb/selfdestruct, /obj/effect/turf_decal/tile/neutral{ @@ -57858,6 +57712,9 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/white, /area/science/mixing) +"cBC" = ( +/turf/open/indestructible/sound/pool, +/area/crew_quarters/fitness/recreation) "cBJ" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, @@ -61843,6 +61700,16 @@ dir = 1 }, /area/science/robotics/lab) +"cYe" = ( +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/pool/corner{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "cYj" = ( /obj/structure/closet/firecloset, /obj/effect/spawner/lootdrop/maintenance, @@ -63763,6 +63630,15 @@ }, /turf/open/floor/carpet, /area/bridge/showroom/corporate) +"diE" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "diH" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/structure/sign/poster/contraband/random{ @@ -64195,12 +64071,8 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/maintenance/port/fore) -"dqi" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +"dqo" = ( +/obj/effect/turf_decal/pool{ dir = 8 }, /turf/open/floor/plasteel, @@ -64379,6 +64251,9 @@ /obj/machinery/space_heater, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"dzB" = ( +/turf/open/indestructible/sound/pool/end, +/area/crew_quarters/fitness/recreation) "dzP" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=10-Aft-To-Central"; @@ -64534,13 +64409,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/dark, /area/ai_monitored/security/armory) -"dBY" = ( -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/recreation) "dCb" = ( /obj/effect/landmark/event_spawn, /obj/effect/turf_decal/tile/red{ @@ -64578,6 +64446,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/crew_quarters/locker) +"dCx" = ( +/obj/effect/turf_decal/pool{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "dCA" = ( /obj/effect/landmark/event_spawn, /obj/effect/turf_decal/tile/neutral{ @@ -65393,6 +65269,10 @@ dir = 1 }, /area/crew_quarters/kitchen) +"elt" = ( +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "elS" = ( /obj/machinery/computer/scan_consolenew{ dir = 4 @@ -65857,6 +65737,13 @@ }, /turf/open/floor/plasteel, /area/security/checkpoint/engineering) +"eLI" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/pool, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "eMO" = ( /obj/effect/landmark/xeno_spawn, /obj/structure/chair, @@ -66188,15 +66075,6 @@ dir = 1 }, /area/engine/engineering) -"feq" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/sign/poster/official/random{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) "fey" = ( /obj/effect/turf_decal/loading_area{ dir = 8 @@ -67726,28 +67604,6 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"gIZ" = ( -/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/trimline/blue/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) "gJh" = ( /obj/structure/chair/office/dark, /obj/structure/cable/yellow{ @@ -67931,25 +67787,6 @@ }, /turf/open/floor/plasteel, /area/engine/foyer) -"gRG" = ( -/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/trimline/blue/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) "gSl" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -68517,15 +68354,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, /area/maintenance/port/fore) -"hCv" = ( -/obj/machinery/light_switch{ - pixel_x = -26 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/recreation) "hDn" = ( /obj/machinery/light{ dir = 1 @@ -68633,15 +68461,6 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"hHm" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) "hHS" = ( /obj/machinery/light/small{ dir = 4 @@ -68676,6 +68495,10 @@ }, /turf/open/floor/plasteel, /area/security/brig) +"hIR" = ( +/obj/machinery/pool_filter, +/turf/open/indestructible/sound/pool/end, +/area/crew_quarters/fitness/recreation) "hKT" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ @@ -69679,6 +69502,10 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) +"iQE" = ( +/obj/item/twohanded/required/pool/pool_noodle, +/turf/open/indestructible/sound/pool/end, +/area/crew_quarters/fitness/recreation) "iRa" = ( /obj/structure/sign/warning/fire{ pixel_y = -32 @@ -69688,11 +69515,6 @@ }, /turf/open/floor/engine, /area/science/mixing/chamber) -"iRE" = ( -/obj/structure/window/reinforced, -/obj/effect/turf_decal/trimline/blue/line, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) "iRO" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -69909,16 +69731,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel, /area/engine/atmos_distro) -"jdY" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -26 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/recreation) "jeN" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -69975,6 +69787,15 @@ /obj/machinery/atmospherics/pipe/simple/cyan/visible, /turf/open/space/basic, /area/engine/atmos_distro) +"jjs" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/pool{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "jjM" = ( /obj/structure/table/glass, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -70250,6 +70071,10 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) +"jwI" = ( +/obj/structure/pool_ladder, +/turf/open/indestructible/sound/pool/end, +/area/crew_quarters/fitness/recreation) "jwW" = ( /turf/closed/wall/mineral/plastitanium, /area/crew_quarters/fitness/recreation) @@ -70888,13 +70713,6 @@ name = "Holodeck Projector Floor" }, /area/holodeck/rec_center) -"kbS" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/recreation) "kcd" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/yellow{ @@ -71270,6 +71088,19 @@ /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/plasteel, /area/engine/atmos_distro) +"kud" = ( +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/pool{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "kug" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 @@ -71323,16 +71154,6 @@ }, /turf/open/floor/plasteel/white, /area/medical/sleeper) -"kAo" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) "kAI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 @@ -71661,6 +71482,18 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, /area/maintenance/port) +"kPU" = ( +/obj/machinery/light_switch{ + pixel_x = -26 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "kQm" = ( /obj/machinery/door/airlock/engineering/glass{ name = "Engineering Foyer"; @@ -71702,6 +71535,22 @@ /obj/effect/turf_decal/trimline/yellow/filled/line, /turf/open/floor/plasteel, /area/engine/foyer) +"kRk" = ( +/obj/structure/closet/athletic_mixed, +/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/twohanded/required/pool/rubber_ring, +/obj/item/twohanded/required/pool/rubber_ring, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) "kRB" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/engine, @@ -71799,6 +71648,15 @@ /obj/machinery/door/firedoor/border_only, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"kWp" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/pool/corner, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "kWx" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 1 @@ -72005,6 +71863,19 @@ icon_state = "platingdmg2" }, /area/maintenance/port/fore) +"lla" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/pool/corner{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "llj" = ( /obj/structure/toilet{ pixel_y = 13 @@ -72156,6 +72027,15 @@ }, /turf/open/floor/plasteel, /area/engine/atmos_distro) +"lrZ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/pool{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "lso" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 8 @@ -72314,6 +72194,18 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel, /area/engine/atmos_distro) +"lys" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/pool{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "lyN" = ( /obj/machinery/button/door{ id = "qm_mine_warehouse"; @@ -72895,6 +72787,10 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) +"mgw" = ( +/obj/item/twohanded/required/pool/rubber_ring, +/turf/open/indestructible/sound/pool, +/area/crew_quarters/fitness/recreation) "mgP" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -73362,15 +73258,6 @@ }, /turf/open/floor/plasteel, /area/engine/atmos_distro) -"mJk" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/recreation) "mKO" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, @@ -73868,28 +73755,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"ntv" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/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/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) "nue" = ( /obj/structure/chair/office/dark, /obj/structure/cable/yellow{ @@ -74352,6 +74217,15 @@ /obj/effect/turf_decal/tile/green, /turf/open/floor/plasteel, /area/hallway/primary/central) +"nPC" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/pool/corner{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "nPJ" = ( /obj/machinery/light/small{ dir = 1 @@ -74535,17 +74409,6 @@ /obj/item/storage/box/fancy/candle_box, /turf/open/floor/engine/cult, /area/library) -"nYd" = ( -/obj/machinery/door/window/eastright{ - base_state = "left"; - icon_state = "left"; - name = "Fitness Ring" - }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) "nYJ" = ( /obj/structure/lattice, /obj/structure/grille/broken, @@ -74812,6 +74675,19 @@ }, /turf/open/floor/plating, /area/engine/atmos_distro) +"oom" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "opk" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 4 @@ -74907,9 +74783,6 @@ }, /turf/open/floor/plasteel, /area/medical/genetics) -"ovH" = ( -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) "owf" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -75148,6 +75021,18 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) +"oNk" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/pool{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "oOU" = ( /obj/structure/sign/warning/vacuum/external{ pixel_x = 32 @@ -75544,6 +75429,15 @@ /obj/machinery/rnd/production/techfab/department/service, /turf/open/floor/plasteel, /area/hallway/secondary/service) +"pjT" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/pool{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "pkA" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -75562,6 +75456,22 @@ }, /turf/open/floor/plasteel, /area/engine/atmos_distro) +"plB" = ( +/obj/structure/closet/masks, +/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/twohanded/required/pool/pool_noodle, +/obj/item/twohanded/required/pool/pool_noodle, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) "plS" = ( /obj/structure/rack, /obj/effect/spawner/lootdrop/techstorage/RnD_secure, @@ -75741,6 +75651,12 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) +"pwY" = ( +/obj/structure/chair, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/pool, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "pxC" = ( /obj/machinery/shower{ pixel_y = 20 @@ -75843,6 +75759,17 @@ /obj/machinery/ai/data_core/primary, /turf/open/floor/circuit/green/telecomms/mainframe, /area/ai_monitored/turret_protected/ai) +"pBH" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/pool{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "pBX" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -76041,21 +75968,6 @@ }, /turf/open/floor/engine, /area/engine/atmos_distro) -"pIU" = ( -/obj/machinery/door/window/westleft{ - name = "Fitness Ring" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) "pIW" = ( /obj/structure/window/reinforced{ dir = 1 @@ -76184,16 +76096,6 @@ }, /turf/open/floor/plasteel, /area/engine/atmos_distro) -"pSt" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) "pSG" = ( /obj/machinery/atmospherics/pipe/manifold/yellow/hidden{ dir = 8 @@ -76457,6 +76359,15 @@ dir = 1 }, /area/medical/surgery) +"qcG" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "qdi" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden, /obj/structure/cable/yellow{ @@ -77488,24 +77399,6 @@ }, /turf/open/floor/plating, /area/engine/atmos_distro) -"rfe" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -27 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/recreation) -"rfZ" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) "rgh" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -77942,6 +77835,21 @@ }, /turf/open/floor/plasteel/white, /area/science/lab) +"rAR" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/sign/poster/official/random{ + pixel_x = -32 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) "rBD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/light/small{ @@ -78061,15 +77969,6 @@ }, /turf/open/floor/plasteel, /area/engine/foyer) -"rHB" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) "rHS" = ( /obj/machinery/camera{ c_tag = "Brig Physicians Office"; @@ -78348,6 +78247,24 @@ }, /turf/open/floor/plasteel, /area/engine/storage_shared) +"shx" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/pool{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"shA" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/pool{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "siF" = ( /obj/structure/grille, /turf/open/floor/plating/airless, @@ -78551,6 +78468,13 @@ /obj/structure/girder/reinforced, /turf/open/space/basic, /area/space/nearstation) +"sxk" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "sxU" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -79454,16 +79378,6 @@ }, /turf/open/floor/plating, /area/engine/foyer) -"tmG" = ( -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/recreation) "tnW" = ( /obj/machinery/recharge_station, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -80024,18 +79938,6 @@ }, /turf/open/floor/carpet, /area/crew_quarters/heads/hos) -"tSM" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) "tTl" = ( /obj/machinery/air_sensor{ id_tag = "air_sensor" @@ -80065,26 +79967,6 @@ }, /turf/open/floor/carpet, /area/crew_quarters/theatre) -"tVk" = ( -/obj/structure/window/reinforced, -/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/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) "tVx" = ( /obj/effect/landmark/start/yogs/psychiatrist, /obj/structure/chair/wood{ @@ -80411,15 +80293,6 @@ /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/plasteel, /area/engine/atmos_distro) -"unl" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) "unu" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -80496,6 +80369,11 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/starboard) +"urU" = ( +/obj/structure/chair, +/obj/effect/turf_decal/pool, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "usm" = ( /obj/machinery/atmospherics/pipe/manifold/yellow/visible{ dir = 4 @@ -80769,10 +80647,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/secondary) -"uIn" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) "uIZ" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -81060,11 +80934,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel/dark/telecomms, /area/ai_monitored/turret_protected/ai) -"uUV" = ( -/obj/structure/window/reinforced, -/obj/effect/turf_decal/trimline/red/line, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) "uUX" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -81316,15 +81185,6 @@ }, /turf/open/floor/engine/cult, /area/library) -"vgT" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) "vgV" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 9 @@ -81399,12 +81259,6 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/wood, /area/library) -"vhT" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) "viD" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -82025,6 +81879,24 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) +"vLb" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/clothing/under/sl_suit{ + desc = "Whoever wears this makes the rules."; + name = "referee suit" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness/recreation) "vLK" = ( /obj/item/reagent_containers/food/snacks/grown/wheat, /obj/item/reagent_containers/food/snacks/grown/watermelon, @@ -82146,14 +82018,6 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"vPl" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/recreation) "vPs" = ( /obj/effect/landmark/stationroom/maint/threexthree, /turf/template_noop, @@ -82311,18 +82175,6 @@ /obj/item/storage/box/syringes, /turf/open/floor/plasteel, /area/hydroponics) -"waq" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) "wau" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -83442,6 +83294,14 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"xmU" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/pool, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "xmY" = ( /obj/effect/turf_decal/stripes/end{ dir = 1 @@ -83471,12 +83331,6 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) -"xpE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness/recreation) "xqo" = ( /obj/machinery/cryopod, /obj/machinery/light{ @@ -83733,6 +83587,18 @@ /obj/machinery/atmospherics/miner/oxygen, /turf/open/floor/engine/o2, /area/engine/atmos_distro) +"xCh" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -27 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "xDl" = ( /obj/structure/chair{ dir = 8 @@ -83997,6 +83863,14 @@ }, /turf/open/floor/plasteel, /area/engine/atmos_distro) +"xWy" = ( +/obj/structure/chair, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/pool, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "xXt" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -118997,7 +118871,7 @@ acP acP acP tDT -feq +rAR amv acP alO @@ -119249,15 +119123,15 @@ tys hPi qca xYj -akN -akN -jdY -rfe -ahg -ahl -ahl -hCv -alQ +kGC +diE +oom +xCh +nhy +qcG +qcG +kPU +vmz aqc arB asT @@ -119505,16 +119379,16 @@ vsg jPM oSR qca -afu -kGC -nhy -nhy -nhy -nhy -nhy -nhy -nhy -vmz +vLb +akN +ahg +ahg +ahg +elt +ahg +ahg +ahg +alQ aqd arB asU @@ -119764,13 +119638,13 @@ hsn iKc odl lZV -vPl -aiR -ale -mJk -azw -aok -dqi +kWp +shA +shA +dCx +pBH +pBH +lla aoZ dhs arB @@ -120021,13 +119895,13 @@ kay sGn hvR agu -kbS -waq -hHm -pIU -hHm -kAo -tmG +xmU +jwI +cBC +cBC +cBC +cBC +kud api aqf arB @@ -120276,15 +120150,15 @@ vsg gLv oSR qca -afw +plB agu -ahi -unl -uIn -vgT -ovH -iRE -akL +pwY +dzB +cBC +cBC +cBC +cBC +oNk api aqg arC @@ -120533,15 +120407,15 @@ xqo fWM doc qca -afx +kRk agw -ahj -ntv -gRG -gIZ -gRG -tVk -anI +urU +dzB +cBC +mgw +cBC +cBC +shx apA amb amL @@ -120792,13 +120666,13 @@ sGn sGn kGo agx -ahk -rfZ -ovH -xpE -vhT -uUV -akM +xWy +iQE +cBC +cBC +cBC +cBC +lys apB arp asW @@ -121049,13 +120923,13 @@ aaa acP acP agy -ahl -tSM -rHB -nYd -rHB -pSt -akN +eLI +hIR +cBC +cBC +cBC +cBC +pjT ahh aqj arB @@ -121306,13 +121180,13 @@ acP acP afz agz -dBY -ahl -ahl -ahg -akN -akN -akN +cYe +jjs +jjs +dqo +lrZ +lrZ +nPC ahh aqk arB @@ -121822,7 +121696,7 @@ afB agz ahn agz -aiY +sxk aiY ahh akj diff --git a/_maps/shuttles/emergency_luxury.dmm b/_maps/shuttles/emergency_luxury.dmm index ac32cc9d3b76..1242221ee18d 100644 --- a/_maps/shuttles/emergency_luxury.dmm +++ b/_maps/shuttles/emergency_luxury.dmm @@ -26,14 +26,6 @@ }, /turf/open/floor/carpet, /area/shuttle/escape/luxury) -"cf" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/holofloor/beach/coast_b{ - dir = 4 - }, -/area/shuttle/escape/luxury) "cv" = ( /obj/docking_port/mobile/emergency{ dwidth = 5; @@ -146,16 +138,8 @@ }, /turf/open/floor/plating, /area/shuttle/escape/luxury) -"hv" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/structure/musician/piano{ - icon_state = "piano" - }, -/turf/open/floor/mineral/gold{ - dir = 4 - }, +"jr" = ( +/turf/open/indestructible/sound/pool, /area/shuttle/escape/luxury) "kk" = ( /obj/item/reagent_containers/food/snacks/spaghetti/boiledspaghetti{ @@ -194,12 +178,6 @@ /obj/structure/table/wood/fancy/black, /turf/open/floor/carpet, /area/shuttle/escape/luxury) -"lG" = ( -/turf/open/floor/holofloor/beach/coast_t{ - dir = 1; - icon_state = "sandwater_inner" - }, -/area/shuttle/escape/luxury) "mc" = ( /obj/item/reagent_containers/food/snacks/notasandwich{ pixel_y = 11 @@ -221,6 +199,23 @@ /obj/structure/shuttle/engine/propulsion, /turf/open/floor/plating/airless, /area/shuttle/escape/luxury) +"ni" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/obj/effect/turf_decal/pool{ + dir = 1 + }, +/turf/open/floor/mineral/gold{ + dir = 4 + }, +/area/shuttle/escape/luxury) "oo" = ( /obj/machinery/door/poddoor/shutters{ id = "ohnopoors" @@ -240,6 +235,17 @@ }, /turf/open/floor/plating/airless, /area/shuttle/escape/luxury) +"oD" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/pool/corner{ + dir = 1 + }, +/turf/open/floor/mineral/gold{ + dir = 4 + }, +/area/shuttle/escape/luxury) "oP" = ( /obj/machinery/vending/wallmed{ pixel_x = -28 @@ -303,11 +309,6 @@ }, /turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape/luxury) -"qw" = ( -/turf/open/floor/holofloor/beach/coast_b{ - dir = 4 - }, -/area/shuttle/escape/luxury) "rj" = ( /obj/item/reagent_containers/food/snacks/cakeslice/slimecake{ pixel_y = 2 @@ -315,11 +316,6 @@ /obj/structure/table/wood/fancy/black, /turf/open/floor/carpet, /area/shuttle/escape/luxury) -"rl" = ( -/turf/open/floor/holofloor/beach/coast_t{ - icon_state = "sandwater_inner" - }, -/area/shuttle/escape/luxury) "rw" = ( /obj/structure/sign/poster/official/fruit_bowl{ pixel_y = -32 @@ -360,11 +356,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/shuttle/escape/luxury) -"vg" = ( -/turf/open/floor/holofloor/beach/coast_t{ - icon_state = "sandwater_t" - }, -/area/shuttle/escape/luxury) "vh" = ( /obj/machinery/computer/crew, /turf/open/floor/mineral/diamond, @@ -384,12 +375,6 @@ /obj/item/broken_bottle, /turf/open/floor/plating, /area/shuttle/escape/luxury) -"vS" = ( -/turf/open/floor/holofloor/beach/coast_b{ - dir = 9; - icon_state = "sandwater_b" - }, -/area/shuttle/escape/luxury) "wa" = ( /obj/structure/chair/comfy/teal{ dir = 1; @@ -420,6 +405,41 @@ dir = 4 }, /area/shuttle/escape/luxury) +"wY" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/pool, +/turf/open/floor/mineral/gold{ + dir = 4 + }, +/area/shuttle/escape/luxury) +"xe" = ( +/obj/structure/pool_ladder, +/turf/open/indestructible/sound/pool/end, +/area/shuttle/escape/luxury) +"yo" = ( +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/pool, +/turf/open/floor/mineral/gold{ + dir = 4 + }, +/area/shuttle/escape/luxury) +"yt" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/structure/musician/piano{ + icon_state = "piano" + }, +/obj/effect/turf_decal/pool{ + dir = 1 + }, +/turf/open/floor/mineral/gold{ + dir = 4 + }, +/area/shuttle/escape/luxury) "yR" = ( /obj/item/reagent_containers/food/snacks/carneburrito{ pixel_y = 4 @@ -456,14 +476,6 @@ dir = 4 }, /area/shuttle/escape/luxury) -"Av" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/mineral/gold{ - dir = 4 - }, -/area/shuttle/escape/luxury) "AJ" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/item/trash/pistachios, @@ -540,21 +552,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/shuttle/escape/luxury) -"Gz" = ( -/turf/open/floor/holofloor/beach/coast_b{ - dir = 10; - icon_state = "sandwater_b" - }, -/area/shuttle/escape/luxury) -"Hx" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/mineral/gold{ - dir = 4 - }, -/area/shuttle/escape/luxury) "HK" = ( /obj/item/reagent_containers/food/snacks/honkdae{ pixel_y = 8 @@ -578,6 +575,14 @@ /obj/structure/grille/indestructable, /turf/open/floor/plating, /area/shuttle/escape/luxury) +"Kl" = ( +/obj/effect/turf_decal/pool{ + dir = 4 + }, +/turf/open/floor/mineral/gold{ + dir = 4 + }, +/area/shuttle/escape/luxury) "Kn" = ( /obj/structure/chair/comfy/black{ dir = 8 @@ -615,6 +620,13 @@ /obj/structure/table/wood/fancy/black, /turf/open/floor/carpet, /area/shuttle/escape/luxury) +"Mt" = ( +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/pool/corner, +/turf/open/floor/mineral/gold{ + dir = 4 + }, +/area/shuttle/escape/luxury) "Nz" = ( /obj/machinery/scanner_gate/luxury_shuttle{ layer = 2.6 @@ -658,12 +670,6 @@ /obj/structure/table/wood/fancy/black, /turf/open/floor/carpet, /area/shuttle/escape/luxury) -"Pc" = ( -/turf/open/floor/holofloor/beach/coast_t{ - dir = 1; - icon_state = "sandwater_t" - }, -/area/shuttle/escape/luxury) "Pk" = ( /obj/structure/chair/comfy/shuttle, /obj/machinery/light/small{ @@ -691,20 +697,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/shuttle/escape/luxury) -"RK" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/structure/chair/comfy/black{ - dir = 8 - }, -/turf/open/floor/mineral/gold{ - dir = 4 - }, -/area/shuttle/escape/luxury) "RR" = ( /turf/open/floor/carpet, /area/shuttle/escape/luxury) @@ -831,11 +823,6 @@ /obj/structure/table/wood/fancy/black, /turf/open/floor/carpet, /area/shuttle/escape/luxury) -"Zo" = ( -/turf/open/floor/holofloor/beach/coast_t{ - dir = 4 - }, -/area/shuttle/escape/luxury) "Zx" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, @@ -1129,21 +1116,21 @@ Ek zQ Xt zQ -Xt -zQ -zQ -zQ -zQ -zQ -zQ -zQ -zQ -zQ -zQ -zQ -zQ -zQ -Av +Mt +Kl +Kl +Kl +Kl +Kl +Kl +Kl +Kl +Kl +Kl +Kl +Kl +Kl +oD zQ zQ oP @@ -1156,21 +1143,21 @@ mt fR mt zQ -Xt -rl -Zo -Zo -Zo -Zo -Zo -Zo -Zo -Zo -Zo -Zo -Zo -lG -hv +yo +xe +jr +jr +jr +jr +jr +jr +jr +jr +jr +jr +jr +jr +yt zQ zQ zQ @@ -1183,21 +1170,21 @@ ZZ sG mt zQ -Hx -vg -vS -qw -qw -qw -qw -cf -qw -qw -qw -qw -Gz -Pc -RK +wY +xe +jr +jr +jr +jr +jr +jr +jr +jr +jr +jr +jr +jr +ni zQ zQ pv diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index 1c275dffcbc7..9d7eb469cad7 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -191,6 +191,7 @@ #define COMPONENT_BLOCK_MAGIC 1 #define COMSIG_MOB_HUD_CREATED "mob_hud_created" //from base of mob/create_mob_hud(): () #define COMSIG_MOB_ATTACK_HAND "mob_attack_hand" //from base of +#define COMSIG_MOB_ATTACK_HAND_TURF "mob_attack_hand_turf" //from the base of turf/attack_hand #define COMSIG_MOB_ITEM_ATTACK "mob_item_attack" //from base of /obj/item/attack(): (mob/M, mob/user) #define COMSIG_MOB_APPLY_DAMAGE "mob_apply_damage" //from base of /mob/living/proc/apply_damage(): (damage, damagetype, def_zone) #define COMSIG_MOB_ITEM_AFTERATTACK "mob_item_afterattack" //from base of obj/item/afterattack(): (atom/target, mob/user, proximity_flag, click_parameters) @@ -240,7 +241,7 @@ #define COMSIG_CARBON_STATUS_STAMCRIT "living_stamcrit" //from base of mob/living/carbon/enter_stamcrit() #define COMSIG_BODYPART_GAUZED "bodypart_gauzed" // from /obj/item/bodypart/proc/apply_gauze(/obj/item/stack/gauze) #define COMSIG_BODYPART_GAUZE_DESTROYED "bodypart_degauzed" // from [/obj/item/bodypart/proc/seep_gauze] when it runs out of absorption - +#define COMSIG_CARBON_SPECIESCHANGE "mob_carbon_specieschange" //from base of mob/living/carbon/set_species(): (new_race) // /mob/living/simple_animal/hostile signals #define COMSIG_HOSTILE_ATTACKINGTARGET "hostile_attackingtarget" #define COMPONENT_HOSTILE_NO_ATTACK 1 diff --git a/code/__DEFINES/movespeed_modification.dm b/code/__DEFINES/movespeed_modification.dm index d95b015d3156..d174f57c35bc 100644 --- a/code/__DEFINES/movespeed_modification.dm +++ b/code/__DEFINES/movespeed_modification.dm @@ -72,3 +72,5 @@ #define MOVESPEED_ID_CLOCKCHANT "CLOCKCHANT" #define MOVESPEED_ID_NECRO_VIRUS_SLOWDOWN "NECRO_VIRUS" + +#define MOVESPEED_ID_SWIMMING "SWIMMING_SPEED_MOD" diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index cabbf46d8054..8aadd86a4e91 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -120,6 +120,8 @@ GLOBAL_LIST_EMPTY(station_turfs) /turf/attack_hand(mob/user) . = ..() + if(SEND_SIGNAL(user, COMSIG_MOB_ATTACK_HAND_TURF, src) & COMPONENT_NO_ATTACK_HAND) + . = TRUE if(.) return user.Move_Pulled(src) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 801eabf75825..95b109cc1439 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -156,6 +156,10 @@ GLOBAL_LIST_EMPTY(mentor_races) ///Bitflag that controls what in game ways can select this species as a spawnable source. Think magic mirror and pride mirror, slime extract, ERT etc, see defines in __DEFINES/mobs.dm, defaults to NONE, so people actually have to think about it var/changesource_flags = NONE + + //The component to add when swimming + var/swimming_component = /datum/component/swimming + /////////// // PROCS // /////////// diff --git a/code/modules/mob/living/carbon/human/species_types/ethereal.dm b/code/modules/mob/living/carbon/human/species_types/ethereal.dm index 090aba2eb7a7..aedbece3e919 100644 --- a/code/modules/mob/living/carbon/human/species_types/ethereal.dm +++ b/code/modules/mob/living/carbon/human/species_types/ethereal.dm @@ -25,6 +25,7 @@ inert_mutation = SHOCKTOUCH hair_color = "fixedmutcolor" hair_alpha = 140 + swimming_component = /datum/component/swimming/ethereal var/current_color var/EMPeffect = FALSE var/emageffect = FALSE diff --git a/code/modules/mob/living/carbon/human/species_types/felinid.dm b/code/modules/mob/living/carbon/human/species_types/felinid.dm index 5bf71c26daff..3f26a17452ce 100644 --- a/code/modules/mob/living/carbon/human/species_types/felinid.dm +++ b/code/modules/mob/living/carbon/human/species_types/felinid.dm @@ -12,6 +12,7 @@ mutantears = /obj/item/organ/ears/cat mutanttail = /obj/item/organ/tail/cat changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT + swimming_component = /datum/component/swimming/felinid species_language_holder = /datum/language_holder/felinid /datum/species/human/felinid/qualifies_for_rank(rank, list/features) 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 53b203f5dfb5..67d85cafbf41 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -22,6 +22,7 @@ // changes, only the Random Golem type can be chosen limbs_id = "golem" fixed_mut_color = "aaa" + swimming_component = /datum/component/swimming/golem var/info_text = "As an Iron Golem, you don't have any special traits." var/random_eligible = TRUE //If false, the golem subtype can't be made through golem mutation toxin diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index a9a1698abf49..fb67c03d956f 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -17,6 +17,7 @@ burnmod = 0.5 // = 1/2x generic burn damage changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT species_language_holder = /datum/language_holder/jelly + swimming_component = /datum/component/swimming/dissolve /datum/species/jelly/on_species_loss(mob/living/carbon/C) if(regenerate_limbs) @@ -738,4 +739,4 @@ to_chat(H, span_notice("You connect [target]'s mind to your slime link!")) else to_chat(H, span_warning("You can't seem to link [target]'s mind...")) - to_chat(target, span_warning("The foreign presence leaves your mind.")) \ No newline at end of file + to_chat(target, span_warning("The foreign presence leaves your mind.")) diff --git a/code/modules/pool/components/swimming.dm b/code/modules/pool/components/swimming.dm new file mode 100644 index 000000000000..d08c57582032 --- /dev/null +++ b/code/modules/pool/components/swimming.dm @@ -0,0 +1,131 @@ +//Component used to show that a mob is swimming, and force them to swim a lil' bit slower. Components are actually really based! + +/datum/component/swimming + dupe_mode = COMPONENT_DUPE_UNIQUE + var/lengths = 0 //How far have we swum? + var/lengths_for_bonus = 25 //If you swim this much, you'll count as having "excercised" and thus gain a buff. + var/list/species = list() + var/drowning = FALSE + var/ticks_drowned = 0 + var/slowdown = 4 + var/bob_height_min = 2 + var/bob_height_max = 5 + var/bob_tick = 0 + +/datum/component/swimming/Initialize() + . = ..() + if(!isliving(parent)) + message_admins("Swimming component erroneously added to a non-living mob ([parent]).") + return INITIALIZE_HINT_QDEL //Only mobs can swim, like Ian... + var/mob/M = parent + M.visible_message("[parent] starts splashing around in the water!") + M.add_movespeed_modifier(MOVESPEED_ID_SWIMMING, update=TRUE, priority=50, multiplicative_slowdown=slowdown, movetypes=GROUND) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/onMove) + RegisterSignal(parent, COMSIG_CARBON_SPECIESCHANGE, .proc/onChangeSpecies) + RegisterSignal(parent, COMSIG_MOB_ATTACK_HAND_TURF, .proc/try_leave_pool) + START_PROCESSING(SSprocessing, src) + enter_pool() + +/datum/component/swimming/proc/onMove() + lengths ++ + if(lengths > lengths_for_bonus) + var/mob/living/L = parent + SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "exercise", /datum/mood_event/exercise) + L.apply_status_effect(STATUS_EFFECT_EXERCISED) //Swimming is really good excercise! + lengths = 0 + +//Damn edge cases +/datum/component/swimming/proc/onChangeSpecies() + var/mob/living/carbon/C = parent + var/component_type = /datum/component/swimming + if(istype(C) && C?.dna?.species) + component_type = C.dna.species.swimming_component + var/mob/M = parent + RemoveComponent() + M.AddComponent(component_type) + +/datum/component/swimming/proc/try_leave_pool(datum/source, turf/clicked_turf) + var/mob/living/L = parent + if(!L.can_interact_with(clicked_turf)) + return + if(is_blocked_turf(clicked_turf)) + return + if(istype(clicked_turf, /turf/open/indestructible/sound/pool)) + return + to_chat(parent, "You start to climb out of the pool...") + if(do_after(parent, 1 SECONDS, target=clicked_turf)) + L.forceMove(clicked_turf) + L.visible_message("[parent] climbs out of the pool.") + RemoveComponent() + +/datum/component/swimming/UnregisterFromParent() + exit_pool() + var/mob/M = parent + if(drowning) + stop_drowning(M) + if(bob_tick) + M.pixel_y = 0 + M.remove_movespeed_modifier(MOVESPEED_ID_SWIMMING) + UnregisterSignal(parent, COMSIG_MOVABLE_MOVED) + UnregisterSignal(parent, COMSIG_CARBON_SPECIESCHANGE) + UnregisterSignal(parent, COMSIG_MOB_ATTACK_HAND_TURF) + STOP_PROCESSING(SSprocessing, src) + return ..() + +/datum/component/swimming/process() + var/mob/living/L = parent + var/floating = FALSE + var/obj/item/twohanded/required/pool/helditem = L.get_active_held_item() + if(istype(helditem) && helditem.wielded) + bob_tick ++ + animate(L, time=9.5, pixel_y = (L.pixel_y == bob_height_max) ? bob_height_min : bob_height_max) + floating = TRUE + else + if(bob_tick) + animate(L, time=5, pixel_y = 0) + bob_tick = 0 + if(!floating && is_drowning(L)) + if(!drowning) + start_drowning(L) + drowning = TRUE + drown(L) + else if(drowning) + stop_drowning(L) + drowning = FALSE + L.adjust_fire_stacks(-1) + +/datum/component/swimming/proc/is_drowning(mob/living/victim) + var/obj/item/twohanded/required/pool/helditem = victim.get_active_held_item() + if(istype(helditem) && helditem.wielded) + return + return ((!(victim.mobility_flags & MOBILITY_STAND)) && (!HAS_TRAIT(victim, TRAIT_NOBREATH))) + +/datum/component/swimming/proc/drown(mob/living/victim) + if(victim.losebreath < 1) + victim.losebreath += 1 + ticks_drowned ++ + if(prob(20)) + victim.emote("cough") + else if(prob(25)) + victim.emote("gasp") + if(ticks_drowned > 20) + if(prob(10)) + victim.visible_message("[victim] falls unconcious for a moment!") + victim.Unconscious(10) + +/datum/component/swimming/proc/start_drowning(mob/living/victim) + to_chat(victim, "Water fills your lungs and mouth, you can't breathe!") + ADD_TRAIT(victim, TRAIT_MUTE, "pool") + +/datum/component/swimming/proc/stop_drowning(mob/living/victim) + victim.emote("cough") + to_chat(victim, "You cough up the last of the water, regaining your ability to speak and breathe clearly!") + REMOVE_TRAIT(victim, TRAIT_MUTE, "pool") + ticks_drowned = 0 + +/datum/component/swimming/proc/enter_pool() + return + +//Essentially the same as remove component, but easier for overiding +/datum/component/swimming/proc/exit_pool() + return diff --git a/code/modules/pool/components/swimming_dissolve.dm b/code/modules/pool/components/swimming_dissolve.dm new file mode 100644 index 000000000000..e92f1009afce --- /dev/null +++ b/code/modules/pool/components/swimming_dissolve.dm @@ -0,0 +1,28 @@ +/datum/component/swimming/dissolve + var/start_alpha = 0 + +/datum/component/swimming/dissolve/enter_pool() + var/mob/living/L = parent + start_alpha = L.alpha + to_chat(parent, "You begin disolving into the pool, get out fast!") + +/datum/component/swimming/dissolve/process() + ..() + var/mob/living/L = parent + var/mob/living/carbon/human/H = L + if(istype(H)) + if(H.wear_suit && istype(H.wear_suit, /obj/item/clothing)) + var/obj/item/clothing/CH = H.wear_suit + if (CH.clothing_flags & THICKMATERIAL) + return + L.adjustCloneLoss(1) + L.alpha = ((L.health-HEALTH_THRESHOLD_DEAD) / (L.maxHealth - HEALTH_THRESHOLD_DEAD)) * 255 + if(L.stat == DEAD) + L.visible_message("[L] dissolves into the pool!") + var/obj/item/organ/brain = L.getorgan(/obj/item/organ/brain) + brain.Remove(L) //Maybe making them completely unrecoverable is too far + brain.forceMove(get_turf(L)) + qdel(L) + +/datum/component/swimming/dissolve/exit_pool() + animate(parent, alpha=start_alpha, time=20) diff --git a/code/modules/pool/components/swimming_ethereal.dm b/code/modules/pool/components/swimming_ethereal.dm new file mode 100644 index 000000000000..13f1877e9d3b --- /dev/null +++ b/code/modules/pool/components/swimming_ethereal.dm @@ -0,0 +1,11 @@ +/datum/component/swimming/ethereal/enter_pool() + var/mob/living/L = parent + L.visible_message("Sparks of energy begin coursing around the pool!") + +/datum/component/swimming/ethereal/process() + ..() + var/mob/living/L = parent + if(prob(2) && L.nutrition > NUTRITION_LEVEL_FED) + L.adjust_nutrition(-50) + tesla_zap(L, 7, 2000, TESLA_MOB_STUN) + playsound(L, 'sound/machines/defib_zap.ogg', 50, TRUE) diff --git a/code/modules/pool/components/swimming_felinid.dm b/code/modules/pool/components/swimming_felinid.dm new file mode 100644 index 000000000000..b6cde0425452 --- /dev/null +++ b/code/modules/pool/components/swimming_felinid.dm @@ -0,0 +1,27 @@ +/datum/component/swimming/felinid/enter_pool() + var/mob/living/L = parent + L.emote("scream") + to_chat(parent, "You get covered in water and start panicking!") + +/datum/component/swimming/felinid/process() + ..() + var/mob/living/L = parent + var/obj/item/twohanded/required/pool/helditem = L.get_active_held_item() + if(istype(helditem) && helditem.wielded) + return + switch(rand(1, 100)) + if(1 to 4) + to_chat(parent, "You can't touch the bottom!") + L.emote("scream") + if(5 to 7) + if(L.confused < 5) + L.confused += 1 + if(8 to 12) + L.Jitter(10) + if(13 to 14) + shake_camera(L, 15, 1) + L.emote("whimper") + L.Paralyze(10) + to_chat(parent, "You feel like you are never going to get out...") + if(15 to 17) + L.emote("cry") diff --git a/code/modules/pool/components/swimming_golem.dm b/code/modules/pool/components/swimming_golem.dm new file mode 100644 index 000000000000..669d2aa097ff --- /dev/null +++ b/code/modules/pool/components/swimming_golem.dm @@ -0,0 +1,9 @@ +/datum/component/swimming/golem/enter_pool() + var/mob/living/M = parent + M.Paralyze(60) + M.visible_message("[M] crashed violently into the ground!", + "You sink like a rock!") + playsound(get_turf(M), 'sound/effects/picaxe1.ogg') + +/datum/component/swimming/golem/is_drowning() + return FALSE diff --git a/code/modules/pool/pool.dm b/code/modules/pool/pool.dm new file mode 100644 index 000000000000..530ee5eac5b2 --- /dev/null +++ b/code/modules/pool/pool.dm @@ -0,0 +1,294 @@ +//Simple pool behaviour. Sprites by Cdey! + +/** +How to pool! +Place pool turfs on the inside of your pool. This is where you swim. Pool end caps to cap it off on the north face +Place pool border decals around the pool so it doesn't look weird +Place a pool ladder at the top of the pool so that it leads to a normal tile (or else it'll be hard to get out of the pool.) +Place a pool filter somewhere in the pool if you want people to be able to modify the pool's settings (Temperature) or dump reagents into the pool (which'll change the pool's colour) +*/ + +/obj/effect/overlay/poolwater + name = "Pool water" + icon = 'icons/obj/pool.dmi' + icon_state = "water" + anchored = TRUE + layer = ABOVE_ALL_MOB_LAYER + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + +/turf/open/indestructible/sound/pool + name = "Swimming pool" + desc = "A fun place where you go to swim! Drag and drop yourself onto it to climb in..." + icon = 'icons/obj/pool.dmi' + icon_state = "pool" + sound = 'sound/effects/splash.ogg' + var/id = null //Set me if you don't want the pool and the pump to be in the same area, or you have multiple pools per area. + var/obj/effect/water_overlay = null + +/turf/open/indestructible/sound/pool/end + icon_state = "poolwall" + +/turf/open/indestructible/sound/pool/Initialize(mapload) + . = ..() + water_overlay = new /obj/effect/overlay/poolwater(get_turf(src)) + +/turf/open/indestructible/sound/pool/proc/set_colour(colour) + water_overlay.color = colour + +/turf/open/indestructible/sound/pool/end/ChangeTurf(path, list/new_baseturfs, flags) + if(water_overlay) + qdel(water_overlay) + . = ..() + +/turf/open/CanPass(atom/movable/mover, turf/target) + var/datum/component/swimming/S = mover.GetComponent(/datum/component/swimming) //If you're swimming around, you don't really want to stop swimming just like that do you? + if(S) + return FALSE //If you're swimming, you can't swim into a regular turf, y'dig? + . = ..() + +/turf/open/indestructible/sound/pool/CanPass(atom/movable/mover, turf/target) + if(mover.throwing) + return TRUE + var/datum/component/swimming/S = mover.GetComponent(/datum/component/swimming) //You can't get in the pool unless you're swimming. + return (isliving(mover)) ? S : ..() //So you can do stuff like throw beach balls around the pool! + +/turf/open/indestructible/sound/pool/Entered(atom/movable/AM) + . = ..() + SEND_SIGNAL(AM, COMSIG_COMPONENT_CLEAN_ACT, 2) + if(isliving(AM)) + var/datum/component/swimming/S = AM.GetComponent(/datum/component/swimming) //You can't get in the pool unless you're swimming. + if(!S) + var/mob/living/carbon/C = AM + var/component_type = /datum/component/swimming + if(istype(C) && C?.dna?.species) + component_type = C.dna.species.swimming_component + AM.AddComponent(component_type) + +/turf/open/indestructible/sound/pool/Exited(atom/movable/Obj, atom/newloc) + . = ..() + if(!istype(newloc, /turf/open/indestructible/sound/pool)) + var/datum/component/swimming/S = Obj.GetComponent(/datum/component/swimming) //Handling admin TPs here. + S?.RemoveComponent() + +/turf/open/MouseDrop_T(atom/dropping, mob/user) + if(!isliving(user) || !isliving(dropping)) //No I don't want ghosts to be able to dunk people into the pool. + return + var/atom/movable/AM = dropping + var/datum/component/swimming/S = dropping.GetComponent(/datum/component/swimming) + if(S) + if(do_after(user, 1 SECONDS, target=src)) + S.RemoveComponent() + visible_message("[dropping] climbs out of the pool.") + AM.forceMove(src) + else + . = ..() + +/turf/open/indestructible/sound/pool/MouseDrop_T(atom/dropping, mob/user) + if(!isliving(user) || !isliving(dropping)) //No I don't want ghosts to be able to dunk people into the pool. + return + var/datum/component/swimming/S = dropping.GetComponent(/datum/component/swimming) //If they're already swimming, don't let them start swimming again. + if(S) + return FALSE + . = ..() + if(user != dropping) + dropping.visible_message("[user] starts to lower [dropping] down into [src].", \ + "You start to lower [dropping] down into [src].") + else + to_chat(user, "You start climbing down into [src]...") + if(do_after(user, 4 SECONDS, target=src)) + splash(dropping) + +/datum/mood_event/poolparty + description = "I love swimming!.\n" + mood_change = 2 + timeout = 2 MINUTES + +/datum/mood_event/robotpool + description = "I really wasn't built with water resistance in mind...\n" + mood_change = -3 + timeout = 2 MINUTES + +/datum/mood_event/poolwet + description = "Eugh! my clothes are soaking wet from that swim.\n" + mood_change = -4 + timeout = 4 MINUTES + +/turf/open/indestructible/sound/pool/proc/splash(mob/user) + user.forceMove(src) + playsound(src, 'sound/effects/splosh.ogg', 100, 1) //Credit to hippiestation for this sound file! + user.visible_message("SPLASH!") + var/zap = 0 + if(issilicon(user)) //Do not throw brick in a pool. Brick begs. + zap = 1 //Sorry borgs! Swimming will come at a cost. + if(ishuman(user)) + var/mob/living/carbon/human/F = user + var/datum/species/SS = F.dna.species + if(MOB_ROBOTIC in SS.inherent_biotypes || ispreternis(F)) //ZAP goes preternis + zap = 2 //You can protect yourself from water damage with thick clothing. + if(F.head && istype(F.head, /obj/item/clothing)) + var/obj/item/clothing/CH = F.head + if (CH.clothing_flags & THICKMATERIAL) //thick suits should suffice! But preternis are robots and probably not water-sealed. + zap -- + if(F.wear_suit && istype(F.wear_suit, /obj/item/clothing)) + var/obj/item/clothing/CS = F.wear_suit + if (CS.clothing_flags & THICKMATERIAL) + zap -- + if(zap > 0) + user.emp_act(zap) + user.emote("scream") //Chad coders use M.say("*scream") + do_sparks(zap, TRUE, user) + to_chat(user, "WARNING: WATER DAMAGE DETECTED!") + SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "robotpool", /datum/mood_event/robotpool) + else + if(!check_clothes(user)) + SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "pool", /datum/mood_event/poolparty) + return + SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "pool", /datum/mood_event/poolwet) + +//Largely a copypaste from shower.dm. Checks if the mob was stupid enough to enter a pool fully clothed. We allow masks as to not discriminate against clown and mime players. +/turf/open/indestructible/sound/pool/proc/check_clothes(mob/living/carbon/human/H) + if(!istype(H) || iscatperson(H)) //Don't care about non humans. + return FALSE + if(H.wear_suit && (H.wear_suit.clothing_flags & SHOWEROKAY)) + // Do not check underclothing if the over-suit is suitable. + // This stops people feeling dumb if they're showering + // with a radiation suit on. + return FALSE + + . = FALSE + if(!(H.wear_suit?.clothing_flags & SHOWEROKAY)) + return TRUE + if(!(H.w_uniform?.clothing_flags & SHOWEROKAY)) + return TRUE + if(!(H.head?.clothing_flags & SHOWEROKAY)) + return TRUE + +/obj/effect/turf_decal/pool + name = "Pool siding" + icon = 'icons/obj/pool.dmi' + icon_state = "poolborder" + +/obj/effect/turf_decal/pool/corner + icon_state = "bordercorner" + +/obj/effect/turf_decal/pool/innercorner + icon_state = "innercorner" + +//Pool machinery + +/obj/structure/pool_ladder + name = "Pool ladder" + desc = "Click this to get out of a pool quickly." + icon = 'icons/obj/pool.dmi' + icon_state = "ladder" + pixel_y = 12 + +GLOBAL_LIST_EMPTY(pool_filters) + +/obj/machinery/pool_filter + name = "Pool filter" + desc = "A device which can help you regulate conditions in a pool. Use a wrench to change its operating temperature, or hit it with a reagent container to load in new liquid to add to the pool." + icon = 'icons/obj/pool.dmi' + icon_state = "poolfilter" + pixel_y = 12 //So it sits above the water + idle_power_usage = IDLE_POWER_USE + var/id = null //change this if youre an annoying mapper who wants multiple pools per area. + var/list/pool = list() + var/desired_temperature = 300 //Room temperature + var/current_temperature = 300 //current temp + var/preset_reagent_type = null //Set this if you want your pump to start filled with a given reagent. SKEWIUM POOL SKEWIUM POOL! + +/obj/machinery/pool_filter/examine(mob/user) + . = ..() + . += "The thermostat on it reads [current_temperature]." + +/obj/machinery/pool_filter/Initialize() + . = ..() + create_reagents(100, OPENCONTAINER) //If you're a terrible terrible clown and want to dump reagents into the pool. + if(preset_reagent_type) + reagents.add_reagent(preset_reagent_type, 100) + var/area/AR = get_area(src) + for(var/turf/open/indestructible/sound/pool/water in get_area_turfs(AR)) + if(id && water.id != id) + continue //Not the same id. Fine. Ignore that one then! + pool += water + GLOB.pool_filters += src + +//Brick can set the pool to low temperatures remotely. This will probably be hell on malf! + +/obj/machinery/pool_filter/attack_robot(mob/user) + . = ..() + wrench_act(user, null) + +/obj/machinery/pool_filter/attack_ai(mob/user) + . = ..() + wrench_act(user, null) + +/obj/machinery/pool_filter/wrench_act(mob/living/user, obj/item/I) + . = ..() + var/newTemp = input(user, "Set a new temperature for [src] (Kelvin).", "[src]", null) as num + if(!newTemp) + return + newTemp = clamp(newTemp, T0C, 320) + desired_temperature = newTemp + return FALSE + +/obj/machinery/pool_filter/process() + if(!LAZYLEN(pool) || !is_operational()) + return //No use having one of these processing for no reason is there? + use_power(idle_power_usage) + var/delta = (current_temperature > desired_temperature) ? -0.5 : 0.5 + current_temperature += delta + current_temperature = clamp(current_temperature, T0C, desired_temperature) + var/trans_amount = reagents.total_volume / pool.len //Split up the reagents equally. + for(var/turf/open/indestructible/sound/pool/water as() in pool) + if(reagents.reagent_list.len) + water.set_colour(mix_color_from_reagents(reagents.reagent_list)) + else + water.set_colour("#009999") + if(water.contents.len && reagents.total_volume > 0) + for(var/mob/living/M in water) + if(!istype(M)) + continue + var/datum/reagents/splash_holder = new/datum/reagents(trans_amount) //Take some of our reagents out, react them with the pool denizens. + splash_holder.my_atom = water + reagents.trans_to(splash_holder, trans_amount, transfered_by = src) + splash_holder.chem_temp = current_temperature + if(prob(80)) + splash_holder.reaction(M, TOUCH) + else //Sometimes the water penetrates a lil deeper than just a splosh. + splash_holder.reaction(M, INGEST) + splash_holder.trans_to(M, trans_amount, transfered_by = src) //Actually put reagents in the mob + qdel(splash_holder) + var/mob/living/carbon/C = M + if(current_temperature <= 283.5) //Colder than 10 degrees is going to make you very cold + if(iscarbon(M)) + C.adjust_bodytemperature(-80, 80) + to_chat(M, "The water is freezing cold!") + else if(current_temperature >= 308.5) //Hotter than 35 celsius is going to make you burn up + if(iscarbon(M)) + C.adjust_bodytemperature(35, 0, 500) + M.adjustFireLoss(5) + to_chat(M, "The water is searing hot!") + +/obj/structure/pool_ladder/attack_hand(mob/user) + var/datum/component/swimming/S = user.GetComponent(/datum/component/swimming) + if(S) + to_chat(user, "You start to climb out of the pool...") + if(do_after(user, 1 SECONDS, target=src)) + S.RemoveComponent() + visible_message("[user] climbs out of the pool.") + user.forceMove(get_turf(get_step(src, NORTH))) //Ladders shouldn't adjoin another pool section. Ever. + else + to_chat(user, "You start to climb into the pool...") + var/turf/T = get_turf(src) + if(do_after(user, 1 SECONDS, target=src)) + if(!istype(T, /turf/open/indestructible/sound/pool)) //Ugh, fine. Whatever. + user.forceMove(get_turf(src)) + else + var/turf/open/indestructible/sound/pool/P = T + P.splash(user) + +/obj/structure/pool_ladder/attack_robot(mob/user) + . = ..() + attack_hand(user) diff --git a/code/modules/pool/pool_items.dm b/code/modules/pool/pool_items.dm new file mode 100644 index 000000000000..b54f5072cccd --- /dev/null +++ b/code/modules/pool/pool_items.dm @@ -0,0 +1,78 @@ +/obj/item/twohanded/required/pool + icon = 'icons/obj/pool.dmi' + lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items_righthand.dmi' + force = 0 + damtype = STAMINA + force_wielded = 5 + wieldsound = 'sound/weapons/tap.ogg' + unwieldsound = 'sound/weapons/tap.ogg' + w_class = WEIGHT_CLASS_BULKY + attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked") + +/obj/item/twohanded/required/pool/Initialize() + . = ..() + //Pick a random color + color = pick(COLOR_YELLOW, COLOR_LIME, COLOR_RED, COLOR_BLUE_LIGHT, COLOR_CYAN, COLOR_MAGENTA) + +/obj/item/twohanded/required/pool/rubber_ring + name = "inflatable" + desc = "An inflatable ring used for keeping people afloat. Throw at drowning people to save them." + icon_state = "rubber_ring" + +/obj/item/twohanded/required/pool/rubber_ring/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) + . = ..() + if(ishuman(hit_atom)) + var/mob/living/carbon/human/H = hit_atom + //Make sure they are in a pool + if(!istype(get_turf(H), /turf/open/indestructible/sound/pool)) + return + //Make sure they are alive and can pick it up + if(H.stat) + return + //Try shove it in their inventory + if(H.put_in_active_hand(src)) + visible_message("The [src] lands over [H]'s head!") + +/obj/item/twohanded/required/pool/pool_noodle + icon_state = "pool_noodle" + lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' + name = "pool noodle" + desc = "A long noodle made of foam. Helping those with fears of swimming swim since the 1980s." + var/suiciding = FALSE + +/obj/item/twohanded/required/pool/pool_noodle/attack(mob/target, mob/living/carbon/human/user) + . = ..() + if(wielded && prob(50)) + INVOKE_ASYNC(src, .proc/jedi_spin, user) + +/obj/item/twohanded/required/pool/pool_noodle/proc/jedi_spin(mob/living/user) //rip complex code, but this fucked up blocking + user.emote("flip") + +/obj/item/twohanded/required/pool/pool_noodle/suicide_act(mob/user) + if(suiciding) + return SHAME + suiciding = TRUE + user.visible_message("[user] begins kicking their legs to stay afloat!") + var/mob/living/L = user + if(istype(L)) + L.Immobilize(63) + animate(user, time=20, pixel_y=18) + sleep(20) + animate(user, time=10, pixel_y=12) + sleep(10) + user.visible_message("[user] keeps swimming higher and higher!") + animate(user, time=10, pixel_y=22) + sleep(10) + animate(user, time=10, pixel_y=16) + sleep(10) + animate(user, time=15, pixel_y=32) + sleep(15) + user.visible_message("[user] suddenly realised they aren't in the water and cannot float.") + animate(user, time=1, pixel_y=0) + sleep(1) + user.ghostize() + user.gib() + suiciding = FALSE + return MANUAL_SUICIDE diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index 6add2927d80d..d2ccb674dfb3 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 34bae4e97300..7f8dcfa9debd 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/weapons/melee_lefthand.dmi b/icons/mob/inhands/weapons/melee_lefthand.dmi index 50ae2fb1639d..551e45cd5428 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 24f4e1ab8210..21976c191fde 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/obj/pool.dmi b/icons/obj/pool.dmi new file mode 100644 index 000000000000..54135ea36349 Binary files /dev/null and b/icons/obj/pool.dmi differ diff --git a/sound/effects/splash.ogg b/sound/effects/splash.ogg new file mode 100644 index 000000000000..39b6e69c5d5b Binary files /dev/null and b/sound/effects/splash.ogg differ diff --git a/sound/effects/splosh.ogg b/sound/effects/splosh.ogg new file mode 100644 index 000000000000..ebb9c090f184 Binary files /dev/null and b/sound/effects/splosh.ogg differ diff --git a/yogstation.dme b/yogstation.dme index 7a8595e5b009..bc527422ad36 100644 --- a/yogstation.dme +++ b/yogstation.dme @@ -2631,6 +2631,13 @@ #include "code\modules\photography\photos\photo.dm" #include "code\modules\plumbing\ducts.dm" #include "code\modules\plumbing\plumbers\pumps.dm" +#include "code\modules\pool\pool.dm" +#include "code\modules\pool\pool_items.dm" +#include "code\modules\pool\components\swimming.dm" +#include "code\modules\pool\components\swimming_dissolve.dm" +#include "code\modules\pool\components\swimming_ethereal.dm" +#include "code\modules\pool\components\swimming_felinid.dm" +#include "code\modules\pool\components\swimming_golem.dm" #include "code\modules\power\apc.dm" #include "code\modules\power\cable.dm" #include "code\modules\power\cell.dm"