diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_comms_agent.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_comms_agent.dmm index 24e409e0f7c..61bc59a530a 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_comms_agent.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_underground_comms_agent.dmm @@ -463,7 +463,9 @@ /obj/item/reagent_containers/condiment/rice, /obj/item/reagent_containers/condiment/milk, /obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/sugar, /obj/structure/closet/secure_closet/freezer/empty, +/obj/item/knife/kitchen, /obj/item/storage/box/donkpockets, /obj/item/coffee_cartridge, /obj/item/coffee_cartridge/decaf, @@ -496,6 +498,7 @@ /obj/structure/closet/crate/freezer, /obj/item/food/grown/potato, /obj/item/food/grown/potato, +/obj/item/food/grown/carrot, /obj/item/food/grown/onion, /obj/item/food/grown/garlic, /turf/open/floor/iron/white, diff --git a/_maps/RandomRuins/SpaceRuins/whiteshipdock.dmm b/_maps/RandomRuins/SpaceRuins/whiteshipdock.dmm index ca8d7627ef7..963815016df 100644 --- a/_maps/RandomRuins/SpaceRuins/whiteshipdock.dmm +++ b/_maps/RandomRuins/SpaceRuins/whiteshipdock.dmm @@ -834,7 +834,7 @@ a a a a -b +a a a a @@ -1244,7 +1244,7 @@ a a a a -a +b a a a diff --git a/_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm b/_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm index 0665cfa7698..d0ad5d86b0c 100644 --- a/_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm +++ b/_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm @@ -9,6 +9,15 @@ }, /turf/open/floor/catwalk_floor, /area/station/science/server) +"aas" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/light/directional/west, +/obj/item/kirbyplants/random, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "aat" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -23,13 +32,25 @@ /obj/structure/showcase/machinery/implanter, /turf/open/floor/wood, /area/station/command/corporate_showroom) -"aaM" = ( -/obj/machinery/computer/atmos_control/nitrogen_tank, -/obj/effect/turf_decal/tile/red/half{ +"aaB" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) +/obj/item/radio/intercom/directional/east, +/obj/structure/rack, +/obj/item/book/manual/wiki/chemistry{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/book/manual/wiki/grenades{ + pixel_y = 1 + }, +/obj/item/book/manual/wiki/plumbing{ + pixel_x = 4; + pixel_y = -2 + }, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "aaO" = ( /obj/structure/plaque/static_plaque/golden{ desc = "Come get your own gold plaque!"; @@ -105,11 +126,6 @@ /obj/effect/turf_decal/tile/dark_green/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) -"abE" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/all/medical/pharmacy, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "abF" = ( /obj/structure/railing{ dir = 1 @@ -147,11 +163,6 @@ "abT" = ( /turf/closed/wall, /area/station/science/cytology) -"abW" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark/small, -/area/station/command/heads_quarters/ce) "abY" = ( /obj/machinery/modular_computer/preset/civilian{ dir = 1 @@ -211,6 +222,21 @@ }, /turf/open/misc/asteroid, /area/station/science/robotics) +"acQ" = ( +/obj/structure/table, +/obj/item/flashlight{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/item/flashlight{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "acU" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5{ dir = 5 @@ -279,24 +305,13 @@ }, /turf/open/floor/wood, /area/station/hallway/secondary/service) -"aeq" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_edge, -/area/station/medical/surgery) -"afg" = ( +"afj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) +/obj/structure/sign/poster/contraband/random/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "afk" = ( /obj/structure/flora/bush/pale/style_random, /obj/structure/flora/bush/ferny/style_random, @@ -307,15 +322,6 @@ /obj/structure/flora/bush/large/style_random, /turf/open/misc/asteroid, /area/station/science/xenobiology/hallway) -"afl" = ( -/obj/structure/sink/directional/west, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/general/visible, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) "afn" = ( /obj/structure/railing{ dir = 4 @@ -429,11 +435,24 @@ "agO" = ( /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) +"agP" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron/dark, +/area/station/science/lobby) "ahh" = ( /obj/effect/turf_decal/delivery, /obj/effect/spawner/random/vending/colavend, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"ahs" = ( +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/turret_protected/ai_upload) "ahC" = ( /obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_ordmix{ dir = 8 @@ -485,6 +504,9 @@ }, /turf/open/floor/iron/dark, /area/station/science/cytology) +"ahW" = ( +/turf/closed/wall, +/area/station/medical/chem_storage) "aia" = ( /obj/machinery/holopad, /obj/structure/cable, @@ -543,6 +565,10 @@ /obj/effect/turf_decal/trimline/brown/filled/line, /turf/open/floor/iron, /area/station/cargo/storage) +"aiR" = ( +/obj/machinery/camera/autoname/motion/directional/north, +/turf/open/openspace, +/area/station/ai_monitored/turret_protected/ai_upload) "aiY" = ( /obj/structure/railing{ dir = 1 @@ -551,6 +577,15 @@ /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"ajl" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "ajB" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -586,15 +621,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/aisat/foyer) -"ajU" = ( -/obj/structure/table/optable, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, -/obj/item/surgical_drapes, -/obj/machinery/airalarm/directional/south, -/obj/machinery/light/directional/south, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) "ajV" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -615,6 +641,13 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/station/science/xenobiology/hallway) +"akc" = ( +/obj/machinery/porta_turret/ai{ + dir = 4 + }, +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/ai_monitored/turret_protected/ai_upload) "akh" = ( /obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -762,19 +795,12 @@ }, /turf/open/floor/catwalk_floor, /area/station/engineering/atmos/upper) -"als" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/green/filled/mid_joiner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/sorting/mail, -/obj/effect/mapping_helpers/mail_sorting/medbay/virology, -/turf/open/floor/iron/textured_large, -/area/station/medical/virology) +"alm" = ( +/obj/effect/turf_decal/siding/brown, +/obj/structure/closet/masks, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation) "alx" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -808,6 +834,14 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"alV" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/structure/reagent_dispensers/plumbed/storage, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "ame" = ( /obj/machinery/newscaster/directional/west, /obj/machinery/light/directional/west, @@ -820,6 +854,14 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/warden) +"amg" = ( +/obj/structure/chair/office/light{ + dir = 1 + }, +/obj/effect/landmark/start/chemist, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "ams" = ( /obj/effect/turf_decal/bot, /obj/effect/turf_decal/siding/blue/corner{ @@ -852,6 +894,15 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/dark/textured_half, /area/station/ai_monitored/turret_protected/aisat/foyer) +"amH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/access/all/medical/virology, +/obj/machinery/door/airlock/virology/glass{ + name = "Entrance to Malpractice Tower" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/textured_large, +/area/station/medical/virology) "amJ" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -874,6 +925,14 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/port) +"ank" = ( +/obj/machinery/light/directional/east, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "anm" = ( /turf/closed/wall, /area/station/service/library/printer) @@ -917,19 +976,25 @@ "anY" = ( /turf/open/floor/engine/hull/air, /area/station/maintenance/port/fore) +"aof" = ( +/obj/structure/table, +/obj/machinery/status_display/ai/directional/north, +/obj/item/analyzer, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "aoh" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/engineering/tank, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"aoz" = ( -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured_corner{ - dir = 1 - }, -/area/station/medical/morgue) +"aoF" = ( +/obj/structure/cable, +/obj/machinery/light/directional/west, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "aoK" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/athletic_mixed, @@ -1081,6 +1146,15 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"aqN" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/textured_large, +/area/station/medical/virology) "aqQ" = ( /obj/item/kirbyplants/photosynthetic, /obj/effect/spawner/random/trash/mess, @@ -1093,6 +1167,17 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/port) +"aqV" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/structure/closet/secure_closet/chemical, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/structure/sign/warning/explosives/directional/west, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "aqZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1101,14 +1186,18 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"are" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 +"arl" = ( +/obj/effect/spawner/random/food_or_drink/refreshing_beverage{ + pixel_x = 5; + pixel_y = 9 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) +/obj/structure/table, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) +"arr" = ( +/obj/structure/table/optable, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "ars" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -1146,11 +1235,6 @@ /obj/item/radio/intercom/directional/west, /turf/open/openspace, /area/station/science/xenobiology) -"arD" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/cyan/visible, -/obj/machinery/meter, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/upper) "arK" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/machinery/light/directional/east, @@ -1187,11 +1271,6 @@ /obj/effect/landmark/start/cook, /turf/open/floor/glass, /area/station/service/kitchen) -"ast" = ( -/obj/structure/ladder, -/obj/effect/turf_decal/stripes/box, -/turf/open/floor/iron/smooth, -/area/station/engineering/hallway) "asx" = ( /obj/structure/lattice/catwalk, /obj/structure/railing/corner{ @@ -1200,6 +1279,16 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/openspace, /area/station/hallway/secondary/exit/departure_lounge) +"asy" = ( +/obj/machinery/smartfridge/chemistry/preloaded, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "chemshutters"; + name = "Pharmacy Shutters" + }, +/turf/open/floor/plating, +/area/station/medical/pharmacy) "asz" = ( /obj/effect/turf_decal/siding/blue{ dir = 1 @@ -1231,16 +1320,23 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/port) -"asY" = ( -/obj/structure/cable, -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 +"asR" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/item/clothing/gloves/latex/nitrile, +/obj/item/wrench/medical, +/obj/structure/table/reinforced/rglass, +/obj/item/gun/syringe{ + desc = "The Holy Syringe Gun. Identical to the regular syringe gun. You have a feeling that you shouldn't touch this."; + name = "Holy Syringe Gun"; + pixel_x = -3; + pixel_y = 3 }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) +/obj/machinery/door/window/right/directional/west{ + name = "First Aid Supplies"; + req_access = list("medical") + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "ata" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -1301,12 +1397,6 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"atW" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark/small, -/area/station/command/heads_quarters/ce) "aud" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1391,6 +1481,9 @@ /obj/structure/broken_flooring/pile/directional/west, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"auW" = ( +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "auX" = ( /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -1399,39 +1492,22 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/dark, /area/station/security/brig) -"avb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/landmark/start/hangover, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "avc" = ( /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/cargo/storage) -"avY" = ( -/obj/item/storage/medkit/regular{ - pixel_x = 3; - pixel_y = -3 +"avk" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 }, -/obj/item/storage/medkit/o2{ - pixel_x = 3; - pixel_y = 3 +/obj/effect/turf_decal/trimline/blue/arrow_ccw{ + dir = 4 }, -/obj/item/storage/medkit/o2, -/obj/item/storage/medkit/o2{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/structure/table/reinforced, -/obj/structure/lattice/catwalk, -/obj/machinery/door/window/right/directional/west{ - name = "First Aid Supplies"; - req_access = list("medical") - }, -/turf/open/openspace, -/area/station/medical/storage) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "avZ" = ( /obj/structure/railing{ dir = 4 @@ -1489,11 +1565,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"axn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) +"awT" = ( +/obj/structure/closet/secure_closet/personal/patient, +/obj/machinery/light/floor{ + color = "#66ccff" + }, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/warning{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 4 + }, +/area/station/medical/cryo) "axr" = ( /obj/structure/railing{ dir = 4 @@ -1504,21 +1590,26 @@ /obj/machinery/door/firedoor/border_only, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) +"axt" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/port) "axC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured, /area/station/science/xenobiology) -"axN" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Medbay Maintenance" - }, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/medical/abandoned) +"axF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "axQ" = ( /obj/effect/turf_decal/tile/purple/opposingcorners, /turf/open/floor/iron/dark, @@ -1527,6 +1618,27 @@ /obj/effect/turf_decal/bot/right, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) +"ayh" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay Staff Entrance" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) +"ayk" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/sign/eyechart/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "ayn" = ( /obj/effect/turf_decal/siding/brown{ dir = 9 @@ -1689,6 +1801,28 @@ }, /turf/open/floor/iron, /area/station/science/robotics) +"aAP" = ( +/obj/structure/ladder, +/obj/effect/turf_decal/stripes/white/box, +/turf/open/floor/plating, +/area/station/maintenance/port) +"aAW" = ( +/obj/structure/lattice/catwalk, +/obj/effect/turf_decal/siding/blue/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/openspace, +/area/station/medical/medbay/central) +"aBc" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/openspace, +/area/station/medical/medbay/central) "aBl" = ( /obj/structure/bookcase/random, /turf/open/floor/wood/large, @@ -1714,36 +1848,11 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/engine, /area/station/engineering/break_room) -"aBy" = ( -/obj/structure/table/wood, -/obj/machinery/fax{ - fax_name = "Chief Medical Officer's Office"; - name = "Chief Medical Officer's Fax Machine" - }, -/obj/machinery/keycard_auth/wall_mounted/directional/north, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "aBF" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/science/xenobiology/hallway) -"aBN" = ( -/obj/structure/railing{ - dir = 9 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 9 - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) "aBO" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -1803,6 +1912,20 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/rd) +"aCw" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/structure/chair{ + dir = 4; + pixel_y = -2 + }, +/obj/effect/landmark/start/paramedic, +/turf/open/floor/glass, +/area/station/medical/medbay/central) "aCA" = ( /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 1 @@ -1832,25 +1955,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"aDh" = ( -/obj/structure/rack, -/obj/item/cardboard_cutout{ - pixel_x = -5 - }, -/obj/item/cardboard_cutout, -/obj/item/cardboard_cutout{ - pixel_x = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/port) -"aDm" = ( -/obj/effect/turf_decal/tile/red/half/contrasted, -/obj/machinery/holopad, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured_edge{ - dir = 1 - }, -/area/station/medical/morgue) "aDp" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 10 @@ -1897,24 +2001,15 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"aDY" = ( -/obj/machinery/door/airlock/virology{ - autoclose = 0; - frequency = 1449; - id_tag = "virology_airlock_interior"; - name = "Malpractice Tower Exterior Airlock" +"aEl" = ( +/obj/effect/turf_decal/siding/blue/corner{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "viro-passthrough" +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 }, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/medical/virology, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/virology) +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "aEm" = ( /obj/effect/turf_decal/siding/purple{ dir = 1 @@ -1924,6 +2019,11 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/explab) +"aEp" = ( +/obj/machinery/light/directional/west, +/obj/structure/sign/departments/aiupload/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "aEr" = ( /obj/machinery/atmospherics/components/binary/pump/off{ dir = 8; @@ -1941,6 +2041,13 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/port) +"aEQ" = ( +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) "aET" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 4 @@ -1953,9 +2060,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) +"aEY" = ( +/obj/structure/sign/departments/chemistry/directional/south, +/turf/open/floor/engine/hull/air, +/area/station/medical/medbay/central) "aEZ" = ( /turf/open/floor/iron, /area/station/science/breakroom) +"aFa" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/structure/reagent_dispensers/plumbed/storage, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "aFg" = ( /turf/open/openspace, /area/station/maintenance/starboard/aft) @@ -1992,6 +2110,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/smooth_large, /area/station/security/execution/transfer) +"aFN" = ( +/obj/effect/turf_decal/siding/brown, +/obj/structure/closet/boxinggloves, +/obj/effect/landmark/start/hangover, +/obj/machinery/light/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation) "aFP" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -2099,6 +2224,19 @@ dir = 8 }, /area/station/hallway/primary/fore) +"aHx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/camera/autoname/directional/west, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "aHD" = ( /obj/machinery/door/airlock/maintenance{ name = "Virology Maintenance" @@ -2209,16 +2347,6 @@ /obj/machinery/holopad/secure, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/ai_upload) -"aIV" = ( -/obj/machinery/door/airlock/atmos/glass{ - name = "Atmospherics" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "aJg" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/service/theatre, @@ -2239,11 +2367,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) -"aJt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/engineering/atmos/upper) "aJu" = ( /obj/structure/sign/poster/official/random/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -2297,22 +2420,6 @@ }, /turf/open/floor/catwalk_floor, /area/station/engineering/atmos/upper) -"aKz" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/closet, -/obj/effect/spawner/random/aimodule/harmful{ - pixel_y = 5 - }, -/obj/item/ai_module/reset/purge{ - pixel_y = -2 - }, -/obj/item/stack/cable_coil, -/obj/effect/decal/cleanable/blood/oil, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) "aKA" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/extinguisher_cabinet/directional/west, @@ -2380,6 +2487,11 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) +"aLt" = ( +/obj/machinery/airalarm/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "aLu" = ( /obj/item/paint/white{ pixel_x = 11; @@ -2457,6 +2569,12 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"aMn" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "aMq" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -2481,14 +2599,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"aMK" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "main_surgery" - }, -/obj/machinery/smartfridge/organ, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) "aMM" = ( /obj/effect/decal/cleanable/plasma, /obj/item/stack/rods/two, @@ -2499,6 +2609,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"aMV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/glass, +/area/station/maintenance/port) "aNb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -2526,6 +2642,21 @@ /obj/machinery/light/small/broken/directional/east, /turf/open/floor/eighties, /area/station/maintenance/starboard/fore) +"aNz" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay Hallway & Break Room" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/textured_large, +/area/station/medical/medbay/central) "aNB" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 @@ -2699,6 +2830,13 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) +"aQl" = ( +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "aQu" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -2719,6 +2857,10 @@ /obj/structure/table, /turf/open/floor/iron/dark/textured, /area/station/science/xenobiology) +"aQI" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/medical/office) "aQM" = ( /obj/structure/extinguisher_cabinet/directional/west, /obj/effect/turf_decal/siding/brown{ @@ -2726,6 +2868,13 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) +"aQS" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "aRa" = ( /obj/effect/turf_decal/trimline/red/corner{ dir = 1 @@ -2747,11 +2896,30 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/catwalk_floor, /area/station/science/server) +"aRc" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/plasma_output, +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos/upper) "aRg" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"aRs" = ( +/obj/structure/rack, +/obj/effect/spawner/random/techstorage/custom_shuttle, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) +"aRu" = ( +/obj/effect/turf_decal/siding/dark_blue/corner{ + dir = 4 + }, +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "aRy" = ( /obj/structure/railing/corner/end/flip{ dir = 4 @@ -2762,15 +2930,6 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"aSb" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/turf_decal/bot, -/obj/machinery/atmospherics/components/unary/thermomachine/heater{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "aSd" = ( /obj/structure/window/reinforced/tinted/spawner/directional/east, /obj/machinery/shower/directional/east, @@ -2782,6 +2941,11 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) +"aSA" = ( +/obj/structure/cable, +/obj/item/airlock_painter/decal, +/turf/open/floor/plating, +/area/station/maintenance/port) "aSB" = ( /turf/open/floor/engine/hull/air, /area/station/engineering/break_room) @@ -2828,20 +2992,6 @@ /obj/structure/disposalpipe/trunk/multiz, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"aTj" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/machinery/requests_console/directional/south{ - department = "Engineering"; - name = "Engineering Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/machinery/meter, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "aTt" = ( /turf/open/floor/wood/large, /area/station/service/library) @@ -2876,6 +3026,23 @@ /obj/structure/window/spawner/directional/west, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"aTQ" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/table, +/obj/item/flashlight/lamp, +/obj/item/folder/white{ + pixel_x = -6 + }, +/obj/machinery/light_switch/directional/west{ + pixel_x = -22 + }, +/obj/machinery/requests_console/auto_name/directional/south, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/turf/open/floor/iron/white, +/area/station/medical/office) "aTS" = ( /obj/structure/table, /obj/item/wrench{ @@ -3064,31 +3231,9 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"aVL" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/wall_healer/directional/north, -/obj/machinery/camera/autoname/directional/north{ - network = list("ss13","medbay"); - c_tag = "Medbay - Lobby" - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "aVN" = ( /turf/closed/wall, /area/station/command/teleporter) -"aVO" = ( -/obj/machinery/light_switch/directional/east, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "aVP" = ( /obj/machinery/duct, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -3111,14 +3256,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"aWk" = ( -/obj/machinery/light/directional/west, -/obj/machinery/camera/autoname/directional/west{ - c_tag = "Medbay - Upper Chief Medical Office West"; - network = list("ss13","medbay") - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "aWm" = ( /turf/open/floor/iron/dark/smooth_large, /area/station/security/lockers) @@ -3181,6 +3318,35 @@ "aXe" = ( /turf/closed/wall, /area/station/service/theater) +"aXf" = ( +/obj/machinery/airalarm/directional/south, +/obj/machinery/camera/autoname/directional/east, +/obj/item/toy/plush/lizard_plushie/green{ + name = "Endures-The-Blast"; + pixel_y = 10; + pixel_x = -8 + }, +/obj/structure/sign/warning/explosives/directional/east, +/obj/structure/closet/crate/robust{ + name = "Risk Management Supply Crate"; + anchored = 1 + }, +/obj/item/clothing/suit/utility/bomb_suit/white{ + pixel_x = 5; + pixel_y = 5; + name = "Personal Liability Mitigation Suit" + }, +/obj/item/clothing/head/utility/bomb_hood/white{ + pixel_x = -7; + pixel_y = -2; + name = "Cranial Hazard Guard" + }, +/obj/item/clothing/mask/gas{ + pixel_x = 5; + name = "Controlled Atmosphere Mask" + }, +/turf/open/floor/engine, +/area/station/medical/chemistry) "aXm" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3197,18 +3363,6 @@ /obj/structure/showcase/horrific_experiment, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/lesser) -"aXH" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "aXN" = ( /obj/structure/rack, /obj/item/storage/box/lights/mixed, @@ -3221,11 +3375,6 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/engine/hull/air, /area/station/hallway/secondary/exit/departure_lounge) -"aXW" = ( -/obj/structure/lattice/catwalk, -/obj/structure/ladder, -/turf/open/openspace, -/area/station/security/checkpoint/customs) "aXZ" = ( /obj/effect/turf_decal/tile/green/opposingcorners{ dir = 1 @@ -3251,9 +3400,6 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark, /area/station/commons/storage/art) -"aYm" = ( -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/medbay/central) "aYq" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/spawner/random/bureaucracy/paper, @@ -3298,6 +3444,13 @@ }, /turf/open/floor/wood, /area/station/security/courtroom) +"aYW" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "aZd" = ( /obj/effect/turf_decal/siding/green, /obj/effect/spawner/random/engineering/tracking_beacon, @@ -3355,15 +3508,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/command) -"aZP" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "viro-passthrough" - }, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port) "aZQ" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /obj/machinery/air_sensor/incinerator_tank, @@ -3383,6 +3527,13 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter) +"bag" = ( +/obj/machinery/computer/atmos_control/oxygen_tank, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "bam" = ( /obj/machinery/duct, /obj/structure/cable, @@ -3442,11 +3593,41 @@ }, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) +"bbf" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","medbay"); + c_tag = "Medbay - Lower Central Hallway" + }, +/obj/machinery/firealarm/directional/west{ + pixel_x = -20 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "bbj" = ( /obj/structure/lattice/catwalk, /obj/machinery/camera/autoname/directional/west, /turf/open/openspace, /area/station/hallway/primary/central) +"bbm" = ( +/obj/item/clothing/under/color/grey, +/obj/item/clothing/head/cone{ + pixel_x = -4; + pixel_y = -13 + }, +/obj/item/clothing/head/cone{ + pixel_x = -4; + pixel_y = -13 + }, +/obj/structure/rack, +/obj/machinery/camera/autoname/directional/west, +/obj/item/flashlight, +/obj/item/radio/intercom/directional/north, +/obj/item/wrench, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "bbx" = ( /obj/structure/lattice/catwalk, /turf/open/openspace, @@ -3533,6 +3714,15 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark, /area/station/command/corporate_showroom) +"bcI" = ( +/obj/machinery/meter{ + name = "Mix Meter" + }, +/obj/machinery/atmospherics/pipe/multiz/violet/visible{ + name = "Mix Multideck Adapter" + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "bcQ" = ( /obj/structure/sign/warning/vacuum/directional/north, /obj/effect/turf_decal/stripes/line{ @@ -3643,6 +3833,13 @@ "beg" = ( /turf/closed/wall/r_wall, /area/station/security/prison/safe) +"ber" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "beF" = ( /obj/structure/table/wood/fancy, /obj/item/lead_pipe{ @@ -3666,12 +3863,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) -"bfh" = ( -/obj/structure/lattice/catwalk, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/machinery/suit_storage_unit/medical, -/turf/open/openspace, -/area/station/medical/storage) "bfj" = ( /obj/structure/broken_flooring/corner/directional/south, /obj/structure/sign/poster/official/safety_internals/directional/north, @@ -3684,16 +3875,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"bfq" = ( -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) "bfw" = ( /obj/structure/window/spawner/directional/north, /turf/open/floor/wood, @@ -3725,6 +3906,11 @@ /obj/structure/stairs/south, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"bgp" = ( +/obj/machinery/airalarm/directional/north, +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/engineering/atmos/project) "bgA" = ( /obj/machinery/suit_storage_unit{ storage_type = /obj/item/clothing/shoes/magboots @@ -3739,6 +3925,10 @@ /obj/effect/turf_decal/tile/purple/opposingcorners, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/aft) +"bgE" = ( +/obj/machinery/suit_storage_unit/atmos, +/turf/open/floor/glass/reinforced/plasma, +/area/station/engineering/atmos/project) "bgT" = ( /obj/structure/railing{ dir = 8 @@ -3770,10 +3960,26 @@ /obj/machinery/telecomms/hub/preset, /turf/open/floor/iron/dark, /area/station/tcommsat/server) +"bhn" = ( +/obj/machinery/air_sensor/carbon_tank, +/obj/structure/window/reinforced/plasma/spawner/directional/south, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos/upper) "bht" = ( /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/engine/hull/reinforced, /area/space/nearstation) +"bhI" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/arrow_ccw{ + dir = 4 + }, +/obj/item/kirbyplants/random, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "bhJ" = ( /obj/structure/easel, /turf/open/floor/plating, @@ -3786,6 +3992,11 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/station/cargo/storage) +"bhQ" = ( +/obj/structure/cable/multilayer/multiz, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/station/solars/starboard/fore) "bhU" = ( /obj/machinery/igniter/incinerator_ordmix, /obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer4{ @@ -3814,11 +4025,6 @@ }, /turf/open/floor/engine/hull, /area/space/nearstation) -"bit" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/textured_large, -/area/station/medical/abandoned) "bix" = ( /obj/machinery/camera/autoname/directional/east, /turf/open/floor/engine, @@ -3897,15 +4103,16 @@ "bjq" = ( /turf/open/floor/plating, /area/station/maintenance/department/science/central) +"bjA" = ( +/obj/structure/lattice/catwalk, +/obj/item/radio/intercom/directional/north, +/turf/open/openspace, +/area/station/engineering/atmos/project) "bjD" = ( /obj/effect/spawner/random/maintenance, /obj/structure/rack, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"bjK" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) "bkc" = ( /obj/machinery/light/warm/directional/west, /obj/machinery/computer/mech_bay_power_console{ @@ -3947,15 +4154,6 @@ }, /turf/open/floor/wood, /area/station/security/courtroom) -"bkv" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) "bkA" = ( /obj/effect/turf_decal/delivery, /obj/effect/spawner/random/entertainment/arcade{ @@ -3963,15 +4161,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"bkD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/effect/landmark/blobstart, -/obj/machinery/light/floor, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "bkO" = ( /obj/structure/sign/clock/directional/east, /obj/effect/decal/cleanable/dirt/dust, @@ -3981,6 +4170,18 @@ }, /turf/open/floor/iron/small, /area/station/security/mechbay) +"blb" = ( +/obj/effect/turf_decal/bot, +/obj/structure/sign/warning/fire/directional/east, +/turf/open/floor/iron/dark/textured_large, +/area/station/engineering/atmos/upper) +"blf" = ( +/obj/structure/lattice/catwalk, +/obj/structure/ladder, +/obj/machinery/computer/security/telescreen/aiupload/directional/north, +/obj/structure/reagent_dispensers/wall/peppertank/directional/west, +/turf/open/openspace, +/area/station/security/checkpoint/customs) "blh" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/trunk/multiz{ @@ -4008,6 +4209,20 @@ /obj/structure/rack, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"blr" = ( +/obj/machinery/newscaster/directional/east, +/obj/machinery/light_switch/directional/north, +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","medbay"); + c_tag = "Medbay - Upper Cryo" + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 5 + }, +/turf/open/floor/holofloor/dark, +/area/station/command/heads_quarters/cmo) "blz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -4075,6 +4290,24 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) +"bmd" = ( +/obj/structure/table, +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/item/book/manual/wiki/research_and_development{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/book/manual/wiki/robotics_cyborgs{ + pixel_x = -1; + pixel_y = 7 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/turret_protected/ai_upload_foyer) "bmg" = ( /obj/effect/turf_decal/trimline/dark_blue/line{ dir = 4 @@ -4093,12 +4326,6 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"bmq" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 5 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "bmx" = ( /obj/structure/transport/linear/public, /turf/open/openspace, @@ -4152,10 +4379,6 @@ }, /turf/open/floor/iron, /area/station/science/explab) -"bmQ" = ( -/obj/structure/musician/piano, -/turf/open/floor/plating, -/area/station/maintenance/port) "bmS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -4171,6 +4394,31 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"bnv" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/chair/sofa/bench/solo{ + dir = 4 + }, +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) +"bnM" = ( +/obj/machinery/light/floor{ + color = "#66ccff" + }, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/warning{ + dir = 4 + }, +/obj/structure/closet/secure_closet/personal/patient, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 1 + }, +/area/station/medical/cryo) "bnO" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/directional/west, @@ -4204,10 +4452,6 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) -"boa" = ( -/obj/structure/cable/multilayer/multiz, -/turf/open/floor/plating, -/area/station/solars/starboard/fore) "boh" = ( /obj/item/radio/intercom/directional/east, /obj/structure/lattice/catwalk, @@ -4233,10 +4477,6 @@ /obj/structure/grille, /turf/open/floor/engine/hull, /area/space/nearstation) -"boP" = ( -/obj/item/chair, -/turf/open/floor/iron/textured_large, -/area/space/nearstation) "boS" = ( /obj/structure/rack, /obj/item/gun/energy/laser/redtag, @@ -4254,6 +4494,11 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port) +"boZ" = ( +/obj/machinery/status_display/ai/directional/west, +/obj/structure/railing, +/turf/open/openspace, +/area/station/medical/medbay/central) "bpl" = ( /obj/structure/railing{ dir = 8 @@ -4306,18 +4551,15 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"bpH" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "bpK" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/hos) -"bpU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/showcase/machinery/cloning_pod{ - desc = "An old prototype cloning pod, permanently decommissioned following the incident."; - name = "decommissioned cloner" - }, -/obj/effect/decal/cleanable/greenglow, -/turf/open/floor/iron/white, -/area/station/medical/abandoned) "bpZ" = ( /obj/machinery/portable_atmospherics/canister, /obj/machinery/light_switch/directional/east, @@ -4369,6 +4611,15 @@ /obj/item/storage/toolbox/artistic, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"bqI" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "bqR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -4397,12 +4648,11 @@ /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) "brf" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/openspace, -/area/station/engineering/atmos/project) +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "brm" = ( /obj/effect/turf_decal/stripes/red/line, /obj/effect/turf_decal/stripes/red/line{ @@ -4427,11 +4677,6 @@ /obj/machinery/vending/cigarette, /turf/open/openspace, /area/station/construction/storage_wing) -"bsa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) "bsc" = ( /obj/effect/spawner/random/trash/graffiti, /obj/effect/spawner/random/trash/box, @@ -4455,6 +4700,14 @@ /obj/structure/cable, /turf/open/floor/iron/white/smooth_edge, /area/station/ai_monitored/turret_protected/aisat/foyer) +"bsw" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "bsx" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -4482,28 +4735,6 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) -"bsK" = ( -/obj/structure/table, -/obj/item/folder/white{ - pixel_x = 6 - }, -/obj/item/paper_bin{ - pixel_x = 6; - pixel_y = 12 - }, -/obj/item/pen{ - pixel_x = 6; - pixel_y = 12 - }, -/obj/machinery/reagentgrinder{ - pixel_x = -8; - pixel_y = 8 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) "bsW" = ( /obj/machinery/airalarm/directional/south, /obj/effect/turf_decal/tile/dark_green{ @@ -4527,6 +4758,16 @@ /obj/item/hand_labeler_refill, /turf/open/floor/plating/airless, /area/station/maintenance/port/aft) +"bte" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 10 + }, +/obj/machinery/pdapainter/medbay, +/turf/open/floor/holofloor/dark, +/area/station/command/heads_quarters/cmo) "btj" = ( /obj/machinery/vending/donksnack, /turf/open/floor/iron/dark, @@ -4571,24 +4812,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"btJ" = ( -/obj/structure/chair/sofa/corp, -/obj/item/clothing/head/soft/blue, -/obj/machinery/camera/autoname/directional/north{ - network = list("ss13","medbay"); - c_tag = "Medbay - Lower Break Room" - }, -/turf/open/floor/wood/parquet, -/area/station/medical/break_room) -"buh" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull/air, -/area/station/medical/chemistry) -"buk" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/yellow/fourcorners, -/turf/open/floor/iron/white/textured, -/area/station/medical/surgery) +"buc" = ( +/obj/structure/table, +/obj/item/storage/toolbox/emergency, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/aft) "buu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -4598,6 +4826,14 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"buw" = ( +/obj/structure/ladder, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "buA" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 @@ -4606,6 +4842,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"buF" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/engine, +/area/station/engineering/atmos/project) "buP" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/machinery/light_switch/directional/north, @@ -4657,14 +4900,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"bvH" = ( -/obj/item/airlock_painter/decal, -/obj/item/poster/random_official, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port) "bvI" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/effect/landmark/event_spawn, @@ -4747,12 +4982,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/circuit/telecomms, /area/station/science/xenobiology) -"bxa" = ( -/obj/effect/turf_decal/siding/blue/corner{ - dir = 1 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "bxd" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos/hfr_room) @@ -4820,9 +5049,18 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"bxZ" = ( -/turf/open/floor/glass, -/area/station/maintenance/port) +"byb" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "byf" = ( /turf/open/floor/engine/hull/air, /area/station/construction/storage_wing) @@ -4836,14 +5074,6 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"byA" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/hfr_room) "byC" = ( /obj/machinery/button/door/directional/east{ id = "Prison Gate"; @@ -4914,14 +5144,6 @@ "bzB" = ( /turf/closed/wall/r_wall, /area/station/science/robotics) -"bzK" = ( -/obj/structure/table, -/obj/effect/spawner/random/food_or_drink/refreshing_beverage{ - pixel_x = 5; - pixel_y = 9 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "bzL" = ( /obj/effect/decal/cleanable/plasma, /turf/open/floor/plating, @@ -4937,6 +5159,12 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/central) +"bzR" = ( +/obj/structure/railing/corner, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue/full, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "bzS" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ @@ -4960,6 +5188,10 @@ /obj/effect/spawner/random/maintenance, /turf/open/openspace, /area/station/hallway/primary/central) +"bzW" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "bAh" = ( /obj/machinery/door/airlock/hatch{ name = "MiniSat Foyer" @@ -5012,6 +5244,25 @@ "bAW" = ( /turf/open/floor/iron, /area/station/engineering/lobby) +"bAZ" = ( +/obj/effect/turf_decal/tile/blue/half, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) +"bBf" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) +"bBm" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/engineering/main) "bBp" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -5052,12 +5303,6 @@ dir = 1 }, /area/station/science/robotics) -"bBy" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/textured_large, -/area/station/medical/virology) "bBB" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/shrink_ccw{ dir = 1 @@ -5120,6 +5365,15 @@ }, /turf/open/floor/iron/checker, /area/station/service/janitor) +"bCr" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "bCv" = ( /obj/structure/railing{ dir = 4 @@ -5181,6 +5435,13 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) +"bDo" = ( +/obj/structure/cable, +/obj/structure/bodycontainer/morgue{ + dir = 2 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "bDq" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -5219,6 +5480,13 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/aisat/foyer) +"bEj" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "bEp" = ( /obj/machinery/firealarm/directional/south, /turf/open/floor/plating, @@ -5264,23 +5532,6 @@ /obj/machinery/wall_healer/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"bES" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"bEU" = ( -/obj/structure/closet/crate/trashcart/filled, -/obj/structure/disposalpipe/trunk/multiz{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/port) "bFb" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -5339,6 +5590,16 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/dark, /area/station/security/brig) +"bFM" = ( +/obj/machinery/light_switch/directional/east, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/chem_storage) "bGa" = ( /obj/structure/railing{ dir = 4 @@ -5396,6 +5657,13 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/art) +"bGQ" = ( +/obj/effect/turf_decal/bot_white{ + color = "#52B4E9" + }, +/obj/machinery/cryo_cell, +/turf/open/floor/iron/dark/textured, +/area/station/medical/cryo) "bGX" = ( /obj/effect/turf_decal/arrows/white{ dir = 4 @@ -5434,23 +5702,18 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/security/checkpoint/supply) -"bHd" = ( -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"bHj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, +"bHf" = ( /obj/structure/cable, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/cmo) "bHn" = ( /obj/effect/turf_decal/trimline/dark_green/filled/line{ dir = 4 @@ -5476,10 +5739,47 @@ }, /turf/open/floor/plating, /area/station/security/execution/education) +"bHz" = ( +/obj/structure/rack, +/obj/item/reagent_containers/cup/bottle/ethanol{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bottle/carbon{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bottle/chlorine{ + pixel_x = 1 + }, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/chem_storage) "bHB" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark/textured, /area/station/science/xenobiology) +"bHE" = ( +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "bHG" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/effect/decal/cleanable/dirt, @@ -5501,25 +5801,6 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/plating/airless, /area/station/maintenance/starboard/lesser) -"bHV" = ( -/obj/structure/table, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 4 - }, -/obj/item/stack/medical/mesh{ - pixel_y = 4 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) -"bIh" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/glass/reinforced, -/area/station/solars/starboard/fore) "bIi" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/wood, @@ -5529,18 +5810,25 @@ /obj/machinery/light/floor, /turf/open/floor/iron/textured_large, /area/station/security/prison/rec) -"bIo" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "bIp" = ( /obj/structure/dresser, /obj/machinery/status_display/ai/directional/north, /obj/machinery/airalarm/directional/east, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) +"bIq" = ( +/obj/effect/turf_decal/trimline/blue/filled/end{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "bIF" = ( /obj/machinery/atmospherics/components/binary/pump/layer4, /obj/item/storage/box/matches{ @@ -5616,15 +5904,6 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"bIZ" = ( -/obj/structure/closet/secure_closet/security/med, -/obj/item/book/manual/wiki/security_space_law, -/obj/structure/reagent_dispensers/wall/peppertank/directional/east, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) "bJj" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -5713,11 +5992,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/openspace, /area/station/engineering/lobby) -"bKp" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/iron/dark/textured_large, -/area/station/engineering/atmos/upper) "bKs" = ( /obj/structure/chair/office{ dir = 8 @@ -5751,6 +6025,10 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) +"bKI" = ( +/obj/structure/broken_flooring/pile/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "bKK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -5775,6 +6053,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/smooth_large, /area/station/security/brig) +"bKY" = ( +/obj/machinery/requests_console/directional/west, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/structure/chair/office, +/obj/effect/turf_decal/trimline/yellow/filled/warning, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) +"bLc" = ( +/obj/machinery/firealarm/directional/east, +/obj/machinery/atmospherics/components/unary/thermomachine/freezer, +/turf/open/floor/iron/dark, +/area/station/medical/cryo) "bLf" = ( /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/flora/bush/ferny/style_random, @@ -5787,6 +6078,11 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron/dark/smooth_large, /area/station/science/lab) +"bLt" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/carpet/black, +/area/station/ai_monitored/turret_protected/ai_upload) "bLu" = ( /obj/machinery/light/directional/east, /obj/machinery/camera/autoname/directional/east, @@ -5806,13 +6102,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/lesser) -"bLK" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) "bLL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/smooth_large, @@ -5823,12 +6112,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"bLZ" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2o{ - dir = 8 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "bMa" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/decal/cleanable/dirt, @@ -5882,6 +6165,20 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"bMl" = ( +/obj/structure/table, +/obj/item/stock_parts/subspace/analyzer, +/obj/item/stock_parts/subspace/analyzer, +/obj/item/stock_parts/subspace/analyzer, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Telecomms - Storage" + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tcomms) "bMo" = ( /obj/machinery/door/airlock/public/glass{ name = "Arrivals Lounge" @@ -5895,16 +6192,21 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) -"bMt" = ( -/obj/machinery/suit_storage_unit/atmos, -/turf/open/floor/glass/reinforced/plasma, -/area/station/engineering/atmos/project) "bMw" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/security/office) +"bMY" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding/dark_blue{ + dir = 10 + }, +/obj/effect/landmark/event_spawn, +/obj/item/kirbyplants/random, +/turf/open/floor/carpet/blue, +/area/station/medical/break_room) "bNk" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 8 @@ -5949,6 +6251,18 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/wood, /area/station/command/teleporter) +"bNT" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "bNX" = ( /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) @@ -5972,13 +6286,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/smooth_large, /area/station/tcommsat/server) -"bOt" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "bOw" = ( /turf/closed/wall, /area/station/construction/mining/aux_base) @@ -5991,6 +6298,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"bOF" = ( +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "bOI" = ( /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/dark, @@ -6011,18 +6324,10 @@ }, /turf/open/floor/iron/checker, /area/station/ai_monitored/turret_protected/aisat_interior) -"bPr" = ( -/obj/structure/reagent_dispensers/plumbed/storage, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","medbay"); - c_tag = "Medbay - Upper Chemistry East" - }, -/obj/machinery/light_switch/directional/east, +"bPj" = ( +/obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/dark, -/area/station/medical/chemistry) +/area/station/engineering/atmos/project) "bPw" = ( /obj/structure/rack, /obj/item/storage/toolbox/emergency, @@ -6040,18 +6345,6 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/service/lawoffice) -"bPH" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) "bPN" = ( /obj/structure/table, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6062,6 +6355,15 @@ /obj/effect/mapping_helpers/mail_sorting/science/xenobiology, /turf/open/floor/iron/dark/smooth_large, /area/station/science/explab) +"bPO" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "chemshutters"; + name = "Pharmacy Shutters" + }, +/turf/open/floor/plating, +/area/station/medical/pharmacy) "bPW" = ( /turf/closed/wall, /area/station/commons/fitness/recreation) @@ -6088,6 +6390,12 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/plating, /area/station/maintenance/disposal) +"bQD" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) "bQF" = ( /obj/effect/turf_decal/tile/red/opposingcorners, /obj/structure/closet/secure_closet, @@ -6119,14 +6427,6 @@ /obj/structure/cable/multilayer/multiz, /turf/open/floor/plating, /area/station/solars/starboard/aft) -"bQO" = ( -/obj/machinery/requests_console/directional/west, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/structure/chair/office, -/obj/effect/turf_decal/trimline/yellow/filled/warning, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "bQU" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -6160,15 +6460,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"bRm" = ( -/obj/machinery/smartfridge/chemistry/preloaded, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 1; - id = "chemshutters"; - name = "Chemistry Shutters" - }, -/turf/open/floor/plating, -/area/station/medical/pharmacy) "bRv" = ( /obj/machinery/holopad, /obj/structure/cable, @@ -6217,16 +6508,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/disposal) -"bRU" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "bRW" = ( /obj/effect/turf_decal/arrows{ dir = 1 @@ -6241,6 +6522,10 @@ }, /turf/open/floor/iron/dark, /area/station/command/gateway) +"bSa" = ( +/obj/machinery/stasis, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "bSe" = ( /obj/machinery/door/airlock{ name = "Unisex Showers" @@ -6322,6 +6607,10 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"bSG" = ( +/obj/structure/sign/departments/chemistry/pharmacy/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "bSQ" = ( /obj/structure/stairs/east, /obj/structure/railing, @@ -6416,6 +6705,11 @@ /obj/machinery/computer/dna_console, /turf/open/floor/iron/dark/textured_large, /area/station/science/genetics) +"bUb" = ( +/obj/machinery/camera/autoname/directional/west, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron/dark/textured_large, +/area/station/engineering/atmos/upper) "bUf" = ( /obj/effect/turf_decal/trimline/dark/arrow_cw{ dir = 8 @@ -6475,11 +6769,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"bVB" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/turf/open/floor/plating, -/area/station/medical/coldroom) "bVI" = ( /obj/machinery/requests_console/directional/north{ department = "Head of Security's Desk"; @@ -6562,10 +6851,6 @@ }, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/service/kitchen/coldroom) -"bWI" = ( -/obj/structure/reagent_dispensers/plumbed/storage, -/turf/open/floor/wood, -/area/station/medical/medbay/central) "bWQ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6703,6 +6988,23 @@ }, /turf/open/floor/iron/smooth, /area/station/science/robotics) +"bYI" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/large, +/area/station/medical/break_room) +"bYL" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "bYT" = ( /obj/structure/lattice/catwalk, /obj/effect/spawner/random/structure/grille, @@ -6725,13 +7027,6 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron, /area/station/science/explab) -"bZm" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "bZo" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/green/filled/mid_joiner, @@ -6779,23 +7074,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tcomms) -"bZC" = ( -/obj/machinery/status_display/evac/directional/north, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/carpet, -/area/station/ai_monitored/turret_protected/ai_upload) -"bZD" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold/general/visible{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/obj/item/radio/intercom/directional/east, -/turf/open/openspace, -/area/station/medical/cryo) "bZJ" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -6849,6 +7127,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/science/central) +"cal" = ( +/obj/structure/closet/secure_closet/chief_medical, +/obj/item/screwdriver, +/obj/machinery/firealarm/directional/west, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/carpet/cyan, +/area/station/command/heads_quarters/cmo) "cam" = ( /obj/structure/table/wood, /obj/machinery/light_switch, @@ -6963,6 +7248,15 @@ }, /turf/open/misc/sandy_dirt, /area/station/science/zoo) +"cbL" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "medbay-office"; + name = "Medbay Shutters"; + dir = 4 + }, +/turf/open/floor/plating, +/area/station/medical/cryo) "cbN" = ( /obj/effect/decal/cleanable/dirt, /obj/item/clothing/accessory/armband/cargo{ @@ -7026,22 +7320,10 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"ccr" = ( -/turf/open/floor/carpet/purple, -/area/station/ai_monitored/turret_protected/ai_upload) "ccy" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/dark/textured_large, /area/station/maintenance/starboard/aft) -"ccH" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "ccM" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/tank_holder, @@ -7050,6 +7332,10 @@ "ccN" = ( /turf/closed/wall, /area/station/medical/surgery) +"ccP" = ( +/obj/machinery/status_display/evac/directional/west, +/turf/closed/wall/r_wall, +/area/station/medical/chemistry) "ccV" = ( /obj/effect/mapping_helpers/burnt_floor, /obj/effect/landmark/event_spawn, @@ -7188,40 +7474,26 @@ }, /turf/open/floor/engine/hull/air, /area/station/maintenance/starboard/lesser) +"ceD" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/effect/spawner/random/engineering/tracking_beacon, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "ceG" = ( /turf/closed/wall/r_wall, /area/station/security/checkpoint/customs) -"ceQ" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "ceR" = ( /obj/machinery/netpod, /obj/item/radio/intercom/directional/north, /turf/open/floor/catwalk_floor/iron_dark, /area/station/cargo/bitrunning/den) -"ceV" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/effect/landmark/start/coroner, -/turf/open/floor/iron/dark/textured_edge, -/area/station/medical/morgue) "ceX" = ( /obj/machinery/telecomms/server/presets/supply, /obj/effect/turf_decal/tile/brown/fourcorners, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"cfi" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark/smooth_corner{ - dir = 8 - }, -/area/station/medical/pharmacy) "cfn" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -7343,6 +7615,17 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/small, /area/station/security/mechbay) +"cgI" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Science Store" + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/science/lobby) "cgK" = ( /obj/structure/cable, /turf/closed/wall, @@ -7402,6 +7685,15 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/glass, /area/station/commons/fitness/recreation) +"chL" = ( +/obj/structure/cable, +/obj/effect/spawner/random/trash/garbage, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "chO" = ( /obj/structure/table/glass, /obj/item/reagent_containers/cup/glass/coffee{ @@ -7473,26 +7765,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) -"cik" = ( -/obj/structure/table/wood, -/obj/machinery/computer/records/medical/laptop, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "cil" = ( /obj/item/radio/intercom/directional/south, /turf/closed/wall/r_wall, /area/station/engineering/main) -"ciS" = ( +"cim" = ( +/obj/structure/lattice/catwalk, /obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/railing{ + dir = 8 }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/landmark/firealarm_sanity, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/virology) +/obj/structure/disposalpipe/segment, +/turf/open/openspace, +/area/station/medical/abandoned) "cjb" = ( /obj/structure/frame/computer{ anchored = 1 @@ -7520,6 +7807,31 @@ /obj/machinery/computer/rdconsole, /turf/open/floor/wood, /area/station/command/heads_quarters/rd) +"cjL" = ( +/obj/machinery/computer/station_alert{ + dir = 1 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/engine, +/area/station/command/heads_quarters/ce) +"cka" = ( +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ + dir = 1 + }, +/obj/structure/rack, +/obj/item/reagent_containers/cup/bottle/iodine{ + pixel_x = 1 + }, +/obj/item/reagent_containers/cup/bottle/fluorine{ + pixel_x = 7; + pixel_y = 3 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/chem_storage) "ckd" = ( /obj/machinery/suit_storage_unit/standard_unit, /obj/structure/sign/nanotrasen{ @@ -7527,19 +7839,10 @@ }, /turf/open/floor/wood, /area/station/ai_monitored/command/storage/eva) -"cke" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/pharmacy) +"ckn" = ( +/obj/machinery/light/floor, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "ckp" = ( /obj/machinery/chem_master/condimaster{ name = "CondiMaster Neo" @@ -7600,6 +7903,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"cle" = ( +/obj/machinery/porta_turret/ai{ + dir = 4 + }, +/turf/open/floor/circuit/red, +/area/station/ai_monitored/turret_protected/ai_upload) "clh" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt, @@ -7617,21 +7926,14 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"clr" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 +"clv" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Medbay Maintenance" }, -/obj/machinery/door/airlock/engineering{ - name = "Telecomms Storage" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms, -/obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tcomms) +/obj/effect/mapping_helpers/airlock/unres, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/medical) "cly" = ( /obj/machinery/light/directional/south, /turf/open/floor/plating, @@ -7663,6 +7965,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/aisat/teleporter) +"clK" = ( +/obj/machinery/airalarm/directional/west, +/obj/machinery/computer/operating{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "clT" = ( /obj/item/geiger_counter, /turf/open/floor/plating, @@ -7726,13 +8035,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/security/courtroom) -"cmY" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "cnw" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -7744,6 +8046,10 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) +"cnM" = ( +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/engineering/atmos/project) "cnP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -7775,6 +8081,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"cow" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/arrow_ccw{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "cox" = ( /obj/structure/railing, /obj/machinery/door/firedoor/border_only, @@ -7783,16 +8101,6 @@ }, /turf/open/floor/wood/large, /area/station/hallway/primary/central) -"coI" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/obj/effect/mapping_helpers/airalarm/tlv_cold_room, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "coP" = ( /obj/effect/turf_decal/weather/dirt, /obj/structure/flora/bush/large/style_2{ @@ -7807,6 +8115,16 @@ /obj/item/stack/sheet/mineral/sandstone, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"cpf" = ( +/obj/structure/lattice/catwalk, +/obj/effect/turf_decal/siding/blue/corner{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/openspace, +/area/station/medical/medbay/central) "cpg" = ( /obj/machinery/plate_press, /obj/effect/decal/cleanable/dirt, @@ -7836,14 +8154,6 @@ }, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) -"cpG" = ( -/obj/machinery/computer/records/medical, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) "cpM" = ( /obj/structure/table, /obj/effect/turf_decal/tile/yellow/half/contrasted, @@ -7861,11 +8171,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"cqe" = ( -/obj/structure/curtain, -/obj/machinery/shower/directional/south, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/surgery) "cqh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -7896,15 +8201,6 @@ }, /turf/open/space/openspace, /area/space) -"cqw" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/medical/pharmacy) "cqG" = ( /obj/item/trash/boritos, /turf/open/floor/carpet, @@ -8019,10 +8315,6 @@ }, /turf/open/floor/plating, /area/station/construction/storage_wing) -"crV" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/engineering/atmos/upper) "crW" = ( /obj/structure/cable, /turf/open/floor/wood, @@ -8140,11 +8432,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/engine, /area/station/service/hydroponics) -"csG" = ( -/obj/structure/cable, -/obj/machinery/power/smes, -/turf/open/floor/glass/reinforced, -/area/station/maintenance/solars/port/aft) "csK" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -8169,6 +8456,22 @@ }, /turf/open/openspace, /area/station/engineering/lobby) +"csP" = ( +/obj/structure/sign/poster/contraband/grey_tide/directional/north, +/obj/structure/rack, +/obj/item/storage/toolbox/electrical{ + pixel_y = -2 + }, +/obj/item/storage/box/shipping{ + pixel_x = -11; + pixel_y = 6 + }, +/obj/item/clothing/head/cone{ + pixel_x = -4; + pixel_y = -13 + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "csS" = ( /obj/structure/disposalpipe/segment, /obj/effect/spawner/structure/window/reinforced/tinted, @@ -8212,16 +8515,6 @@ /obj/item/book/codex_gigas, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"ctE" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) "ctK" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 @@ -8238,6 +8531,18 @@ }, /turf/open/floor/wood, /area/station/maintenance/starboard/central) +"ctX" = ( +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay Reception" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/tile/blue/full, +/turf/open/floor/iron/white, +/area/station/medical/office) "cua" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/structure/table, @@ -8271,6 +8576,11 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"cva" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "cvj" = ( /obj/machinery/door/airlock/external{ name = "Escape Pod One" @@ -8278,6 +8588,18 @@ /obj/effect/landmark/navigate_destination/dockescpod, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"cvC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/structure/showcase/machinery/oldpod{ + desc = "An old NT branded sleeper, decommissioned after the lead acetate incident. None of the functional machinery remains inside."; + dir = 4; + name = "decommissioned sleeper" + }, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "cvH" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -8306,10 +8628,6 @@ }, /turf/open/floor/iron/checker, /area/station/service/bar/backroom) -"cwf" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/medical/chemistry) "cwl" = ( /obj/effect/turf_decal/tile/dark_blue{ dir = 1 @@ -8333,13 +8651,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/closed/wall, /area/station/commons/toilet/auxiliary) -"cwO" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/camera/autoname/directional/west{ - c_tag = "Medbay - Upper Plumbing Area West" - }, -/turf/open/openspace, -/area/station/medical/chemistry) "cwP" = ( /turf/open/openspace, /area/station/science/research) @@ -8373,15 +8684,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"cxD" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical{ - name = "Primary Surgical Theatre" - }, -/obj/effect/mapping_helpers/airlock/unres, -/obj/effect/mapping_helpers/airlock/access/all/medical/surgery, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) "cxE" = ( /turf/open/floor/glass, /area/station/tcommsat/server) @@ -8425,58 +8727,6 @@ /obj/structure/sign/warning/hot_temp/directional/north, /turf/open/floor/iron/dark, /area/station/service/chapel/office) -"cym" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/computer/atmos_control, -/turf/open/floor/engine/hull/reinforced/air, -/area/station/engineering/atmos/project) -"cyq" = ( -/obj/machinery/atmospherics/pipe/smart/simple/pink/visible/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/simple/supply{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/engine, -/area/station/maintenance/disposal/incinerator) -"cyx" = ( -/obj/structure/table, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/obj/item/screwdriver{ - pixel_x = 1; - pixel_y = -2 - }, -/obj/item/grenade/chem_grenade{ - pixel_x = 11; - pixel_y = 11 - }, -/obj/item/grenade/chem_grenade{ - pixel_x = 8; - pixel_y = 11 - }, -/obj/item/grenade/chem_grenade{ - pixel_x = 3; - pixel_y = 11 - }, -/obj/item/grenade/chem_grenade{ - pixel_y = 11 - }, -/obj/item/clothing/glasses/science{ - pixel_x = -2; - pixel_y = 7 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 4 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/pharmacy) "cyG" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8505,16 +8755,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/smooth_large, /area/station/security/prison) -"cyM" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/disposalpipe/sorting/mail{ - dir = 2 - }, -/obj/effect/mapping_helpers/mail_sorting/medbay/virology, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "cyN" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 8 @@ -8535,6 +8775,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_recreation) +"cyW" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "czk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -8597,10 +8843,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/command/bridge) -"czJ" = ( -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) "czK" = ( /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/access/all/service/kitchen, @@ -8623,6 +8865,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/recharge_floor, /area/station/cargo/warehouse) +"cAc" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/structure/railing/corner/end, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "cAk" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 @@ -8640,6 +8892,15 @@ /obj/machinery/light/directional, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) +"cAt" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "cAv" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -8746,13 +9007,6 @@ /obj/structure/sign/warning/vacuum/directional/north, /turf/open/floor/plating/airless, /area/station/maintenance/starboard/lesser) -"cBv" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 6 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "cBA" = ( /obj/machinery/door/poddoor/preopen{ id = "Prison Gate"; @@ -8786,16 +9040,6 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/art) -"cBT" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ - dir = 6 - }, -/turf/open/openspace, -/area/station/medical/cryo) "cBY" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 9 @@ -8847,26 +9091,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) -"cCt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_edge{ - dir = 4 - }, -/area/station/medical/surgery) -"cCv" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/lattice/catwalk, -/obj/structure/sign/poster/contraband/random/directional/west, -/turf/open/water, -/area/station/maintenance/starboard/fore) "cCx" = ( /obj/structure/stairs/west, /obj/structure/railing, @@ -8880,6 +9104,13 @@ /obj/machinery/bookbinder, /turf/open/floor/wood, /area/station/service/library/printer) +"cCD" = ( +/obj/structure/bodycontainer/morgue{ + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "cCI" = ( /obj/machinery/door/airlock/external, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -8900,10 +9131,6 @@ /obj/effect/landmark/start/shaft_miner, /turf/open/floor/iron/textured, /area/station/cargo/storage) -"cCP" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/nitrous_input, -/turf/open/floor/engine/n2o, -/area/station/engineering/atmos/upper) "cCX" = ( /obj/structure/table/reinforced, /obj/item/circuitboard/mecha/ripley/peripherals{ @@ -8920,12 +9147,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/science/robotics/lab) -"cDq" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/engine/hull/air, -/area/station/medical/chemistry) "cDs" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -8942,14 +9163,38 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"cDB" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 4 +"cDC" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 }, -/turf/open/floor/iron/white/textured_corner{ - dir = 4 +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tcomms) +"cDU" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/light/directional/west, +/turf/open/floor/iron/dark/textured_large, +/area/station/engineering/atmos/upper) +"cDX" = ( +/obj/structure/table/reinforced/rglass, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical{ + pixel_y = 2 }, -/area/station/medical/surgery) +/obj/item/storage/belt/medical{ + pixel_y = 4 + }, +/obj/item/storage/belt/medical{ + pixel_y = 6 + }, +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/bot_white{ + color = "#52B4E9" + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "cDY" = ( /obj/machinery/light/small/directional/west, /obj/structure/rack, @@ -9048,6 +9293,23 @@ /obj/structure/showcase/horrific_experiment, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/lesser) +"cFl" = ( +/obj/effect/spawner/structure/window, +/obj/structure/curtain/cloth{ + color = "#666666" + }, +/turf/open/floor/plating, +/area/station/medical/break_room) +"cFm" = ( +/obj/machinery/firealarm/directional/north, +/obj/structure/filingcabinet/medical, +/turf/open/floor/engine/hull/air, +/area/station/medical/medbay/central) +"cFn" = ( +/obj/effect/turf_decal/siding/dark_blue/corner, +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "cFp" = ( /obj/structure/urinal/directional/east, /obj/effect/decal/cleanable/dirt, @@ -9113,6 +9375,17 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/dark/smooth_large, /area/station/security/brig) +"cFZ" = ( +/obj/machinery/airalarm/directional/east, +/obj/machinery/iv_drip, +/obj/machinery/light/floor{ + color = "#66ccff" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/patients_rooms/room_a) "cGa" = ( /obj/effect/turf_decal/trimline/dark/arrow_ccw{ dir = 4 @@ -9279,15 +9552,6 @@ }, /turf/open/floor/iron, /area/station/science/robotics) -"cIu" = ( -/obj/structure/rack, -/obj/effect/spawner/random/techstorage/rnd_all, -/obj/machinery/firealarm/directional/west, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "cIw" = ( /obj/effect/turf_decal/stripes/asteroid/line{ dir = 8 @@ -9333,6 +9597,21 @@ }, /turf/open/openspace, /area/station/ai_monitored/turret_protected/ai) +"cIG" = ( +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/machinery/door/airlock/medical/glass{ + name = "Cryogenics Room" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/tile/blue/full, +/turf/open/floor/iron/dark, +/area/station/medical/cryo) "cIH" = ( /obj/machinery/light/directional/east, /obj/structure/railing, @@ -9560,11 +9839,43 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/storage/tcomms) +"cLV" = ( +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 9 + }, +/obj/item/stock_parts/power_store/cell/high{ + charge = 100; + maxcharge = 15000 + }, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/stock_parts/power_store/cell/high{ + charge = 100; + maxcharge = 15000 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "cMb" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/stairs/north, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"cMk" = ( +/obj/machinery/door/airlock/atmos/glass{ + name = "Atmospherics Testing Room" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/engineering/atmos/project) "cMq" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/disposalpipe/segment{ @@ -9580,6 +9891,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/service/chapel) +"cMF" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/end{ + dir = 1 + }, +/obj/structure/table/wood, +/obj/effect/spawner/random/medical/medkit, +/obj/item/clothing/neck/stethoscope{ + pixel_x = 2; + pixel_y = 4 + }, +/turf/open/floor/holofloor/dark, +/area/station/command/heads_quarters/cmo) "cMI" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -9589,6 +9912,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/smooth_large, /area/station/security/processing) +"cMK" = ( +/obj/item/radio/intercom/directional/north, +/obj/structure/bed/double, +/obj/item/bedsheet/cmo/double, +/turf/open/floor/carpet/cyan, +/area/station/command/heads_quarters/cmo) "cMW" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/binary/valve/digital{ @@ -9603,6 +9932,10 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) +"cMZ" = ( +/obj/effect/turf_decal/siding/dark_blue/inner_corner, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "cNl" = ( /obj/effect/spawner/random/structure/tank_holder, /turf/open/floor/plating, @@ -9675,6 +10008,19 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/station/solars/starboard/fore) +"cOy" = ( +/obj/machinery/button/door/directional/east{ + id = "rear_surgery"; + name = "Rear Shutters Control"; + req_access = list("surgery") + }, +/obj/machinery/computer/operating{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured_corner{ + dir = 1 + }, +/area/station/medical/surgery) "cOS" = ( /obj/item/radio/intercom/directional/north, /obj/machinery/camera/directional/north{ @@ -9691,35 +10037,19 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/freezer, /area/station/command/heads_quarters/captain/private) -"cPi" = ( -/obj/structure/table, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/filter, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tcomms) "cPk" = ( /obj/structure/closet/crate/coffin, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/service/chapel) -"cPq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","medbay"); - c_tag = "Medbay - Lower Virology East Hallway" - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/textured_large, -/area/station/medical/virology) +"cPt" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/siding/blue, +/turf/open/openspace, +/area/station/medical/medbay/central) "cPz" = ( /obj/structure/railing{ dir = 4 @@ -9744,11 +10074,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"cPX" = ( -/obj/machinery/status_display/ai/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) "cPY" = ( /obj/machinery/door/airlock/research{ name = "Research and Development Lab" @@ -9793,6 +10118,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/openspace, /area/station/maintenance/port/fore) +"cQW" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "medbay-office"; + name = "Medbay Shutters"; + dir = 4 + }, +/turf/open/floor/plating, +/area/station/medical/office) "cRa" = ( /obj/effect/turf_decal/siding/red, /obj/effect/turf_decal/tile/red/opposingcorners{ @@ -9800,20 +10134,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"cRb" = ( -/obj/structure/table, -/obj/item/storage/box/bodybags{ - pixel_x = 7; - pixel_y = 12 - }, -/obj/item/emergency_bed{ - pixel_y = 8 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "cRc" = ( /obj/structure/ladder, /obj/effect/turf_decal/tile/red/opposingcorners{ @@ -9822,6 +10142,11 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) +"cRe" = ( +/obj/machinery/camera/autoname/directional/west, +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/medical/medbay/central) "cRk" = ( /turf/open/floor/wood, /area/station/commons/fitness/recreation) @@ -9880,6 +10205,14 @@ /obj/structure/lattice, /turf/open/floor/engine/hull/reinforced, /area/space/nearstation) +"cSh" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/stairs/west, +/obj/structure/sign/departments/medbay/alt/directional/west, +/turf/open/floor/iron/stairs/medium{ + dir = 4 + }, +/area/station/medical/abandoned) "cSi" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -9887,6 +10220,16 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) +"cSq" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "cSt" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 1 @@ -9910,10 +10253,6 @@ }, /turf/open/floor/iron, /area/station/science/research) -"cSy" = ( -/obj/structure/ladder, -/turf/open/floor/plating, -/area/station/maintenance/port) "cSA" = ( /obj/effect/turf_decal/tile/green/opposingcorners{ dir = 1 @@ -9928,6 +10267,11 @@ /obj/effect/landmark/start/bitrunner, /turf/open/floor/iron/dark/textured_large, /area/station/cargo/bitrunning/den) +"cSH" = ( +/obj/structure/chair/office, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/aft) "cSL" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -9939,14 +10283,6 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/station/science/lab) -"cSN" = ( -/obj/structure/table, -/obj/item/clothing/head/utility/welding{ - pixel_x = -3; - pixel_y = 6 - }, -/turf/open/floor/iron/checker, -/area/station/maintenance/port/aft) "cSO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -9962,6 +10298,17 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/carpet, /area/station/security/courtroom) +"cTa" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Medbay" + }, +/obj/effect/turf_decal/tile/blue/full, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "cTc" = ( /obj/structure/railing{ dir = 1 @@ -10044,15 +10391,6 @@ /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/station/maintenance/port) -"cUi" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "cUo" = ( /obj/effect/turf_decal/siding{ dir = 1 @@ -10092,6 +10430,11 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) +"cUA" = ( +/obj/machinery/camera/autoname/directional/north, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "cUJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -10102,6 +10445,15 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) +"cUS" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "cUX" = ( /obj/structure/railing, /obj/structure/sign/poster/contraband/random/directional/north, @@ -10114,13 +10466,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) -"cVe" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "cVi" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -10146,6 +10491,18 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) +"cVD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "cVE" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/south, @@ -10175,6 +10532,11 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) +"cVU" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "cWd" = ( /obj/structure/chair/comfy/brown{ dir = 1 @@ -10182,6 +10544,11 @@ /obj/effect/landmark/start/captain, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) +"cWe" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/effect/landmark/navigate_destination/chemfactory, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "cWg" = ( /obj/structure/railing{ dir = 1 @@ -10207,6 +10574,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"cWo" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/lattice/catwalk, +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/turf/open/openspace, +/area/station/maintenance/department/medical) "cWp" = ( /obj/effect/turf_decal/siding/dark{ dir = 1 @@ -10227,6 +10604,15 @@ dir = 8 }, /area/station/commons/lounge) +"cWF" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tcomms) "cWG" = ( /obj/machinery/vending/cola/pwr_game, /turf/open/floor/wood, @@ -10239,6 +10625,12 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"cWS" = ( +/obj/effect/turf_decal/siding/brown, +/obj/structure/closet/lasertag/red, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation) "cWU" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/aft) @@ -10257,25 +10649,6 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/dark/smooth_large, /area/station/security/execution/transfer) -"cXc" = ( -/obj/structure/table, -/obj/item/clothing/gloves/color/yellow{ - pixel_y = 6 - }, -/obj/item/storage/toolbox/electrical{ - pixel_x = 1; - pixel_y = -1 - }, -/obj/item/storage/toolbox/electrical{ - pixel_x = 1; - pixel_y = -1 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "cXj" = ( /obj/structure/table/reinforced/rglass, /obj/machinery/fax{ @@ -10297,19 +10670,6 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) -"cXC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/camera/autoname/directional/west, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "cXM" = ( /obj/effect/mapping_helpers/airlock/access/all/service/general, /obj/machinery/door/airlock/maintenance{ @@ -10446,11 +10806,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"cZK" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/canister/nitrogen, -/turf/open/floor/iron/dark/textured_large, -/area/station/engineering/atmos/upper) "cZN" = ( /obj/structure/railing{ dir = 4 @@ -10473,19 +10828,6 @@ dir = 8 }, /area/station/science/ordnance/storage) -"dai" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/heater{ - dir = 4 - }, -/turf/open/floor/glass/reinforced/plasma, -/area/station/engineering/atmos/project) -"dak" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/engine/hull/air, -/area/station/medical/chemistry) "daw" = ( /obj/structure/lattice/catwalk, /obj/structure/filingcabinet, @@ -10524,6 +10866,22 @@ /obj/machinery/light/directional/north, /turf/open/floor/catwalk_floor, /area/station/engineering/atmos/upper) +"daI" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) +"daQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "daW" = ( /obj/structure/ladder, /obj/structure/sign/poster/contraband/space_cola/directional/north, @@ -10597,16 +10955,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/tile, /area/station/security/detectives_office/private_investigators_office) -"dcB" = ( -/obj/machinery/light/floor, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "dcE" = ( /turf/open/space/basic, /area/space) @@ -10646,11 +10994,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"ddx" = ( -/obj/structure/disposalpipe/segment, -/obj/item/banner/command/mundane, -/turf/open/floor/plating, -/area/station/maintenance/port) "ddz" = ( /obj/effect/turf_decal/siding/white, /obj/item/kirbyplants/organic/plant21{ @@ -10807,15 +11150,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"dfK" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Medbay Maintenance" - }, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/plating, -/area/station/medical/coldroom) "dfL" = ( /obj/machinery/atmospherics/components/unary/portables_connector/layer4, /obj/machinery/portable_atmospherics/canister/oxygen, @@ -10856,6 +11190,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet/black, /area/station/medical/psychology) +"dgE" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/railing{ + dir = 6 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "dgR" = ( /obj/structure/table/reinforced, /obj/structure/railing/corner{ @@ -10868,6 +11211,11 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"dgT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/effect/landmark/start/paramedic, +/turf/open/floor/iron/dark, +/area/station/medical/cryo) "dho" = ( /obj/effect/turf_decal/siding/wood{ dir = 9 @@ -10966,6 +11314,19 @@ }, /turf/open/floor/iron/textured_large, /area/station/medical/virology) +"diw" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/machinery/light_switch/directional/north, +/obj/structure/bed/medical/emergency{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_edge{ + dir = 4 + }, +/area/station/medical/morgue) "diA" = ( /obj/item/flashlight/flare/candle{ pixel_x = 7; @@ -11022,6 +11383,16 @@ }, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) +"diL" = ( +/obj/structure/bed/pod{ + desc = "An old medical bed, just waiting for replacement with something up to date."; + name = "medical bed" + }, +/obj/effect/turf_decal/siding/dark_blue/corner{ + dir = 1 + }, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "diP" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/firealarm/directional/south, @@ -11036,15 +11407,16 @@ }, /turf/open/floor/iron/dark/textured, /area/station/cargo/warehouse) +"diR" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured_edge, +/area/station/medical/morgue) "dje" = ( /obj/structure/closet/secure_closet/engineering_electrical, /turf/open/floor/iron/smooth, /area/station/engineering/main) -"djf" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/medical/medbay/central) "djt" = ( /obj/structure/chair/comfy/black{ dir = 8 @@ -11056,6 +11428,14 @@ }, /turf/open/floor/carpet/royalblack, /area/station/command/heads_quarters/hos) +"djy" = ( +/obj/machinery/turretid{ + control_area = "/area/station/ai_monitored/turret_protected/ai_upload"; + name = "AI Upload Turret Control"; + icon_state = "control_stun" + }, +/turf/closed/wall/r_wall, +/area/station/ai_monitored/turret_protected/ai_upload_foyer) "djA" = ( /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 4 @@ -11129,6 +11509,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"dkN" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/obj/machinery/light/directional/east, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "dkO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -11183,19 +11568,32 @@ "dlt" = ( /turf/open/floor/plating/airless, /area/station/maintenance/starboard/aft) -"dlF" = ( -/obj/item/clothing/head/soft/orange, -/obj/structure/closet/secure_closet/engineering_chief, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/orange, -/area/station/command/heads_quarters/ce) "dlW" = ( /obj/effect/turf_decal/bot, /obj/effect/turf_decal/caution/stand_clear, /turf/open/floor/engine/hull, /area/space/nearstation) +"dmb" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/obj/structure/table/reinforced/rglass, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/cup/bottle/multiver{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/clothing/neck/stethoscope{ + pixel_y = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 4 + }, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "dmi" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/tile/red/opposingcorners{ @@ -11214,11 +11612,6 @@ "dmp" = ( /turf/open/floor/wood, /area/station/command/corporate_showroom) -"dmz" = ( -/obj/effect/turf_decal/stripes/box, -/obj/structure/ladder, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "dmJ" = ( /obj/structure/table/wood, /obj/item/radio/intercom, @@ -11232,18 +11625,6 @@ /obj/effect/turf_decal/tile/green/half/contrasted, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"dmN" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "dmV" = ( /obj/machinery/door/airlock/maintenance{ name = "Medbay Maintenance" @@ -11269,21 +11650,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"dns" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/obj/machinery/computer/atmos_control/plasma_tank, -/obj/effect/turf_decal/tile/purple/half{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "dnx" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/security/court, /turf/open/floor/engine/hull/air, /area/station/maintenance/port) +"dnC" = ( +/obj/structure/chair/office, +/obj/effect/turf_decal/trimline/yellow/filled/warning, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "dnE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -11301,11 +11677,6 @@ /obj/structure/cable, /turf/open/floor/carpet, /area/station/command/corporate_showroom) -"dnM" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/turf/open/openspace, -/area/station/medical/abandoned) "dnO" = ( /obj/structure/sign/warning/secure_area/directional/south, /obj/structure/chair{ @@ -11326,6 +11697,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) +"dor" = ( +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/firealarm/directional/east{ + pixel_x = 20 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/surgery) "dos" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 @@ -11353,21 +11734,6 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/medical/virology) -"dou" = ( -/obj/structure/lattice/catwalk, -/obj/structure/table/reinforced, -/obj/item/defibrillator/loaded{ - pixel_y = 6 - }, -/obj/item/defibrillator/loaded{ - pixel_y = 6 - }, -/obj/item/defibrillator/loaded{ - pixel_y = 6 - }, -/obj/machinery/status_display/evac/directional/west, -/turf/open/openspace, -/area/station/medical/storage) "doy" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -11375,12 +11741,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"doA" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/iron/dark/smooth_edge, -/area/station/medical/pharmacy) "doH" = ( /obj/item/trash/can{ pixel_x = 3 @@ -11421,13 +11781,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/ai_monitored/command/storage/eva) -"doY" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "dpo" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -11468,13 +11821,6 @@ /obj/item/binoculars, /turf/open/floor/engine/hull, /area/space/nearstation) -"dpT" = ( -/obj/effect/turf_decal/siding/brown, -/obj/structure/closet/lasertag/blue, -/obj/effect/landmark/start/hangover, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation) "dpV" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -11519,6 +11865,15 @@ }, /turf/open/floor/iron/smooth, /area/station/engineering/atmos/upper) +"dqz" = ( +/obj/machinery/door/airlock/atmos/glass{ + name = "Atmospherics Testing Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/door/firedoor/heavy, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "dqB" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -11582,6 +11937,21 @@ /obj/machinery/vending/cigarette, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"drg" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/mid_joiner{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/textured_large, +/area/station/medical/virology) "drk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -11597,6 +11967,15 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"drp" = ( +/obj/effect/turf_decal/siding/dark_blue{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, +/obj/machinery/light/floor, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "drt" = ( /obj/structure/sign/poster/official/fruit_bowl/directional/north, /turf/open/floor/iron/white/smooth_large, @@ -11666,14 +12045,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/engine/hull, /area/space/nearstation) -"dsw" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/openspace, -/area/station/medical/storage) "dsx" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -11797,13 +12168,6 @@ /obj/structure/table, /turf/open/openspace, /area/station/construction/storage_wing) -"duq" = ( -/obj/effect/landmark/event_spawn, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/wood/parquet, -/area/station/medical/break_room) "dux" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11816,32 +12180,6 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"duz" = ( -/obj/structure/table, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ - dir = 4 - }, -/obj/item/hand_labeler{ - pixel_y = 7 - }, -/obj/item/storage/pill_bottle/epinephrine{ - pixel_x = 8; - pixel_y = 5 - }, -/obj/item/stack/package_wrap{ - pixel_x = -11; - pixel_y = 2 - }, -/obj/item/stack/package_wrap{ - pixel_x = -7; - pixel_y = -1 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/pharmacy) "duE" = ( /obj/machinery/light_switch/directional/west{ pixel_x = -24; @@ -11952,18 +12290,24 @@ }, /turf/open/floor/iron/dark/textured, /area/station/science/xenobiology) -"dwP" = ( -/obj/effect/turf_decal/siding/blue/corner{ +"dwR" = ( +/obj/machinery/vending/drugs, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) +"dxb" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/siding/blue{ dir = 1 }, -/obj/machinery/iv_drip, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_large, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, /area/station/medical/medbay/central) "dxf" = ( /obj/structure/lattice/catwalk, @@ -11991,13 +12335,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/textured_large, /area/station/security/prison/rec) -"dxA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/spawner/random/vending/snackvend, -/turf/open/floor/wood, -/area/station/medical/medbay/central) "dxB" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -12014,6 +12351,27 @@ }, /turf/open/floor/iron/dark, /area/station/science/xenobiology) +"dxL" = ( +/obj/machinery/button/door/directional/south{ + id = "ceprivacy"; + name = "Privacy Shutters Control"; + pixel_y = -2; + pixel_x = -7 + }, +/obj/machinery/button/door/directional/west{ + id = "transitlockdown"; + name = "Transit Tube Lockdown"; + pixel_x = 7; + pixel_y = -2 + }, +/obj/machinery/button/door{ + id = "securestoragecw"; + name = "Secure Storage"; + pixel_y = 8 + }, +/obj/structure/table/reinforced/rglass, +/turf/open/floor/engine, +/area/station/command/heads_quarters/ce) "dxN" = ( /obj/effect/turf_decal/trimline/purple/filled/corner, /obj/structure/extinguisher_cabinet/directional/south, @@ -12034,28 +12392,6 @@ }, /turf/open/openspace, /area/station/construction/storage_wing) -"dyk" = ( -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/cable_coil, -/obj/structure/closet/crate/engineering/electrical, -/turf/open/floor/glass/reinforced, -/area/station/solars/starboard/fore) "dyl" = ( /obj/structure/table/glass, /obj/item/hand_labeler, @@ -12081,11 +12417,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/station/service/chapel) -"dyA" = ( -/obj/machinery/light/directional/east, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/medbay/central) "dyE" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -12120,6 +12451,15 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) +"dza" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron/stairs/medium{ + dir = 4 + }, +/area/station/medical/abandoned) "dzj" = ( /obj/machinery/door/window/brigdoor/security/cell/left/directional/east{ id = "Cell 1"; @@ -12146,6 +12486,11 @@ }, /turf/open/floor/iron/cafeteria, /area/station/maintenance/starboard/lesser) +"dzw" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/light/directional/west, +/turf/open/openspace, +/area/station/medical/medbay/central) "dzx" = ( /turf/open/floor/iron/dark, /area/station/command/gateway) @@ -12173,16 +12518,6 @@ /obj/structure/window/spawner/directional/south, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_recreation) -"dzY" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/structure/sign/warning/radiation/rad_area/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "dAf" = ( /obj/structure/chair/sofa/corp/left{ dir = 1 @@ -12201,6 +12536,11 @@ /obj/item/clothing/gloves/latex, /turf/open/floor/iron/dark/textured_large, /area/station/medical/virology) +"dAU" = ( +/obj/structure/bed/medical/emergency, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "dAV" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/item/radio/intercom/directional/south, @@ -12249,23 +12589,6 @@ }, /turf/open/floor/iron/textured_large, /area/station/medical/abandoned) -"dBy" = ( -/obj/structure/rack, -/obj/item/reagent_containers/cup/bottle/phosphorus{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/reagent_containers/cup/bottle/potassium{ - pixel_x = 7; - pixel_y = 3 - }, -/obj/item/reagent_containers/cup/bottle/sodium{ - pixel_x = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/medbay/central) "dBB" = ( /obj/structure/lattice/catwalk, /obj/item/stack/rods, @@ -12337,6 +12660,19 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"dDx" = ( +/obj/machinery/door/airlock/medical{ + name = "Patient Room" + }, +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue/full, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/unres, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/medical/patients_rooms/room_a) "dDL" = ( /obj/structure/lattice, /turf/open/space/openspace, @@ -12406,6 +12742,29 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/auxiliary) +"dED" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/structure/closet/crate/science, +/obj/item/reagent_containers/cup/bottle/epinephrine{ + pixel_x = 6; + pixel_y = -6 + }, +/obj/item/reagent_containers/cup/beaker{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/item/reagent_containers/cup/bottle/multiver{ + pixel_x = -2; + pixel_y = -7 + }, +/obj/item/reagent_containers/dropper{ + pixel_x = 2; + pixel_y = -11 + }, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "dEH" = ( /obj/structure/table, /obj/machinery/microwave{ @@ -12439,23 +12798,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"dEZ" = ( -/turf/open/floor/plating/elevatorshaft, -/area/station/engineering/atmos/upper) -"dFd" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/machinery/door/airlock/medical{ - name = "Medbay Storage" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/medbay/central) "dFm" = ( /obj/structure/lattice/catwalk, /obj/structure/railing/corner{ @@ -12466,16 +12808,16 @@ }, /turf/open/openspace, /area/station/maintenance/port/aft) +"dFn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron/textured_large, +/area/station/medical/virology) "dFo" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"dFs" = ( -/obj/structure/cable, -/obj/machinery/light/directional/west, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "dFt" = ( /obj/structure/stairs/north, /turf/open/floor/iron, @@ -12490,12 +12832,10 @@ }, /turf/open/floor/iron/textured_large, /area/station/medical/virology) -"dFT" = ( -/obj/effect/turf_decal/siding/brown, -/obj/structure/closet/lasertag/red, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation) +"dFO" = ( +/obj/effect/landmark/start/chemist, +/turf/open/floor/glass/reinforced, +/area/station/medical/chemistry) "dFZ" = ( /obj/effect/turf_decal/siding/red, /turf/open/floor/wood, @@ -12515,15 +12855,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"dGm" = ( -/obj/effect/turf_decal/siding/dark{ - dir = 9 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/morgue) "dGu" = ( /obj/structure/frame/computer{ anchored = 1 @@ -12540,17 +12871,18 @@ }, /turf/open/openspace, /area/station/command/bridge) -"dGy" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 9 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "dGM" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/eighties, /area/station/maintenance/starboard/fore) +"dGQ" = ( +/obj/machinery/door/airlock/engineering/glass{ + name = "Primary Tool Storage" + }, +/obj/machinery/door/firedoor, +/obj/effect/landmark/navigate_destination/tools, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "dGS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -12597,6 +12929,12 @@ /obj/effect/turf_decal/tile/dark_green/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) +"dHB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/start/coroner, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "dHC" = ( /obj/structure/table/reinforced, /obj/item/flashlight, @@ -12657,10 +12995,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_recreation) -"dIT" = ( -/obj/structure/lattice, -/turf/open/openspace, -/area/station/command/heads_quarters/cmo) "dIU" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/shipping_container, @@ -12682,19 +13016,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/service/cafeteria) -"dJi" = ( -/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ - name = "O2 Multideck Adapter"; - dir = 8 - }, -/obj/machinery/meter{ - name = "O2 meter" - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "dJn" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 9 @@ -12725,31 +13046,11 @@ }, /turf/open/floor/plating, /area/station/cargo/storage) -"dJE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/junction{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "dJF" = ( /obj/structure/railing/corner, /obj/effect/landmark/event_spawn, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) -"dJI" = ( -/obj/structure/table, -/obj/item/aicard, -/obj/item/ai_module/reset, -/obj/item/assembly/flash/handheld, -/obj/item/assembly/flash/handheld, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "dJJ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -12815,19 +13116,6 @@ /obj/effect/turf_decal/tile/green/full, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"dKu" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/turf_decal/siding/blue{ - dir = 1 - }, -/turf/open/openspace, -/area/station/medical/medbay/central) "dKv" = ( /obj/structure/table, /obj/item/camera{ @@ -12948,10 +13236,6 @@ /obj/structure/closet/emcloset, /turf/open/floor/plating/airless, /area/station/maintenance/starboard/lesser) -"dMv" = ( -/obj/effect/landmark/start/chief_engineer, -/turf/open/floor/carpet/orange, -/area/station/command/heads_quarters/ce) "dMJ" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 10 @@ -13137,22 +13421,42 @@ }, /turf/open/openspace, /area/station/commons/fitness/recreation) +"dOo" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, +/obj/machinery/light/directional/south, +/obj/structure/table, +/obj/item/screwdriver{ + pixel_x = 1; + pixel_y = -2 + }, +/obj/item/grenade/chem_grenade{ + pixel_y = 11 + }, +/obj/item/grenade/chem_grenade{ + pixel_x = 3; + pixel_y = 11 + }, +/obj/item/grenade/chem_grenade{ + pixel_x = 8; + pixel_y = 11 + }, +/obj/item/grenade/chem_grenade{ + pixel_x = 11; + pixel_y = 11 + }, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/clothing/glasses/science{ + pixel_x = -2; + pixel_y = 7 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "dOq" = ( /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/maintenance/starboard/lesser) -"dOr" = ( -/obj/machinery/smartfridge/organ, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) -"dOG" = ( -/obj/structure/cable, -/turf/closed/wall/r_wall, -/area/station/medical/medbay/central) "dOH" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -13177,6 +13481,37 @@ /obj/machinery/light/directional/south, /turf/open/openspace, /area/station/cargo/storage) +"dOX" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/structure/table/wood, +/obj/item/clothing/head/soft/blue, +/obj/item/clothing/head/soft/blue, +/turf/open/floor/wood/large, +/area/station/medical/break_room) +"dPa" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk/multiz{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"dPi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "dPP" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/disposalpipe/trunk{ @@ -13195,6 +13530,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"dQb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/components/unary/thermomachine/heater{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "dQx" = ( /obj/structure/railing{ dir = 4 @@ -13205,6 +13549,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) +"dQM" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/trimline/blue/arrow_ccw{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/arrow_cw{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "dQP" = ( /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/large, @@ -13389,11 +13744,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured_edge, /area/station/ai_monitored/turret_protected/ai) -"dUw" = ( -/obj/structure/closet/l3closet, -/obj/structure/railing, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "dUG" = ( /obj/structure/table, /obj/machinery/cell_charger, @@ -13461,6 +13811,13 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) +"dVg" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/trimline/yellow/filled/warning/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "dVh" = ( /obj/effect/turf_decal/trimline/yellow/arrow_cw{ dir = 8 @@ -13518,9 +13875,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/openspace, /area/station/engineering/lobby) +"dVx" = ( +/obj/structure/closet/emcloset, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/sepia, +/area/station/hallway/secondary/construction) "dVL" = ( /turf/open/floor/iron/textured_large, /area/station/security/prison) +"dVM" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/structure/closet/secure_closet/security/med, +/obj/item/book/manual/wiki/security_space_law, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) "dVO" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/blue/full, @@ -13547,19 +13920,6 @@ }, /turf/open/floor/iron/smooth, /area/station/engineering/atmos/upper) -"dWi" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Medbay Maintenance" - }, -/obj/effect/mapping_helpers/airlock/abandoned, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/medical/coldroom) "dWj" = ( /obj/effect/spawner/random/decoration/showcase, /obj/structure/disposalpipe/segment{ @@ -13567,6 +13927,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) +"dWo" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/structure/sign/poster/official/safety_internals/directional/west, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "dWp" = ( /obj/effect/turf_decal/siding/blue{ dir = 1 @@ -13606,13 +13976,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/cafeteria, /area/station/maintenance/starboard/lesser) -"dXh" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L10" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/primary/central) "dXi" = ( /obj/machinery/vending/cigarette, /turf/open/floor/engine/hull, @@ -13640,29 +14003,6 @@ }, /turf/open/openspace, /area/station/command/bridge) -"dXx" = ( -/obj/item/storage/medkit/regular{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/storage/medkit/fire{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/medkit/fire, -/obj/item/storage/medkit/fire{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/structure/table/reinforced, -/obj/structure/lattice/catwalk, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/door/window/right/directional/west{ - name = "First Aid Supplies"; - req_access = list("medical") - }, -/turf/open/openspace, -/area/station/medical/storage) "dXy" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/fore) @@ -13677,11 +14017,6 @@ /obj/structure/cable, /turf/open/floor/iron/textured_large, /area/station/security/prison) -"dXD" = ( -/obj/structure/cable, -/obj/effect/spawner/random/trash/graffiti, -/turf/open/floor/plating, -/area/station/maintenance/port) "dXM" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -13776,14 +14111,19 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"dZd" = ( +"dZm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/obj/effect/mapping_helpers/airlock/access/all/medical/morgue, +/obj/machinery/door/airlock/maintenance{ + name = "Morgue Maintenance" + }, +/turf/open/floor/plating, +/area/station/medical/morgue) "dZs" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/fluff/paper/stack{ @@ -13812,6 +14152,19 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/ai_monitored/turret_protected/aisat/foyer) +"dZy" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/machinery/computer/upload/ai{ + dir = 4 + }, +/obj/machinery/door/window/left/directional/east{ + name = "AI Upload Console Window"; + req_access = list("ai_upload") + }, +/turf/open/floor/circuit/green, +/area/station/ai_monitored/turret_protected/ai_upload) "dZA" = ( /obj/machinery/light/floor, /turf/open/floor/carpet/black, @@ -13944,6 +14297,9 @@ "eaV" = ( /turf/closed/wall/r_wall, /area/station/engineering/supermatter/room) +"ebg" = ( +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "ebj" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp, @@ -13975,6 +14331,13 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"ebG" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/openspace, +/area/station/medical/medbay/central) "ebL" = ( /obj/machinery/atmospherics/components/tank, /turf/open/floor/iron/dark/textured_corner, @@ -14095,6 +14458,37 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/openspace, /area/station/maintenance/port) +"ecY" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/button/door/directional/north{ + id = "MedbayExit"; + name = "Exit Door"; + req_access = list("medical"); + pixel_y = 39; + pixel_x = -6; + normaldoorcontrol = 1 + }, +/obj/machinery/button/door/directional/north{ + id = "MedbayFoyer"; + name = "Entrance Door"; + req_access = list("medical"); + pixel_y = 39; + normaldoorcontrol = 1; + pixel_x = 6 + }, +/obj/machinery/button/door/directional/north{ + id = "medbay-office"; + name = "Medbay Lockdown"; + req_access = list("medical"); + pixel_y = 30 + }, +/turf/open/floor/iron/white, +/area/station/medical/office) "edc" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger{ @@ -14165,6 +14559,22 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) +"edF" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/airlock/highsecurity{ + name = "Controlled Hazard Chamber" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/chemistry, +/obj/effect/turf_decal/stripes/end{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock_note_placer{ + note_info = "Access with authorization only. The Controlled Hazard Chamber is designed to withstand incidents you cannot. Essential safety equipment has been provided to ensure your work may continue without compromising station integrity"; + note_name = "Projects" + }, +/turf/open/floor/engine, +/area/station/medical/chemistry) "edJ" = ( /obj/effect/landmark/start/assistant, /obj/structure/disposalpipe/segment{ @@ -14177,6 +14587,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) +"edQ" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/trimline/dark_blue/filled/end{ + dir = 4 + }, +/obj/item/kirbyplants/organic/plant10, +/turf/open/floor/holofloor/dark, +/area/station/command/heads_quarters/cmo) "edY" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -14198,11 +14616,16 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/glass/reinforced, /area/station/hallway/secondary/construction) -"een" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark/textured_large, +"eei" = ( +/obj/structure/lattice/catwalk, +/obj/structure/sign/departments/medbay/alt/directional/south, +/turf/open/openspace, /area/station/medical/medbay/central) +"eej" = ( +/obj/structure/secure_safe/directional/south, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/ce) "eeq" = ( /obj/structure/chair/office{ dir = 4 @@ -14218,23 +14641,6 @@ /obj/machinery/wall_healer/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"eeA" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured_edge, -/area/station/medical/morgue) -"eeH" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Medbay Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/medical/coldroom) "eeN" = ( /obj/machinery/ntnet_relay, /obj/effect/turf_decal/siding/dark{ @@ -14242,24 +14648,6 @@ }, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"eeR" = ( -/obj/machinery/door/airlock/hatch{ - name = "MiniSat Access" - }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/tcoms, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/command/minisat, -/obj/effect/mapping_helpers/airlock/access/any/command/general, -/obj/effect/mapping_helpers/airlock/access/any/command/general, -/obj/effect/landmark/navigate_destination/minisat_access_ai, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - id = "transitlockdown" - }, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) "eeW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14413,16 +14801,6 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/science/genetics) -"egT" = ( -/obj/machinery/door/airlock/research{ - glass = 1; - name = "Slime Euthanization Chamber"; - opacity = 0 - }, -/obj/effect/mapping_helpers/airlock/access/all/science/xenobio, -/obj/structure/plasticflaps/kitchen, -/turf/open/floor/engine, -/area/station/science/xenobiology) "egU" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, @@ -14445,17 +14823,6 @@ /obj/effect/landmark/navigate_destination/hydro, /turf/open/floor/iron/stairs/medium, /area/station/hallway/primary/central) -"ehf" = ( -/obj/machinery/meter{ - name = "Mix Meter" - }, -/obj/machinery/atmospherics/pipe/multiz/cyan/visible{ - dir = 8; - name = "Air Mix Multideck Adapter" - }, -/obj/effect/turf_decal/tile/neutral/full, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "ehg" = ( /obj/structure/cable/layer3, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -14524,6 +14891,11 @@ /obj/effect/spawner/random/trash/grime, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"eiG" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, +/turf/open/space/basic, +/area/space/nearstation) "eiW" = ( /obj/item/beacon, /turf/open/floor/engine/vacuum, @@ -14681,15 +15053,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured, /area/station/maintenance/starboard/lesser) -"elu" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/structure/sign/warning/secure_area/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "elw" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -14700,6 +15063,16 @@ /obj/structure/chair/office, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"elz" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/sign/warning/cold_temp/directional/east{ + name = "Cryogenics"; + pixel_x = 26 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "elC" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -14736,14 +15109,6 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/carpet/executive, /area/station/ai_monitored/turret_protected/aisat_interior) -"elP" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/trinary/filter/atmos/co2, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) "elS" = ( /obj/structure/closet/crate/trashcart/filled, /obj/effect/turf_decal/tile/purple/opposingcorners, @@ -14759,6 +15124,16 @@ /obj/structure/table, /turf/open/floor/engine/hull/air, /area/station/construction/storage_wing) +"emb" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/arrow_ccw{ + dir = 4 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "emh" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 10 @@ -14779,15 +15154,6 @@ }, /turf/open/floor/engine/hull, /area/space/nearstation) -"emn" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) "emE" = ( /obj/effect/turf_decal/siding/brown/corner{ dir = 8 @@ -14814,14 +15180,6 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"emH" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/tile/bar, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) "emL" = ( /obj/effect/turf_decal/siding/brown/end{ dir = 1 @@ -14836,6 +15194,17 @@ /obj/effect/landmark/start/roboticist, /turf/open/floor/iron, /area/station/science/robotics/lab) +"emP" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/dark_blue, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 1 + }, +/obj/machinery/light/floor, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "emR" = ( /obj/structure/chair/office{ dir = 1 @@ -14859,20 +15228,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/wood, /area/station/commons/storage/tools) -"enC" = ( -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/machinery/meter{ - name = "N20 meter" - }, -/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ - name = "N20 Multideck Adapter"; - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "enE" = ( /obj/effect/turf_decal/siding/green/corner{ dir = 1 @@ -14916,6 +15271,22 @@ }, /turf/open/floor/iron/white, /area/station/maintenance/hallway/abandoned_recreation) +"eov" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/brigdoor/left/directional/east{ + req_access = list("brig_entrance") + }, +/turf/open/floor/plating, +/area/station/security/checkpoint/medical) +"eoD" = ( +/obj/structure/table/reinforced, +/obj/item/surgery_tray/full/morgue{ + pixel_x = 7 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "eoF" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/decoration/paint, @@ -14935,23 +15306,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port) -"epc" = ( -/obj/item/clothing/under/color/grey, -/obj/item/clothing/head/cone{ - pixel_x = -4; - pixel_y = -13 - }, -/obj/item/clothing/head/cone{ - pixel_x = -4; - pixel_y = -13 - }, -/obj/structure/rack, -/obj/machinery/camera/autoname/directional/west, -/obj/item/flashlight, -/obj/item/radio/intercom/directional/north, -/obj/item/wrench, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "epi" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -15086,6 +15440,14 @@ }, /turf/open/floor/wood/large, /area/station/hallway/primary/central) +"eri" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/engine, +/area/station/engineering/atmos/project) "erj" = ( /obj/structure/stairs/south, /turf/open/floor/iron/stairs{ @@ -15190,6 +15552,13 @@ }, /turf/open/floor/iron/smooth, /area/station/engineering/atmos/upper) +"esn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/sign/warning/electric_shock/directional/west, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/fore) "esu" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/burnt_floor, @@ -15211,11 +15580,22 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/medical) -"eta" = ( -/obj/machinery/vending/coffee, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/medbay/central) +"esK" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) +"etc" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "etf" = ( /obj/machinery/door/airlock{ id_tag = "Cabin7"; @@ -15284,42 +15664,23 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/detectives_office/private_investigators_office) -"eur" = ( -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) -"eus" = ( -/obj/structure/disposalpipe/segment, -/obj/item/paper_bin{ - pixel_y = 6; - pixel_x = -4 - }, -/obj/item/stamp/head/ce{ - pixel_x = 7 - }, -/obj/item/stamp/denied{ - pixel_x = 7; - pixel_y = 10 - }, -/obj/item/pen, -/obj/structure/table/reinforced/rglass, -/turf/open/floor/engine, -/area/station/command/heads_quarters/ce) "euD" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/science/robotics) +"euF" = ( +/obj/machinery/chem_dispenser, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "euG" = ( /turf/closed/wall, /area/station/cargo/bitrunning/den) -"euH" = ( -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Plasma to Port" - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "euI" = ( /obj/effect/spawner/random/trash/moisture_trap, /turf/open/floor/carpet, @@ -15431,6 +15792,10 @@ /obj/structure/cable/layer1, /turf/open/floor/engine, /area/station/engineering/supermatter) +"eww" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "ewA" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -15444,6 +15809,15 @@ "ewD" = ( /turf/closed/wall, /area/station/service/cafeteria) +"ewG" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/firealarm/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "ewI" = ( /obj/effect/turf_decal/bot, /turf/open/floor/engine, @@ -15490,11 +15864,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/lab) -"exz" = ( -/obj/structure/closet/secure_closet/atmospherics, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/glass/reinforced/plasma, -/area/station/engineering/atmos/project) "exM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -15560,6 +15929,14 @@ }, /turf/open/openspace, /area/station/commons/dorms) +"ezc" = ( +/obj/machinery/light/floor{ + color = "#66ccff" + }, +/obj/item/kirbyplants/random, +/obj/structure/window/spawner/directional/east, +/turf/open/floor/iron/dark, +/area/station/medical/cryo) "ezm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/holopad, @@ -15657,12 +16034,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/lobby) -"eAO" = ( -/obj/effect/turf_decal/siding/blue/corner{ - dir = 4 - }, -/turf/open/openspace, -/area/station/medical/medbay/central) "eAP" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet, @@ -15742,15 +16113,6 @@ /obj/effect/turf_decal/tile/blue/opposingcorners, /turf/open/floor/iron/cafeteria, /area/station/maintenance/port) -"eBQ" = ( -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured_corner{ - dir = 1 - }, -/area/station/medical/morgue) "eBZ" = ( /obj/effect/spawner/random/structure/closet_empty/crate, /turf/open/floor/iron/checker, @@ -15781,6 +16143,18 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/service/chapel/office) +"eCH" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/structure/table, +/obj/item/phone{ + pixel_x = -3; + pixel_y = 2 + }, +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/ai_monitored/turret_protected/ai_upload) "eCM" = ( /obj/structure/table/reinforced, /obj/effect/spawner/random/exotic/technology, @@ -15801,13 +16175,6 @@ /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/construction/storage_wing) -"eDj" = ( -/obj/machinery/camera/directional/north{ - c_tag = "AI Upload Chamber - Upper"; - network = list("aiupload") - }, -/turf/open/openspace, -/area/station/ai_monitored/turret_protected/ai_upload) "eDl" = ( /obj/item/clothing/head/cone{ pixel_x = -7; @@ -15816,6 +16183,10 @@ /obj/effect/decal/cleanable/greenglow, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"eDq" = ( +/obj/effect/spawner/random/contraband/narcotics, +/turf/open/floor/plating, +/area/station/maintenance/port) "eDr" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -15830,6 +16201,10 @@ /obj/effect/mapping_helpers/airalarm/tlv_no_checks, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) +"eDP" = ( +/obj/effect/landmark/start/chief_engineer, +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/ce) "eEi" = ( /obj/structure/ladder, /obj/machinery/light_switch/directional/south, @@ -15837,16 +16212,6 @@ luminosity = 2 }, /area/station/ai_monitored/command/nuke_storage) -"eEp" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/structure/railing/corner/end, -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "eEv" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/aft) @@ -15888,12 +16253,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/commissary) -"eEW" = ( -/obj/machinery/light/directional/north, -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/turf/open/openspace, -/area/station/engineering/atmos/project) "eFm" = ( /obj/structure/closet/radiation, /obj/machinery/light/directional/west, @@ -15981,6 +16340,26 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"eGD" = ( +/obj/machinery/computer/security/telescreen/cmo/directional/north, +/obj/effect/landmark/start/chief_medical_officer, +/obj/structure/chair/comfy{ + dir = 8 + }, +/obj/machinery/button/door/directional/west{ + id = "cmoprivacy"; + name = "CMO Office Privacy"; + req_access = list("cmo"); + pixel_y = -2 + }, +/obj/machinery/button/door/directional/west{ + id = "medbay-office"; + name = "Medbay Lockdown"; + req_access = list("medical"); + pixel_y = 8 + }, +/turf/open/floor/holofloor/dark, +/area/station/command/heads_quarters/cmo) "eGE" = ( /obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/trimline/yellow/filled/end{ @@ -15988,14 +16367,6 @@ }, /turf/open/floor/iron/smooth, /area/station/engineering/atmos/upper) -"eGM" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/landmark/start/paramedic, -/turf/open/openspace, -/area/station/medical/cryo) "eGP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -16013,6 +16384,16 @@ /obj/item/reagent_containers/cup/bottle/morphine, /turf/open/floor/iron/dark/smooth_large, /area/station/security/office) +"eHb" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "eHg" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -16101,6 +16482,9 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/command) +"eIo" = ( +/turf/open/floor/iron/checker, +/area/station/maintenance/port/aft) "eIs" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -16192,15 +16576,18 @@ /obj/effect/spawner/random/trash/moisture_trap, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"eKh" = ( -/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ +"eKy" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 +/obj/machinery/defibrillator_mount/mobile{ + anchored = 1 }, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 4 + }, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "eKz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/smooth_large, @@ -16242,28 +16629,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) -"eKH" = ( -/obj/structure/lattice/catwalk, -/obj/structure/table/reinforced, -/obj/item/storage/fancy/candle_box{ - pixel_x = 12; - pixel_y = 11 - }, -/obj/item/gun/syringe{ - desc = "The Holy Syringe Gun. Identical to the regular syringe gun. You have a feeling that you shouldn't touch this."; - name = "Holy Syringe Gun"; - pixel_x = -3; - pixel_y = 3 - }, -/turf/open/openspace, -/area/station/medical/storage) -"eKW" = ( -/obj/structure/railing, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "eLc" = ( /obj/effect/turf_decal/tile/red{ dir = 1 @@ -16300,6 +16665,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) +"eLn" = ( +/obj/structure/cable, +/obj/structure/sign/poster/contraband/random/directional/east, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "eLp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, @@ -16321,21 +16691,6 @@ /obj/effect/turf_decal/trimline/red/warning, /turf/open/floor/iron/dark/smooth_large, /area/station/security/office) -"eMd" = ( -/obj/machinery/chem_master, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/pharmacy) "eMi" = ( /obj/machinery/door/airlock/public/glass{ name = "Arrivals Lounge" @@ -16362,23 +16717,23 @@ /obj/structure/sign/departments/aisat/directional/south, /turf/open/floor/iron/dark, /area/station/engineering/transit_tube) -"eME" = ( -/obj/machinery/holopad, -/obj/effect/turf_decal/box/white{ - color = "#52B4E9" - }, +"eMy" = ( /obj/structure/cable, -/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/cryo) +/obj/structure/lattice/catwalk, +/obj/structure/sign/poster/contraband/random/directional/west, +/turf/open/water, +/area/station/maintenance/starboard/fore) "eMI" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /obj/effect/landmark/navigate_destination/sec, /turf/open/floor/plating, /area/station/security/brig) +"eMO" = ( +/obj/structure/lattice/catwalk, +/obj/structure/ladder, +/turf/open/openspace, +/area/station/medical/medbay/central) "eNb" = ( /obj/effect/spawner/random/trash, /turf/open/floor/plating, @@ -16462,20 +16817,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/storage) -"eOf" = ( -/obj/machinery/door/airlock/engineering/glass{ - name = "Primary Tool Storage" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/landmark/navigate_destination/tools, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "eOh" = ( /obj/structure/cable, /turf/open/floor/wood, @@ -16500,40 +16841,15 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/general, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"eOx" = ( -/obj/structure/table, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner, -/obj/item/assembly/timer{ - pixel_x = -2; - pixel_y = 3 +"eOy" = ( +/obj/structure/sign/clock/directional/west, +/obj/structure/chair/office{ + dir = 1 }, -/obj/item/assembly/igniter{ - pixel_x = 3; - pixel_y = -1 +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 1 }, -/obj/item/radio/headset/headset_med{ - pixel_x = 15; - pixel_y = 4 - }, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","medbay"); - c_tag = "Medbay - Lower Pharmacy" - }, -/obj/machinery/button/door/directional/south{ - id = "chemshutters"; - name = "Chemistry Shutters" - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/pharmacy) -"eOz" = ( -/obj/machinery/door/airlock/engineering, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, +/turf/open/floor/iron/dark, /area/station/engineering/break_room) "eOA" = ( /obj/effect/turf_decal/tile/dark_green{ @@ -16579,6 +16895,15 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"ePh" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/customs) "ePn" = ( /obj/structure/mop_bucket/janitorialcart{ dir = 4 @@ -16591,15 +16916,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/lesser) -"ePT" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Medbay Maintenance" - }, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "ePX" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16665,6 +16981,11 @@ /obj/machinery/door/firedoor, /turf/open/floor/catwalk_floor, /area/station/engineering/atmos/upper) +"eQW" = ( +/obj/effect/turf_decal/stripes/box, +/obj/structure/ladder, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "eRb" = ( /obj/machinery/door/airlock/external{ name = "Labor Camp Shuttle Airlock" @@ -16765,18 +17086,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/warden) -"eRT" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "eRX" = ( /obj/machinery/door/airlock/external{ name = "Labor Camp Shuttle Airlock" @@ -16884,10 +17193,6 @@ /obj/structure/cable, /turf/open/openspace, /area/station/engineering/atmos/project) -"eTD" = ( -/obj/structure/closet/secure_closet/chief_medical, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "eTG" = ( /obj/structure/table, /obj/machinery/coffeemaker/impressa{ @@ -17093,6 +17398,30 @@ dir = 1 }, /area/station/science/ordnance/storage) +"eWw" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/item/reagent_containers/cup/bottle/epinephrine{ + pixel_x = 6; + pixel_y = -6 + }, +/obj/item/reagent_containers/cup/bottle/multiver{ + pixel_x = -2; + pixel_y = -7 + }, +/obj/item/reagent_containers/dropper{ + pixel_x = 2; + pixel_y = -11 + }, +/obj/structure/closet/crate/science, +/obj/item/reagent_containers/cup/beaker{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/structure/sign/poster/official/safety_eye_protection/directional/east, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "eWA" = ( /obj/item/toy/clockwork_watch{ desc = "An ancient piece of machinery, made from an unknown metal by an unknown maker."; @@ -17101,6 +17430,26 @@ /obj/effect/turf_decal/tile/purple/opposingcorners, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/aft) +"eWF" = ( +/obj/machinery/door/airlock/atmos/glass{ + name = "Atmospherics Testing Room" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/door/firedoor/heavy, +/obj/structure/cable, +/obj/structure/barricade/wooden/crude, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) +"eWG" = ( +/obj/structure/railing, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "eWJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17132,13 +17481,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"eXp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/iron/textured_large, -/area/station/medical/abandoned) "eXw" = ( /obj/structure/table/optable, /obj/effect/turf_decal/tile/purple/half{ @@ -17158,6 +17500,15 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/glass/reinforced, /area/station/service/library) +"eXy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4 + }, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "eXF" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -17185,6 +17536,16 @@ /obj/effect/turf_decal/tile/blue/anticorner/contrasted, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/command) +"eXT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "eYe" = ( /obj/structure/displaycase/captain{ pixel_y = 5 @@ -17220,18 +17581,16 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/space/nearstation) +"eYL" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/carpet/cyan, +/area/station/command/heads_quarters/cmo) "eYP" = ( /obj/structure/showcase/machinery/tv/broken, /turf/open/floor/plating, /area/station/maintenance/port) -"eYY" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Mix Outlet Pump" - }, -/obj/effect/turf_decal/tile/green/full, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "eZd" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/machinery/vending/coffee{ @@ -17245,6 +17604,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"eZl" = ( +/obj/machinery/light/directional/east, +/turf/open/floor/engine/hull/air, +/area/station/medical/medbay/central) "eZt" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -17263,18 +17626,6 @@ "eZC" = ( /turf/open/floor/iron/dark/textured_large, /area/station/engineering/gravity_generator) -"eZE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "eZF" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/firecloset, @@ -17294,6 +17645,26 @@ }, /turf/open/openspace, /area/station/commons/fitness/recreation) +"eZM" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) +"faa" = ( +/obj/effect/turf_decal/siding/blue/corner, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/status_display/ai/directional/north, +/turf/open/openspace, +/area/station/medical/medbay/central) "fai" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -17307,19 +17678,6 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"fas" = ( -/obj/effect/turf_decal/tile/purple/half{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ - name = "Plasma Multideck Adapter"; - dir = 4 - }, -/obj/machinery/meter{ - name = "Plasma meter" - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "fav" = ( /obj/machinery/button/door/directional/north{ id = "SM_Outside_shutters"; @@ -17336,6 +17694,23 @@ }, /turf/open/floor/catwalk_floor, /area/station/engineering/atmos/upper) +"faD" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/surgery) +"fbe" = ( +/obj/structure/bed, +/obj/item/bedsheet/ce, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/ce) "fbk" = ( /turf/open/floor/plating, /area/station/engineering/transit_tube) @@ -17384,17 +17759,6 @@ dir = 8 }, /area/station/command/corporate_showroom) -"fbK" = ( -/obj/structure/sign/poster/contraband/donk_co, -/turf/closed/wall, -/area/station/maintenance/port) -"fch" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/white/textured, -/area/station/medical/surgery) "fcn" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17431,10 +17795,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"fcE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark/small, -/area/station/command/heads_quarters/ce) "fcH" = ( /obj/structure/lattice, /obj/structure/transit_tube/crossing/horizontal, @@ -17443,6 +17803,16 @@ "fcK" = ( /turf/closed/wall/r_wall, /area/station/security/detectives_office/private_investigators_office) +"fcL" = ( +/obj/structure/chair/office/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/effect/landmark/start/paramedic, +/turf/open/floor/iron/white, +/area/station/medical/office) "fcT" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -17452,15 +17822,22 @@ }, /turf/open/floor/catwalk_floor, /area/station/engineering/atmos/upper) -"fdb" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "fdd" = ( /turf/open/floor/iron/dark/smooth_large, /area/station/security/eva) +"fdf" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/openspace, +/area/station/medical/abandoned) "fdg" = ( /obj/structure/window/reinforced/plasma/spawner/directional/west, /obj/structure/window/reinforced/plasma/spawner/directional/north, @@ -17505,6 +17882,18 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) +"fdN" = ( +/obj/effect/turf_decal/trimline/purple/arrow_cw{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 4 + }, +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "fdT" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17514,6 +17903,22 @@ }, /turf/open/floor/glass, /area/station/science/zoo) +"fdY" = ( +/obj/effect/turf_decal/tile/dark/half{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) +"fei" = ( +/obj/machinery/door/airlock/research{ + glass = 1; + name = "Slime Euthanization Chamber"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/access/all/science/xenobio, +/obj/structure/plasticflaps/kitchen, +/turf/open/floor/engine, +/area/station/science/xenobiology) "feA" = ( /obj/structure/table, /obj/item/clothing/suit/apron/chef, @@ -17521,16 +17926,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"feE" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/openspace, -/area/station/medical/medbay/central) "feJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -17553,6 +17948,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"ffn" = ( +/obj/machinery/vending/assist, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "ffp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -17575,17 +17977,6 @@ /obj/machinery/light/cold/no_nightlight/directional/west, /turf/open/floor/iron/vaporwave, /area/station/maintenance/starboard/lesser) -"ffK" = ( -/obj/machinery/meter{ - name = "C02 meter" - }, -/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ - name = "CO2 Multideck Adapter"; - dir = 8 - }, -/obj/effect/turf_decal/tile/dark/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "ffN" = ( /obj/structure/stairs/north, /turf/open/floor/wood, @@ -17638,6 +18029,12 @@ /obj/effect/spawner/random/maintenance, /turf/open/openspace, /area/station/maintenance/starboard/lesser) +"fgi" = ( +/obj/structure/table/wood, +/obj/machinery/airalarm/directional/west, +/obj/machinery/microwave, +/turf/open/floor/wood/large, +/area/station/medical/break_room) "fgq" = ( /obj/machinery/vending/cigarette, /turf/open/floor/iron, @@ -17723,6 +18120,12 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood/large, /area/station/hallway/secondary/service) +"fhu" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "fhw" = ( /obj/structure/table/reinforced/rglass, /obj/item/reagent_containers/cup/glass/mug/nanotrasen{ @@ -17739,6 +18142,14 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"fhE" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/maintenance/department/medical) "fhF" = ( /obj/effect/turf_decal/siding/dark/corner{ dir = 8 @@ -17775,23 +18186,26 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron/dark, /area/station/science/cytology) -"fik" = ( -/obj/structure/rack, -/obj/item/cardboard_cutout{ - pixel_x = -5 +"fhY" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 }, -/obj/item/cardboard_cutout, -/obj/item/cardboard_cutout{ - pixel_x = 8 +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ + dir = 4 }, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/port) +/obj/machinery/chem_mass_spec, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "fin" = ( /obj/structure/flora/bush/lavendergrass/style_random, /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/floor/grass, /area/station/medical/virology) +"fir" = ( +/obj/structure/lattice/catwalk, +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/space/openspace, +/area/space/nearstation) "fiC" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -17880,18 +18294,6 @@ }, /turf/open/floor/wood/tile, /area/station/maintenance/port/aft) -"fjS" = ( -/obj/machinery/door/airlock/medical{ - name = "Abandoned Room" - }, -/obj/effect/mapping_helpers/airlock/abandoned, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/maintenance/port) "fjY" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/vomit/old, @@ -17900,6 +18302,11 @@ }, /turf/open/floor/iron/textured, /area/station/security/brig) +"fke" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "fkh" = ( /obj/structure/ladder, /obj/effect/decal/cleanable/dirt, @@ -17934,6 +18341,14 @@ /obj/structure/sink/directional/south, /turf/open/floor/iron/dark/textured_large, /area/station/medical/virology) +"fkx" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/dark_green, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "fkD" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -17961,23 +18376,23 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/medical/virology) +"fkJ" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/arrow_ccw{ + dir = 4 + }, +/obj/structure/chair{ + dir = 4; + pixel_y = -2 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "fkM" = ( /obj/machinery/camera/autoname/directional/west, /turf/open/openspace, /area/station/hallway/primary/central) -"fkP" = ( -/obj/item/kirbyplants/synthetic/plant26{ - pixel_x = 10; - pixel_y = 18 - }, -/obj/item/kirbyplants/synthetic/plant27{ - pixel_x = 13; - pixel_y = 5 - }, -/obj/machinery/light/directional/north, -/obj/machinery/light_switch/directional/north, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/morgue) "fkX" = ( /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, @@ -18067,12 +18482,29 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"fml" = ( +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "fmw" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 4 }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"fmE" = ( +/obj/machinery/camera/autoname/directional/south, +/obj/effect/turf_decal/box/white{ + color = "#52B4E9" + }, +/obj/machinery/plumbing/receiver{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "fmN" = ( /obj/structure/lattice/catwalk, /obj/structure/railing, @@ -18082,6 +18514,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/engineering/storage_shared) +"fmS" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "fmV" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -18089,14 +18528,6 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) -"fmW" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tcomms) "fnm" = ( /obj/structure/cable, /turf/closed/wall, @@ -18173,6 +18604,13 @@ }, /turf/open/floor/wood/large, /area/station/service/kitchen) +"fod" = ( +/obj/machinery/light/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) "foj" = ( /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, @@ -18219,12 +18657,34 @@ /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, /area/station/maintenance/department/science/central) +"foP" = ( +/obj/structure/closet/crate/freezer/surplus_limbs, +/obj/machinery/airalarm/directional/west, +/obj/effect/mapping_helpers/airalarm/surgery, +/obj/effect/turf_decal/trimline/blue/warning{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/surgery) "foR" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, /turf/open/floor/circuit/green/telecomms/mainframe, /area/station/tcommsat/server) +"foS" = ( +/obj/structure/table/glass, +/obj/item/book/manual/wiki/surgery{ + pixel_x = -4; + pixel_y = 3 + }, +/obj/item/clothing/gloves/latex/nitrile, +/obj/item/stack/medical/bone_gel{ + pixel_x = 6; + pixel_y = 12 + }, +/turf/open/floor/iron/dark/textured_half, +/area/station/medical/surgery) "foZ" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -18283,6 +18743,21 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/medical/morgue) +"fpv" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/end{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/item/binoculars{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/item/clothing/glasses/hud/health{ + pixel_x = 3; + pixel_y = -1 + }, +/turf/open/floor/holofloor/dark, +/area/station/command/heads_quarters/cmo) "fpz" = ( /obj/structure/lattice/catwalk, /obj/structure/chair{ @@ -18331,6 +18806,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine/hull, /area/space/nearstation) +"fpZ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 5 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "fqc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -18408,6 +18889,18 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) +"fqR" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "fqZ" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -18437,16 +18930,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"frB" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/structure/bodycontainer/morgue, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/morgue) "frE" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 @@ -18497,10 +18980,6 @@ luminosity = 2 }, /area/station/ai_monitored/command/nuke_storage) -"fsb" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/plasma_input, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos/upper) "fsf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -18524,18 +19003,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) -"fsx" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Science Store" +"fsF" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/landmark/navigate_destination/research, -/turf/open/floor/iron/dark, -/area/station/science/lobby) +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "fsM" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -18575,6 +19049,18 @@ /obj/structure/closet/secure_closet/security/science, /turf/open/openspace, /area/station/security/checkpoint/science) +"fsV" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "ftk" = ( /obj/structure/table, /obj/item/stock_parts/micro_laser, @@ -18605,6 +19091,11 @@ }, /turf/open/floor/plating, /area/station/service/kitchen/abandoned) +"ftF" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/iron/dark/textured_large, +/area/station/engineering/atmos/upper) "ftG" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /turf/open/floor/engine/n2, @@ -18632,6 +19123,15 @@ /obj/structure/lattice/catwalk, /turf/open/floor/engine/hull/air, /area/station/hallway/secondary/exit/departure_lounge) +"fug" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/floor, +/turf/open/floor/iron/white, +/area/station/medical/office) "fui" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, @@ -18697,6 +19197,14 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) +"fvg" = ( +/obj/machinery/light/directional/east, +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/openspace, +/area/station/engineering/atmos/project) "fvh" = ( /obj/structure/chair/office{ dir = 4 @@ -18789,6 +19297,19 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/ai) +"fwy" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/machinery/door/window/right/directional/north{ + name = "Anti Assistant Protection Door"; + req_access = list("medical") + }, +/obj/machinery/portable_atmospherics/canister/anesthetic_mix, +/obj/machinery/camera/autoname/directional/south, +/obj/effect/turf_decal/tile/dark_green/diagonal_centre, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/cryo) "fwz" = ( /obj/item/kirbyplants/fern{ pixel_x = -3; @@ -18814,10 +19335,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/checker, /area/station/maintenance/port/aft) -"fwI" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/upper) "fwK" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -18861,16 +19378,15 @@ /obj/effect/spawner/random/vending/snackvend, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"fxS" = ( -/obj/structure/railing{ - dir = 8 +"fxA" = ( +/obj/machinery/shower/directional/east, +/obj/effect/turf_decal/tile/blue/full, +/obj/machinery/digital_clock/directional/west, +/obj/effect/turf_decal/siding/blue/end{ + dir = 4 }, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) +/turf/open/floor/iron/showroomfloor, +/area/station/medical/surgery) "fxY" = ( /obj/machinery/vending/cigarette, /obj/structure/disposalpipe/segment{ @@ -18915,6 +19431,15 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) +"fyq" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "fyw" = ( /obj/machinery/newscaster/directional/north, /obj/structure/cable, @@ -18951,16 +19476,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"fyE" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/porta_turret/ai{ - dir = 4 - }, -/obj/structure/railing{ - dir = 5 - }, -/turf/open/openspace, -/area/station/ai_monitored/turret_protected/ai_upload) "fyH" = ( /obj/structure/lattice/catwalk, /obj/structure/railing/corner{ @@ -18972,6 +19487,27 @@ }, /turf/open/openspace, /area/station/engineering/lobby) +"fyJ" = ( +/obj/machinery/door/airlock/medical{ + name = "Abandoned Room" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/maintenance/port) +"fyQ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/cmo) "fyY" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -18985,6 +19521,18 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) +"fza" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 8 + }, +/obj/machinery/holopad{ + pixel_y = 6 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "fzd" = ( /obj/structure/ladder, /turf/open/floor/plating, @@ -19044,6 +19592,15 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) +"fzA" = ( +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "fzE" = ( /obj/structure/table/glass, /obj/item/clothing/mask/gas{ @@ -19138,6 +19695,17 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"fAS" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/cigbutt/cigarbutt, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "fAV" = ( /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, @@ -19176,10 +19744,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/station/service/library/printer) -"fBQ" = ( -/obj/structure/sign/directions/upload, -/turf/closed/wall, -/area/station/medical/medbay/central) "fBR" = ( /obj/structure/railing/corner/end{ dir = 4 @@ -19229,21 +19793,19 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"fCp" = ( +/obj/machinery/meter{ + name = "Mixed Air Tank In" + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, +/turf/closed/wall/r_wall, +/area/station/engineering/atmos/upper) "fCL" = ( /obj/structure/lattice/catwalk, /obj/structure/rack, /obj/effect/spawner/random/maintenance/five, /turf/open/openspace, /area/station/hallway/secondary/entry) -"fCM" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "fCV" = ( /turf/closed/wall/r_wall, /area/station/science/robotics/lab) @@ -19271,15 +19833,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/large, /area/station/hallway/primary/central) -"fDg" = ( -/turf/open/floor/iron, -/area/station/medical/pharmacy) -"fDk" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "fDs" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/machinery/door/airlock/command/glass{ @@ -19350,6 +19903,11 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"fEP" = ( +/obj/machinery/light/dim/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) "fES" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, @@ -19374,26 +19932,6 @@ }, /turf/open/floor/wood, /area/station/service/library) -"fFl" = ( -/obj/machinery/door/airlock/medical{ - name = "Medical Cold Room" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/abandoned, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/turf/open/floor/iron/freezer, -/area/station/medical/coldroom) -"fFm" = ( -/obj/structure/table/optable, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 8 - }, -/obj/item/surgical_drapes, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) "fFq" = ( /obj/structure/sign/poster/random/directional/north, /turf/open/openspace, @@ -19402,29 +19940,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor/iron_dark, /area/station/ai_monitored/turret_protected/ai) -"fFE" = ( -/obj/structure/lattice/catwalk, -/obj/structure/table/reinforced, -/obj/item/flashlight/flare/candle{ - pixel_x = 4; - pixel_y = 15 - }, -/obj/item/flashlight/flare/candle{ - pixel_x = -3; - pixel_y = 9 - }, -/obj/item/reagent_containers/syringe{ - pixel_x = 10; - pixel_y = 10 - }, -/obj/machinery/cell_charger{ - pixel_x = -1; - pixel_y = 3 - }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/openspace, -/area/station/medical/storage) "fFG" = ( /obj/structure/table/reinforced, /obj/item/book/manual/wiki/security_space_law{ @@ -19434,6 +19949,16 @@ /obj/machinery/light/directional/north, /turf/open/openspace, /area/station/security/checkpoint/science) +"fFZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "fGj" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -19464,24 +19989,20 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/space/openspace, /area/space/nearstation) -"fGp" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/structure/closet/secure_closet/chemical, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) "fGD" = ( /obj/machinery/firealarm/directional/east, /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/engineering/atmos/upper) +"fGK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/chem_storage) "fGL" = ( /obj/structure/disposaloutlet{ dir = 4 @@ -19515,21 +20036,6 @@ /obj/structure/sign/warning/cold_temp/directional/west, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"fHf" = ( -/obj/structure/bed/medical/emergency, -/obj/item/emergency_bed{ - pixel_x = -5; - pixel_y = 15 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/light/directional/west, -/obj/machinery/firealarm/directional/west{ - pixel_y = -28 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "fHg" = ( /obj/structure/sign/poster/contraband/missing_gloves/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -19549,23 +20055,6 @@ }, /turf/open/floor/eighties, /area/station/engineering/lobby) -"fHp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/showcase/machinery/oldpod{ - desc = "An old NT branded sleeper, decommissioned after the lead acetate incident. None of the functional machinery remains inside."; - dir = 4; - name = "decommissioned sleeper" - }, -/obj/effect/decal/cleanable/greenglow, -/turf/open/floor/iron/white, -/area/station/medical/abandoned) -"fHv" = ( -/obj/structure/cable, -/obj/machinery/power/terminal{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/aft) "fHG" = ( /obj/structure/lattice, /obj/machinery/camera/autoname/directional/north, @@ -19673,6 +20162,15 @@ dir = 4 }, /area/station/hallway/primary/fore) +"fJB" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/large, +/area/station/medical/break_room) "fJK" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -19714,6 +20212,17 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/hallway/secondary/construction) +"fKm" = ( +/obj/machinery/meter{ + name = "C02 meter" + }, +/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ + name = "CO2 Multideck Adapter"; + dir = 8 + }, +/obj/effect/turf_decal/tile/dark/fourcorners, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "fKJ" = ( /obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ dir = 4 @@ -19737,6 +20246,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"fLd" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/box/white{ + color = "#52B4E9" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/cryo) "fLq" = ( /obj/structure/window/reinforced/spawner/directional/north, /turf/open/openspace, @@ -19760,6 +20276,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/command/bridge) +"fLt" = ( +/obj/structure/table/reinforced/rglass, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 + }, +/obj/item/book/manual/wiki/medicine{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 4 + }, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "fLv" = ( /obj/effect/turf_decal/siding/dark{ dir = 6 @@ -19780,31 +20311,18 @@ /obj/machinery/vending/cigarette, /turf/open/floor/wood, /area/station/commons/toilet/restrooms) -"fLX" = ( -/obj/structure/table/reinforced, -/obj/item/storage/crayons{ - pixel_x = -1; - pixel_y = 11 +"fLL" = ( +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 }, -/obj/effect/spawner/random/bureaucracy/crayon, -/turf/open/floor/plating, -/area/station/maintenance/port) +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "fMe" = ( /obj/structure/barricade/sandbags, /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/maintenance/starboard/aft) -"fMh" = ( -/obj/structure/table/reinforced, -/obj/item/rcl/pre_loaded{ - pixel_y = 5 - }, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/carpet/orange, -/area/station/command/heads_quarters/ce) "fMl" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb, @@ -19817,6 +20335,14 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) +"fMB" = ( +/obj/machinery/newscaster/directional/west, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/blue, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "fMC" = ( /obj/effect/decal/cleanable/glitter{ color = "ff8080" @@ -19824,17 +20350,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"fNa" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 4 - }, -/obj/machinery/fax{ - fax_name = "Medical"; - name = "Medical Fax Machine" - }, -/obj/structure/table/glass, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "fNe" = ( /obj/effect/turf_decal/trimline/red/warning{ dir = 1 @@ -19854,24 +20369,27 @@ /obj/structure/cable, /turf/open/floor/engine/hull/air, /area/station/maintenance/port) -"fNv" = ( -/obj/structure/closet/emcloset, -/obj/effect/landmark/start/hangover, -/obj/machinery/light/directional/west, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation) -"fNw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing/corner{ +"fNo" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 }, -/obj/structure/closet/crate/freezer/surplus_limbs, -/obj/effect/turf_decal/tile/red/opposingcorners{ +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) +"fNp" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ dir = 1 }, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "fNB" = ( /obj/structure/cable, /turf/closed/wall/r_wall, @@ -19891,14 +20409,6 @@ /obj/structure/showcase/machinery/cloning_pod, /turf/open/floor/wood, /area/station/command/corporate_showroom) -"fNS" = ( -/obj/structure/lattice/catwalk, -/obj/structure/table/reinforced, -/obj/structure/reagent_dispensers/wall/peppertank/directional/north, -/obj/item/flashlight/lamp, -/obj/machinery/light/directional/north, -/turf/open/openspace, -/area/station/security/checkpoint/customs) "fNX" = ( /obj/machinery/cell_charger, /obj/structure/table, @@ -19944,10 +20454,28 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"fOl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/effect/turf_decal/trimline/white/filled/warning{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "fOM" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/engine, /area/station/engineering/main) +"fON" = ( +/obj/effect/turf_decal/tile/dark_green{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "fPb" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -19970,6 +20498,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"fPs" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/power/tracker, +/obj/structure/cable, +/turf/open/space/basic, +/area/station/solars/starboard/fore) "fPy" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -20072,27 +20606,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"fRd" = ( -/obj/machinery/disposal/bin/tagger, -/obj/machinery/button/door/directional/north{ - id = "main_surgery"; - name = "privacy shutters control" - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) "fRe" = ( /obj/structure/railing/corner/end/flip{ dir = 8 @@ -20131,14 +20644,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/security/brig) -"fRH" = ( -/obj/structure/table/reinforced/rglass, -/obj/machinery/fax{ - fax_name = "Chief Engineer's Office"; - name = "Chief Engineer's Fax Machine" - }, -/turf/open/floor/engine, -/area/station/command/heads_quarters/ce) "fRI" = ( /obj/machinery/light/small/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20357,6 +20862,15 @@ /obj/machinery/status_display/evac/directional/east, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"fUI" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "rear_surgery"; + name = "Surgery Shutters"; + dir = 1 + }, +/turf/open/floor/plating, +/area/station/medical/surgery) "fUJ" = ( /obj/machinery/computer/security/telescreen/entertainment/directional/east, /turf/open/floor/wood, @@ -20531,6 +21045,12 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) +"fWC" = ( +/obj/structure/disposalpipe/trunk/multiz/down{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "fWG" = ( /obj/structure/cable/layer3, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20564,20 +21084,6 @@ }, /turf/open/floor/wood/large, /area/station/commons/lounge) -"fWW" = ( -/obj/item/cigbutt{ - pixel_x = -14; - pixel_y = -7 - }, -/obj/machinery/flasher/directional/south, -/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ - dir = 1 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) "fWY" = ( /turf/closed/wall, /area/station/service/bar) @@ -20671,22 +21177,6 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"fYe" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/structure/rack, -/obj/item/flatpack{ - board = /obj/item/circuitboard/machine/flatpacker; - pixel_x = -5 - }, -/obj/item/multitool{ - pixel_x = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) "fYq" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 4; @@ -20699,14 +21189,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible, /turf/open/floor/iron/freezer, /area/station/engineering/atmos/pumproom) -"fYu" = ( -/obj/structure/bodycontainer/morgue/beeper_off, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","medbay"); - c_tag = "Medbay - Upper Secure Morgue" - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/morgue) "fYF" = ( /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 @@ -20730,14 +21212,6 @@ }, /turf/closed/wall, /area/station/service/lawoffice) -"fYW" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/camera/autoname/directional/north, -/turf/open/openspace, -/area/station/engineering/atmos/project) "fZc" = ( /obj/effect/turf_decal/siding/red{ dir = 4 @@ -20765,6 +21239,13 @@ /obj/item/clothing/head/costume/foilhat, /turf/open/floor/wood, /area/station/commons/dorms) +"fZu" = ( +/obj/effect/turf_decal/trimline/blue/filled/shrink_cw, +/obj/effect/turf_decal/trimline/blue/filled/shrink_ccw{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "fZy" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/railing{ @@ -20826,6 +21307,12 @@ }, /turf/open/water/jungle, /area/station/science/genetics) +"gae" = ( +/obj/effect/turf_decal/siding/dark_blue/inner_corner{ + dir = 8 + }, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "gaf" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 1 @@ -20871,12 +21358,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/lab) -"gas" = ( -/obj/effect/turf_decal/tile/red/anticorner{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "gav" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /obj/effect/turf_decal/stripes/line, @@ -20928,14 +21409,14 @@ /obj/item/storage/toolbox/emergency, /turf/open/floor/carpet, /area/station/commons/storage/tools) -"gbb" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 8 +"gbq" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/multiz/general/visible, -/turf/open/openspace, -/area/station/medical/cryo) +/obj/machinery/light_switch/directional/south, +/obj/machinery/smartfridge/chemistry, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "gby" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -20960,6 +21441,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/service/cafeteria) +"gbI" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 8 + }, +/obj/machinery/status_display/ai/directional/west, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "gbJ" = ( /obj/effect/turf_decal/tile/dark_green/opposingcorners, /obj/effect/turf_decal/tile/green/opposingcorners{ @@ -21019,14 +21510,6 @@ }, /turf/open/floor/carpet, /area/station/command/bridge) -"gch" = ( -/obj/machinery/door/airlock/virology/glass{ - name = "Entrance to Malpractice Tower" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/access/all/medical/virology, -/turf/open/floor/iron/textured_large, -/area/station/medical/virology) "gck" = ( /obj/structure/railing{ dir = 8 @@ -21070,6 +21553,17 @@ }, /turf/open/floor/wood, /area/station/command/teleporter) +"gcL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/medical/cmo, +/obj/machinery/door/airlock/command{ + name = "Chief Medical Officer's Office" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/cmo) "gcO" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/structure/table/reinforced, @@ -21171,10 +21665,6 @@ "geK" = ( /turf/open/floor/iron, /area/station/cargo/storage) -"geL" = ( -/obj/machinery/pdapainter/medbay, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "geM" = ( /obj/structure/lattice/catwalk, /turf/open/openspace, @@ -21269,6 +21759,20 @@ }, /turf/open/floor/iron/textured_large, /area/station/medical/virology) +"ggj" = ( +/obj/machinery/door/airlock/engineering/glass{ + name = "Primary Tool Storage" + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/landmark/navigate_destination/tools, +/obj/machinery/door/firedoor, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "ggl" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -21302,6 +21806,13 @@ /obj/structure/disposalpipe/segment, /turf/closed/wall, /area/station/security/warden) +"ggv" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/engineering/atmos/project) "ggz" = ( /obj/structure/lattice/catwalk, /obj/structure/ladder, @@ -21409,35 +21920,6 @@ /obj/effect/turf_decal/tile/purple/opposingcorners, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/aft) -"ghR" = ( -/obj/structure/rack, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 8 - }, -/obj/item/tank/internals/anesthetic{ - pixel_x = -3; - pixel_y = 2 - }, -/obj/item/tank/internals/anesthetic, -/obj/item/tank/internals/anesthetic{ - pixel_x = 3; - pixel_y = -2 - }, -/obj/item/clothing/mask/breath/medical{ - pixel_y = -6 - }, -/obj/item/clothing/mask/breath/medical{ - pixel_y = -3 - }, -/obj/item/clothing/mask/breath/medical, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) "ghV" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, @@ -21449,16 +21931,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/cargo/storage) -"gie" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 8 - }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "gif" = ( /obj/machinery/door/airlock/security{ name = "Armory" @@ -21471,14 +21943,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"gih" = ( -/obj/machinery/chem_dispenser, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) "gim" = ( /obj/machinery/computer/slot_machine{ pixel_y = 2 @@ -21519,6 +21983,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/command/bridge) +"giO" = ( +/obj/item/kirbyplants/synthetic/plant26{ + pixel_x = 10; + pixel_y = 18 + }, +/obj/item/kirbyplants/synthetic/plant27{ + pixel_x = 13; + pixel_y = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "giT" = ( /obj/machinery/camera/autoname/directional/south, /turf/open/floor/glass, @@ -21540,6 +22018,10 @@ /obj/machinery/air_sensor, /turf/open/floor/iron/dark, /area/station/service/hydroponics) +"gjt" = ( +/obj/structure/chair/sofa/corp, +/turf/open/floor/carpet/blue, +/area/station/medical/break_room) "gjB" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair{ @@ -21614,6 +22096,22 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) +"gkK" = ( +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 2; + pixel_y = 11 + }, +/obj/item/clothing/head/utility/welding{ + pixel_x = -3; + pixel_y = 6 + }, +/obj/item/toy/figure/lawyer{ + pixel_x = 6; + pixel_y = 6 + }, +/turf/open/floor/iron/checker, +/area/station/maintenance/port/aft) "gkN" = ( /obj/structure/closet/crate/trashcart/filled, /obj/effect/spawner/random/maintenance, @@ -21686,10 +22184,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"glH" = ( -/obj/effect/landmark/start/paramedic, -/turf/open/floor/wood, -/area/station/medical/medbay/central) "glJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -21956,20 +22450,6 @@ dir = 1 }, /area/station/maintenance/port/aft) -"gob" = ( -/obj/item/wheelchair{ - pixel_y = -3 - }, -/obj/item/wheelchair, -/obj/item/wheelchair{ - pixel_y = 3 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/rack, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) "gog" = ( /obj/structure/sign/poster/contraband/borg_fancy_2, /turf/closed/wall, @@ -21995,23 +22475,39 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/ai) -"gom" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "viro-passthrough" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/port) "got" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/burnt_floor, /obj/structure/broken_flooring/pile/directional/east, /turf/open/floor/plating, /area/station/maintenance/department/medical) +"gou" = ( +/obj/machinery/airalarm/directional/south, +/obj/structure/table/glass, +/obj/item/reagent_containers/cup/beaker/cryoxadone{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/reagent_containers/cup/beaker/cryoxadone{ + pixel_x = 6; + pixel_y = 10 + }, +/obj/item/reagent_containers/cup/beaker/cryoxadone{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/reagent_containers/cup/beaker/cryoxadone{ + pixel_x = -6; + pixel_y = 10 + }, +/obj/item/wrench/medical{ + pixel_x = 2; + pixel_y = 4 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/medical/cryo) "goB" = ( /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, @@ -22064,11 +22560,6 @@ }, /turf/open/floor/wood, /area/station/hallway/primary/central) -"gpg" = ( -/obj/structure/cable, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "gpk" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 1 @@ -22088,14 +22579,6 @@ }, /turf/open/floor/iron/checker, /area/station/service/janitor) -"gpx" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "gpI" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/effect/turf_decal/bot, @@ -22134,14 +22617,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) -"gqc" = ( -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 4 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "gqh" = ( /obj/item/cigbutt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -22254,10 +22729,13 @@ /obj/structure/cable, /turf/open/openspace, /area/station/hallway/secondary/construction) -"gsq" = ( -/obj/effect/landmark/firealarm_sanity, -/turf/open/openspace, -/area/station/medical/chemistry) +"gsG" = ( +/obj/effect/spawner/structure/window, +/obj/structure/disposalpipe/trunk/multiz{ + dir = 2 + }, +/turf/open/floor/plating, +/area/station/medical/cryo) "gsL" = ( /obj/effect/landmark/event_spawn, /obj/structure/disposalpipe/segment, @@ -22321,12 +22799,6 @@ /obj/structure/bed, /turf/open/floor/plating, /area/station/security/execution/education) -"gtG" = ( -/obj/structure/disposalpipe/trunk/multiz/down{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/medical/medbay/central) "gtO" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/wood, @@ -22408,11 +22880,6 @@ }, /turf/open/floor/iron/dark/textured_half, /area/station/ai_monitored/turret_protected/aisat/foyer) -"guL" = ( -/obj/machinery/light/directional/south, -/obj/machinery/vending/wardrobe/atmos_wardrobe, -/turf/open/floor/glass/reinforced/plasma, -/area/station/engineering/atmos/project) "guO" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -22462,23 +22929,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/starboard/lesser) -"gvn" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "gvI" = ( /obj/effect/turf_decal/stripes/end, /turf/open/floor/iron/dark/smooth_large, /area/station/science/ordnance/storage) -"gvK" = ( -/obj/structure/cable, -/obj/structure/lattice/catwalk, -/obj/structure/holosign/barrier/engineering, -/turf/open/openspace, -/area/station/engineering/atmos/project) +"gvN" = ( +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) "gvU" = ( /obj/machinery/plate_press, /obj/effect/turf_decal/stripes/line, @@ -22487,6 +22944,9 @@ /obj/structure/cable, /turf/open/floor/iron/textured_large, /area/station/security/prison) +"gwn" = ( +/turf/open/floor/glass, +/area/station/medical/medbay/central) "gwD" = ( /obj/item/stack/ore/gold{ pixel_x = -8; @@ -22495,6 +22955,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood/tile, /area/station/maintenance/port/aft) +"gwE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/secondary/construction) "gwJ" = ( /obj/structure/ladder, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22506,6 +22971,11 @@ "gwK" = ( /turf/open/floor/engine/hull/air, /area/station/security/courtroom) +"gxi" = ( +/obj/effect/turf_decal/stripes/box, +/obj/structure/ladder, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "gxl" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -22550,13 +23020,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/storage) -"gyh" = ( -/obj/machinery/chem_heater/withbuffer, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) +"gyl" = ( +/obj/structure/table/optable, +/obj/effect/turf_decal/tile/blue/full, +/turf/open/floor/iron/showroomfloor, +/area/station/medical/surgery) "gym" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -22642,6 +23110,15 @@ /obj/structure/fake_stairs/directional/north, /turf/open/floor/iron, /area/station/engineering/lobby) +"gzc" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tcomms) "gzh" = ( /obj/structure/closet/firecloset, /turf/open/floor/iron, @@ -22687,12 +23164,6 @@ }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) -"gzE" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "gzH" = ( /obj/item/kirbyplants/photosynthetic, /obj/effect/turf_decal/siding/dark, @@ -22725,6 +23196,13 @@ /obj/item/restraints/legcuffs/beartrap/prearmed, /turf/open/floor/plating, /area/station/maintenance/port) +"gAq" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics - co2 Cell"; + name = "atmospherics camera" + }, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos/upper) "gAt" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair{ @@ -22734,6 +23212,12 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/maintenance/starboard/lesser) +"gAy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/lattice/catwalk, +/turf/open/water, +/area/station/maintenance/starboard/fore) "gAC" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -22773,10 +23257,11 @@ }, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"gAZ" = ( -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) +"gBa" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/effect/landmark/start/chemist, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "gBf" = ( /obj/structure/lattice/catwalk, /obj/item/stack/rods, @@ -22801,6 +23286,22 @@ /obj/effect/spawner/random/maintenance/four, /turf/open/floor/plating, /area/station/construction/storage_wing) +"gBz" = ( +/obj/structure/table/reinforced/rglass, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/obj/item/stack/medical/gauze{ + pixel_x = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 4 + }, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "gBA" = ( /obj/machinery/camera/directional/south{ c_tag = "Science - Xenobiology Big Pen" @@ -22895,6 +23396,17 @@ /obj/effect/mapping_helpers/airlock/access/any/security/maintenance, /turf/open/floor/plating, /area/station/security/interrogation) +"gCL" = ( +/obj/structure/table, +/obj/item/book/manual/wiki/atmospherics, +/obj/machinery/requests_console/directional/south{ + department = "Engineering"; + name = "Engineering Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/turf/open/floor/engine/hull/reinforced/air, +/area/station/engineering/atmos/project) "gCQ" = ( /obj/machinery/shower/directional/east, /obj/effect/decal/cleanable/dirt, @@ -22915,15 +23427,15 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/captain/private) -"gDs" = ( -/obj/item/kirbyplants/random, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 +"gDi" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 }, -/turf/open/floor/wood/parquet, -/area/station/medical/break_room) +/obj/effect/turf_decal/siding/blue{ + dir = 9 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "gDE" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -23002,15 +23514,24 @@ }, /turf/open/floor/iron, /area/station/science/research) +"gEu" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/large, +/area/station/medical/break_room) "gEv" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/machinery/grill, /turf/open/floor/iron, /area/station/service/kitchen/abandoned) -"gEx" = ( -/obj/machinery/light/floor, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "gEE" = ( /obj/structure/chair/pew/left{ dir = 4 @@ -23026,12 +23547,27 @@ }, /turf/open/floor/engine/hull/reinforced/air, /area/station/ai_monitored/turret_protected/ai) -"gEX" = ( -/obj/structure/cable, +"gEQ" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/mess, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark/small, -/area/station/command/heads_quarters/ce) +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) +"gER" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "gEZ" = ( /obj/item/toy/cards/deck{ pixel_y = 4 @@ -23089,11 +23625,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /turf/open/floor/iron/smooth, /area/station/engineering/hallway) -"gFt" = ( -/obj/machinery/smartfridge/organ, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/morgue) "gFx" = ( /obj/effect/turf_decal/tile/red/fourcorners, /obj/machinery/vending/cigarette, @@ -23111,6 +23642,12 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/supply) +"gFG" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "gFI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/camera/autoname/directional/south{ @@ -23133,11 +23670,23 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"gGc" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "gGl" = ( /turf/open/floor/iron/stairs{ dir = 1 }, /area/station/maintenance/starboard/lesser) +"gGw" = ( +/obj/structure/railing, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/openspace, +/area/station/medical/medbay/central) "gGx" = ( /obj/structure/railing/corner{ dir = 1 @@ -23167,15 +23716,6 @@ /obj/machinery/light/floor, /turf/open/floor/grass, /area/station/hallway/secondary/entry) -"gGJ" = ( -/obj/machinery/modular_computer/preset/id{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "gGO" = ( /obj/structure/table, /obj/machinery/microwave{ @@ -23188,36 +23728,10 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/science/breakroom) -"gGT" = ( -/obj/machinery/door/airlock/external{ - name = "MiniSat Space Access Airlock" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "AI-Transit-Tube-Access" - }, -/obj/effect/mapping_helpers/airlock/access/all/command/minisat, -/obj/machinery/door/poddoor/preopen{ - id = "transitlockdown" - }, -/turf/open/floor/plating, -/area/station/engineering/transit_tube) "gGU" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/security/processing) -"gHa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/sorting/mail{ - dir = 4 - }, -/obj/effect/mapping_helpers/mail_sorting/medbay/chemistry, -/obj/effect/mapping_helpers/mail_sorting/medbay/cmo_office, -/obj/effect/mapping_helpers/mail_sorting/medbay/general, -/obj/effect/mapping_helpers/mail_sorting/medbay/virology, -/turf/open/floor/iron/large, -/area/station/hallway/primary/central) "gHC" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -23303,6 +23817,27 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/commons/storage/art) +"gII" = ( +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) +"gIN" = ( +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) +"gIY" = ( +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/trimline/blue/arrow_cw{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "gJg" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/junction{ dir = 8 @@ -23324,14 +23859,6 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/openspace, /area/station/maintenance/starboard/fore) -"gJp" = ( -/obj/structure/lattice/catwalk, -/obj/structure/ladder, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/openspace, -/area/station/medical/cryo) "gJT" = ( /obj/structure/rack, /obj/item/clothing/glasses/meson, @@ -23381,6 +23908,14 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/storage) +"gKu" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/structure/sign/warning/radiation/rad_area/directional/south, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/fore) "gKL" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, @@ -23400,12 +23935,51 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) +"gKY" = ( +/obj/structure/broken_flooring/corner/always_floorplane/directional/west, +/obj/effect/turf_decal/delivery, +/obj/effect/spawner/random/engineering/tank, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "gLc" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/grime, /obj/machinery/light/red/dim/directional/south, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) +"gLh" = ( +/obj/structure/rack, +/obj/item/reagent_containers/cup/bottle/phosphorus{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bottle/potassium{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bottle/sodium{ + pixel_x = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/chem_storage) +"gLo" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/sorting/mail{ + dir = 2 + }, +/obj/effect/mapping_helpers/mail_sorting/medbay/virology, +/obj/effect/mapping_helpers/mail_sorting/medbay/general, +/obj/effect/mapping_helpers/mail_sorting/medbay/chemistry, +/obj/effect/mapping_helpers/mail_sorting/medbay/cmo_office, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "gLp" = ( /obj/machinery/holopad/secure, /obj/structure/cable/layer3, @@ -23445,13 +24019,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark/textured_large, /area/station/science/robotics/lab) -"gLQ" = ( -/obj/structure/ladder, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "gLT" = ( /obj/structure/railing/corner/end{ dir = 8 @@ -23490,6 +24057,23 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison/safe) +"gMu" = ( +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/clothing/glasses/cold, +/turf/open/floor/iron/kitchen_coldroom/freezerfloor, +/area/station/medical/coldroom) +"gMH" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/junction/yjunction{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "gMI" = ( /obj/effect/spawner/structure/window, /obj/machinery/door/poddoor/shutters/preopen{ @@ -23502,16 +24086,6 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/space/openspace, /area/space/nearstation) -"gMP" = ( -/obj/machinery/door/airlock/atmos/glass{ - name = "Atmospherics Testing Room" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/door/firedoor/heavy, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) "gNf" = ( /obj/structure/light_construct/directional/east, /obj/effect/mapping_helpers/broken_floor, @@ -23538,25 +24112,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/cargo/storage) -"gND" = ( -/obj/effect/turf_decal/siding/blue/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, -/obj/structure/bed/pod{ - desc = "An old medical bed, just waiting for replacement with something up to date."; - name = "medical bed" - }, -/obj/machinery/defibrillator_mount/directional/south, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) -"gNE" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/obj/machinery/camera/autoname/directional/north, -/turf/open/openspace, -/area/station/engineering/atmos/project) "gNK" = ( /obj/machinery/vending/cigarette, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -23616,13 +24171,16 @@ /obj/item/pai_card, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"gOC" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners{ +"gOw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, -/area/station/medical/chemistry) +/area/station/medical/medbay/central) "gOE" = ( /obj/machinery/atmospherics/components/unary/passive_vent, /obj/structure/lattice, @@ -23675,14 +24233,6 @@ }, /turf/open/floor/engine/n2, /area/station/engineering/atmos/upper) -"gPu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "gPv" = ( /obj/structure/chair/plastic{ dir = 4 @@ -23829,35 +24379,13 @@ /obj/structure/closet/emcloset, /turf/open/floor/engine, /area/station/engineering/break_room) -"gRn" = ( -/obj/effect/turf_decal/siding/yellow{ - dir = 8 - }, -/obj/structure/closet/crate/science, -/obj/structure/railing{ - dir = 8 - }, -/obj/item/reagent_containers/cup/beaker{ - pixel_x = 8; - pixel_y = 2 - }, -/obj/item/reagent_containers/cup/bottle/epinephrine{ - pixel_x = 6; - pixel_y = -6 - }, -/obj/item/reagent_containers/cup/bottle/multiver{ - pixel_x = -2; - pixel_y = -7 - }, -/obj/item/reagent_containers/dropper{ - pixel_x = 2; - pixel_y = -11 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) +"gQY" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "gRx" = ( /obj/machinery/portable_atmospherics/canister/plasma, /obj/effect/turf_decal/delivery/white{ @@ -23865,11 +24393,6 @@ }, /turf/open/floor/engine, /area/station/engineering/break_room) -"gRA" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/iron/dark/textured_large, -/area/station/engineering/atmos/upper) "gRB" = ( /obj/machinery/door/airlock/research{ name = "Research and Development Lab" @@ -23911,10 +24434,6 @@ /obj/item/flashlight/lamp, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) -"gRR" = ( -/obj/structure/broken_flooring/singular/directional/east, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) "gRT" = ( /obj/machinery/computer/slot_machine{ pixel_y = 2 @@ -23968,11 +24487,6 @@ /obj/structure/sign/directions/engineering/directional/south, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"gSX" = ( -/obj/machinery/plumbing/sender, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull/air, -/area/station/medical/chemistry) "gTe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -24002,15 +24516,14 @@ /obj/structure/lattice, /turf/open/openspace, /area/station/security/courtroom) -"gTs" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 +"gTu" = ( +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 }, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/medbay/central) +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "gTH" = ( /obj/structure/table, /obj/item/reagent_containers/cup/glass/mug{ @@ -24028,27 +24541,6 @@ dir = 1 }, /area/station/hallway/primary/aft) -"gTW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/freezer, -/obj/item/food/raw_patty/corgi{ - pixel_x = -6; - pixel_y = 1 - }, -/obj/item/food/raw_patty/chicken{ - pixel_x = -2; - pixel_y = -4 - }, -/obj/item/food/raw_patty/bear{ - pixel_x = 4; - pixel_y = -6 - }, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "gTX" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -24059,6 +24551,13 @@ /obj/machinery/light/red/dim/directional/south, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) +"gUk" = ( +/obj/machinery/door/airlock/engineering, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/machinery/door/firedoor, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/lobby) "gUv" = ( /obj/machinery/holopad, /turf/open/floor/carpet, @@ -24080,29 +24579,27 @@ /obj/structure/cable, /turf/open/floor/carpet, /area/station/command/corporate_showroom) -"gUV" = ( -/obj/machinery/meter{ - name = "Mix Meter" - }, -/obj/machinery/atmospherics/pipe/multiz/violet/visible{ - name = "Mix Multideck Adapter" - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "gVi" = ( /obj/structure/window/spawner/directional/west, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"gVm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/effect/turf_decal/trimline/blue/warning, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/smooth_half{ + dir = 4 + }, +/area/station/medical/cryo) "gVn" = ( /obj/machinery/light/directional/south, /turf/open/floor/engine, /area/station/science/xenobiology) -"gVq" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 1 - }, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/upper) "gVs" = ( /obj/machinery/computer/teleporter{ dir = 4 @@ -24152,20 +24649,13 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/security/lockers) -"gWp" = ( -/obj/structure/table, -/obj/item/toy/cards/deck/wizoff{ - pixel_x = 6; - pixel_y = 5 +"gWq" = ( +/obj/machinery/vending/wardrobe/medi_wardrobe, +/obj/effect/turf_decal/bot_white{ + color = "#52B4E9" }, -/obj/item/pen{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/parquet, -/area/station/medical/break_room) +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "gWu" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -24180,13 +24670,19 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/openspace, /area/station/hallway/primary/central) -"gWO" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 8 +"gWN" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) +/obj/structure/rack, +/obj/item/wheelchair{ + pixel_y = 3 + }, +/obj/item/emergency_bed{ + pixel_y = 3 + }, +/turf/open/floor/iron/dark, +/area/station/medical/cryo) "gWR" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/trimline/green/filled/line{ @@ -24239,6 +24735,12 @@ "gXG" = ( /turf/closed/wall, /area/station/science/robotics) +"gXM" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "gXQ" = ( /obj/structure/cable/multilayer/multiz, /obj/structure/lattice/catwalk, @@ -24250,14 +24752,6 @@ }, /turf/open/floor/iron/dark/textured_half, /area/station/science/ordnance) -"gXT" = ( -/obj/item/kirbyplants/random, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) "gYu" = ( /obj/item/lazarus_injector, /obj/item/gun/grenadelauncher, @@ -24280,16 +24774,6 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/ai) -"gYB" = ( -/obj/structure/transport/linear{ - radial_travel = 0 - }, -/obj/machinery/elevator_control_panel/directional/south{ - linked_elevator_id = "catwalk_engi"; - preset_destination_names = list("2"="Lower Engine","3"="Upper Engine.") - }, -/turf/open/openspace, -/area/station/engineering/break_room) "gYG" = ( /obj/machinery/atmospherics/pipe/multiz/dark/visible{ dir = 8 @@ -24341,12 +24825,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"gZj" = ( -/obj/structure/chair/sofa/corp/corner{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/medical/break_room) "gZn" = ( /obj/machinery/door/airlock/silver{ id_tag = "restroom_cap"; @@ -24356,30 +24834,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/freezer, /area/station/command/heads_quarters/captain/private) -"gZq" = ( -/obj/structure/table/wood, -/obj/item/folder/white{ - pixel_y = 1; - pixel_x = 5 - }, -/obj/item/folder/blue{ - pixel_x = 2; - pixel_y = 1 - }, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 3 - }, -/obj/item/stamp/head/cmo{ - pixel_x = 8; - pixel_y = 10 - }, -/obj/item/flashlight/pen{ - pixel_x = -3; - pixel_y = 3 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "gZu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured_large, @@ -24411,30 +24865,6 @@ /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /turf/open/floor/engine/n2o, /area/station/engineering/atmos/upper) -"gZT" = ( -/obj/structure/table, -/obj/item/book/manual/wiki/medicine{ - pixel_x = -7; - pixel_y = 7 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/airalarm/directional/south, -/obj/machinery/firealarm/directional/west, -/obj/item/clothing/neck/stethoscope{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/item/reagent_containers/dropper{ - pixel_y = 7 - }, -/obj/item/storage/pill_bottle/mannitol{ - pixel_x = -5; - pixel_y = 3 - }, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) "gZW" = ( /obj/effect/spawner/random/entertainment/arcade{ dir = 8 @@ -24471,6 +24901,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/service/library) +"haD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) "haE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -24544,6 +24982,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"hce" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/open/space/basic, +/area/space/nearstation) "hcf" = ( /obj/machinery/atmospherics/components/binary/crystallizer{ dir = 4 @@ -24571,12 +25014,9 @@ /turf/open/floor/wood/parquet, /area/station/command/heads_quarters/qm) "hcn" = ( -/obj/machinery/meter{ - name = "Mixed Air Tank In" - }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/upper) +/obj/machinery/pdapainter/engineering, +/turf/open/floor/engine, +/area/station/command/heads_quarters/ce) "hcx" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat/teleporter) @@ -24594,18 +25034,6 @@ }, /turf/open/floor/wood/large, /area/station/medical/psychology) -"hcH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/railing/corner/end/flip{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/morgue) "hcL" = ( /obj/machinery/computer/slot_machine{ pixel_y = 2 @@ -24618,6 +25046,21 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology/hallway) +"hda" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/machinery/door/airlock/engineering{ + name = "Telecomms Storage" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms, +/obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tcomms) "hdi" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -24719,10 +25162,33 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"heE" = ( +/obj/structure/table/glass, +/obj/item/clothing/gloves/latex/nitrile, +/obj/item/stack/sticky_tape/surgical{ + pixel_x = -4; + pixel_y = 5 + }, +/turf/open/floor/iron/dark/textured_half, +/area/station/medical/surgery) +"heO" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 8 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "heR" = ( /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) +"heY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/medical/cryo) "hfr" = ( /obj/structure/railing/corner, /turf/open/openspace, @@ -24831,30 +25297,22 @@ /obj/machinery/vending/snack/orange, /turf/open/floor/wood, /area/station/service/library) +"hgS" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/cmo) "hgW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"hhb" = ( -/obj/structure/rack, -/obj/item/reagent_containers/cup/bottle/ethanol{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/reagent_containers/cup/bottle/carbon{ - pixel_x = 7; - pixel_y = 3 - }, -/obj/item/reagent_containers/cup/bottle/chlorine{ - pixel_x = 1 - }, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/medbay/central) "hhp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/circuit/telecomms, @@ -24884,16 +25342,12 @@ /obj/effect/turf_decal/siding/dark, /turf/open/floor/catwalk_floor/iron_white, /area/station/ai_monitored/turret_protected/aisat_interior) -"hhH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/secure/freezer/pizza, -/obj/effect/turf_decal/tile/red/opposingcorners{ +"hhE" = ( +/obj/effect/turf_decal/tile/red/anticorner{ dir = 1 }, -/obj/machinery/light/cold/dim/directional/east, -/obj/machinery/light_switch/directional/east, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "hhL" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -24911,11 +25365,6 @@ }, /turf/open/floor/carpet, /area/station/maintenance/starboard/aft) -"hhO" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, -/turf/open/space/basic, -/area/space/nearstation) "hhP" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -24951,13 +25400,6 @@ }, /turf/open/floor/wood, /area/station/commons/dorms) -"hil" = ( -/obj/effect/mapping_helpers/burnt_floor, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "hip" = ( /obj/effect/decal/cleanable/glitter{ color = "ff8080" @@ -24984,24 +25426,6 @@ /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron/dark, /area/station/security/medical) -"hiB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/item/clothing/gloves/color/black, -/obj/item/tank/internals/emergency_oxygen/engi{ - pixel_x = 5 - }, -/obj/item/tank/internals/emergency_oxygen/engi{ - pixel_x = 5 - }, -/obj/item/clothing/gloves/color/black, -/obj/item/storage/belt/utility, -/obj/item/storage/belt/utility, -/obj/item/storage/belt/utility, -/obj/structure/table/reinforced, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "hiK" = ( /obj/structure/railing/corner{ dir = 4 @@ -25024,6 +25448,14 @@ /obj/structure/table/wood, /turf/open/floor/wood, /area/station/hallway/secondary/construction) +"hjH" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light_switch/directional/east, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/textured_large, +/area/station/medical/virology) "hjL" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/tile/dark_green{ @@ -25127,12 +25559,22 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"hlt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/coroner, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/morgue) +"hlx" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder, +/obj/item/reagent_containers/cup/beaker/large{ + pixel_y = 4; + pixel_x = 5 + }, +/obj/item/reagent_containers/dropper{ + pixel_y = -4 + }, +/obj/item/reagent_containers/cup/beaker{ + pixel_x = 8; + pixel_y = 7 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "hlE" = ( /obj/machinery/airalarm/directional/north, /turf/open/openspace, @@ -25177,13 +25619,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"hmw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/iron/textured_large, -/area/station/medical/abandoned) "hmz" = ( /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 @@ -25286,6 +25721,22 @@ dir = 8 }, /area/station/service/kitchen) +"hnw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/blue{ + dir = 4 + }, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4 + }, +/obj/effect/mapping_helpers/mail_sorting/medbay/virology, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "hny" = ( /obj/structure/table, /obj/structure/microscope, @@ -25301,18 +25752,18 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/command) -"hnH" = ( -/obj/structure/railing{ - dir = 1 +"hnJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + name = "Medical Escape Pod" }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/turf/open/floor/iron/textured_half{ + dir = 8 }, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/morgue) +/area/station/medical/abandoned) "hnK" = ( /obj/structure/lattice/catwalk, /obj/structure/railing, @@ -25321,13 +25772,13 @@ }, /turf/open/openspace, /area/station/commons/fitness/recreation) -"hnO" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, -/obj/effect/turf_decal/tile/neutral/half{ - dir = 1 +"hnL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) +/turf/open/floor/iron/dark, +/area/station/medical/cryo) "hnU" = ( /obj/effect/decal/cleanable/blood/old, /obj/structure/table, @@ -25378,15 +25829,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor/iron_dark, /area/station/cargo/bitrunning/den) -"hoP" = ( -/obj/structure/table/reinforced, -/obj/item/surgery_tray/full/morgue{ - pixel_x = 7 - }, -/obj/machinery/firealarm/directional/south, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/morgue) "hpe" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -25415,6 +25857,13 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) +"hpC" = ( +/obj/effect/turf_decal/siding/brown, +/obj/structure/closet/lasertag/blue, +/obj/effect/landmark/start/hangover, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation) "hpH" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -25436,6 +25885,25 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) +"hpT" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"hqb" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/service/kitchen/abandoned) "hqf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -25523,21 +25991,19 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/ai) -"hrm" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) "hrD" = ( /turf/open/openspace, /area/station/command/heads_quarters/hop) +"hrT" = ( +/obj/structure/table/reinforced, +/obj/machinery/airalarm/directional/east, +/obj/item/paper_bin{ + pixel_x = 2; + pixel_y = 7 + }, +/obj/item/hand_labeler, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "hsd" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -25561,6 +26027,18 @@ /obj/structure/table, /turf/open/floor/plating, /area/station/solars/starboard/aft) +"hsn" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Medbay Maintenance" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/medical) "hsx" = ( /obj/effect/landmark/start/roboticist, /turf/open/floor/iron/white/textured_large, @@ -25580,10 +26058,6 @@ /obj/structure/cable, /turf/open/floor/iron/textured_large, /area/station/security/prison/rec) -"hsD" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/engine/hull/reinforced/air, -/area/station/engineering/atmos/project) "hsG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25635,14 +26109,21 @@ }, /turf/closed/wall, /area/station/hallway/primary/central) -"hsZ" = ( -/obj/structure/transport/linear{ - radial_travel = 0 +"hsW" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/yellow/visible, +/obj/machinery/meter, +/turf/closed/wall/r_wall, +/area/station/engineering/atmos/upper) +"hsY" = ( +/obj/machinery/meter{ + name = "Mix Meter" }, -/obj/structure/railing/corner/end{ - dir = 8 +/obj/machinery/atmospherics/pipe/multiz/violet/visible{ + dir = 8; + name = "Mix Multideck Adapter" }, -/turf/open/openspace, +/obj/effect/turf_decal/tile/green/full, +/turf/open/floor/iron/dark, /area/station/engineering/atmos/project) "htb" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -25676,17 +26157,20 @@ }, /turf/open/floor/engine/hull, /area/space/nearstation) -"hto" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "hty" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) +"htz" = ( +/obj/machinery/porta_turret/ai{ + dir = 4 + }, +/obj/structure/sign/plaques/kiddie{ + pixel_y = 32 + }, +/turf/open/floor/circuit/red, +/area/station/ai_monitored/turret_protected/ai_upload) "htD" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -25787,14 +26271,12 @@ /obj/item/binoculars, /turf/open/space/openspace, /area/space/nearstation) -"hvw" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/item/radio/intercom/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) +"hvE" = ( +/obj/structure/ladder, +/obj/effect/turf_decal/stripes/box, +/obj/structure/sign/warning/radiation/rad_area/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "hvG" = ( /obj/structure/railing{ dir = 1 @@ -25826,14 +26308,6 @@ /obj/effect/spawner/random/trash/crushed_can, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"hwu" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "hwP" = ( /obj/structure/chair/sofa/middle/brown, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -26002,6 +26476,14 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) +"hyv" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/item/radio/intercom/directional/west, +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/iron/dark, +/area/station/engineering/hallway) "hyx" = ( /obj/effect/decal/cleanable/dirt, /obj/item/restraints/legcuffs/beartrap/prearmed, @@ -26022,6 +26504,19 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood/large, /area/station/service/library) +"hza" = ( +/obj/machinery/door/airlock/medical{ + name = "Medbay Storage" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue/full, +/turf/open/floor/iron/white, +/area/station/medical/storage) +"hzk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/ce) "hzo" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/window/reinforced/spawner/directional/east, @@ -26049,11 +26544,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/smooth_large, /area/station/security/execution/transfer) -"hzG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/medbay/central) "hzQ" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 @@ -26164,44 +26654,10 @@ "hAC" = ( /turf/open/floor/wood, /area/station/command/meeting_room/council) -"hAH" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Science Store" - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/purple/fourcorners, -/turf/open/floor/iron/dark, -/area/station/science/lobby) -"hAM" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, +"hBd" = ( +/obj/machinery/flasher/directional/south, /turf/open/floor/iron/dark/smooth_large, -/area/station/medical/medbay/central) -"hAW" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) -"hBc" = ( -/obj/structure/table, -/obj/item/hfr_box/body/moderator_input{ - pixel_x = -8; - pixel_y = 8 - }, -/obj/item/hfr_box/body/waste_output{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/hfr_box/body/interface{ - pixel_x = 5 - }, -/obj/item/hfr_box/body/fuel_input{ - pixel_x = -10 - }, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) +/area/station/ai_monitored/turret_protected/ai_upload) "hBh" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -26238,10 +26694,6 @@ }, /turf/open/floor/engine/hull, /area/space/nearstation) -"hBA" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrous_output, -/turf/open/floor/engine/n2o, -/area/station/engineering/atmos/upper) "hBM" = ( /obj/structure/chair/office{ dir = 1 @@ -26265,6 +26717,12 @@ /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"hBT" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/openspace, +/area/station/medical/medbay/central) "hBY" = ( /obj/machinery/elevator_control_panel/directional/east{ linked_elevator_id = "catwalk_cafe"; @@ -26289,6 +26747,10 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) +"hCb" = ( +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) "hCg" = ( /turf/open/floor/engine, /area/station/engineering/break_room) @@ -26313,6 +26775,19 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"hCt" = ( +/obj/effect/turf_decal/tile/dark/half{ + dir = 1 + }, +/obj/machinery/meter{ + name = "C02 meter" + }, +/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ + name = "CO2 Multideck Adapter"; + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "hCy" = ( /obj/effect/turf_decal/siding/red{ dir = 4 @@ -26354,17 +26829,16 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/interrogation) -"hDd" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 +"hDe" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/iron/dark/textured_edge{ - dir = 4 - }, -/area/station/medical/morgue) +/obj/effect/landmark/blobstart, +/obj/machinery/light/floor, +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "hDf" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26394,6 +26868,12 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/engine, /area/station/service/hydroponics) +"hDF" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "hDG" = ( /obj/structure/railing/corner/end{ dir = 4 @@ -26438,6 +26918,11 @@ /obj/structure/cable, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"hDX" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/firealarm/directional/south, +/turf/open/openspace, +/area/station/medical/medbay/central) "hEf" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -26467,19 +26952,6 @@ /obj/structure/sign/poster/contraband/pwr_game/directional/north, /turf/open/floor/eighties, /area/station/maintenance/starboard/fore) -"hET" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/green/filled/mid_joiner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/turf/open/floor/iron/textured_large, -/area/station/medical/virology) "hEU" = ( /obj/effect/turf_decal/trimline/dark_blue/end{ dir = 4 @@ -26556,12 +27028,6 @@ /obj/effect/landmark/start/hangover, /turf/open/openspace, /area/station/hallway/secondary/exit/departure_lounge) -"hFI" = ( -/obj/machinery/airalarm/directional/west, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/engine, -/area/station/command/heads_quarters/ce) "hFL" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/structure/closet{ @@ -26598,6 +27064,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/security/interrogation) +"hGe" = ( +/obj/effect/turf_decal/trimline/blue/filled/end, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "hGg" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -26621,14 +27098,6 @@ }, /turf/open/openspace, /area/station/maintenance/port/aft) -"hGu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/blue/full, -/obj/effect/turf_decal/tile/dark/full, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/smooth_large, -/area/station/maintenance/department/medical) "hGD" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/turf_decal/siding/wood{ @@ -26640,10 +27109,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"hGH" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) "hGJ" = ( /obj/structure/lattice/catwalk, /obj/item/trash/can{ @@ -26651,17 +27116,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"hGM" = ( -/obj/machinery/meter{ - name = "Mix Meter" - }, -/obj/machinery/atmospherics/pipe/multiz/violet/visible{ - dir = 8; - name = "Mix Multideck Adapter" - }, -/obj/effect/turf_decal/tile/green/full, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "hGP" = ( /obj/structure/railing{ dir = 1 @@ -26699,12 +27153,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"hHs" = ( -/obj/structure/table/reinforced, -/obj/item/poster/random_contraband, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/port) "hHA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26797,6 +27245,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/textured_large, /area/station/ai_monitored/turret_protected/aisat/foyer) +"hIx" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/large, +/area/station/medical/break_room) "hIA" = ( /turf/closed/wall, /area/station/cargo/miningoffice) @@ -26867,6 +27327,23 @@ }, /turf/open/space/openspace, /area/space/nearstation) +"hJC" = ( +/obj/machinery/holopad, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/cmo) "hJE" = ( /obj/structure/window/reinforced/plasma/spawner/directional/east, /obj/structure/window/reinforced/plasma/spawner/directional/south, @@ -26878,11 +27355,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/freezer, /area/station/commons/dorms) -"hJP" = ( -/obj/effect/decal/cleanable/blood/oil/slippery, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/aft) +"hJO" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/open/openspace, +/area/station/medical/medbay/central) "hJS" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/line, @@ -26954,16 +27432,22 @@ /obj/machinery/suit_storage_unit/security, /turf/open/floor/iron/dark/smooth_large, /area/station/security/eva) -"hKP" = ( -/obj/structure/chair/office/light{ - dir = 4 +"hKM" = ( +/obj/structure/table/reinforced/rglass, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 }, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ +/obj/machinery/airalarm/directional/west, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 8 + }, +/obj/item/stack/medical/mesh, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "hKS" = ( /obj/structure/window/reinforced/plasma/spawner/directional/east, /obj/structure/table/reinforced, @@ -27094,6 +27578,11 @@ /obj/machinery/portable_atmospherics/canister/plasma, /turf/open/floor/engine/plasma, /area/station/engineering/atmos/upper) +"hMv" = ( +/obj/effect/turf_decal/stripes/box, +/obj/structure/ladder, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "hMw" = ( /obj/effect/turf_decal/trimline/dark/arrow_cw, /obj/effect/turf_decal/trimline/dark/arrow_cw, @@ -27187,26 +27676,10 @@ /obj/machinery/light/directional/north, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) -"hNb" = ( -/obj/machinery/computer/upload/borg{ - dir = 4 - }, -/obj/machinery/flasher/directional/west, -/turf/open/floor/carpet/purple, -/area/station/ai_monitored/turret_protected/ai_upload) "hNf" = ( /obj/structure/cable, /turf/open/floor/plating, /area/station/security/interrogation) -"hNj" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "hNs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -27232,6 +27705,17 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"hNV" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "N2O to Port" + }, +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "hNW" = ( /obj/effect/spawner/structure/window, /obj/effect/turf_decal/stripes/line{ @@ -27308,6 +27792,25 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/xenobiology) +"hPz" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/status_display/evac/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"hPD" = ( +/obj/effect/spawner/random/techstorage/service_all, +/obj/structure/rack, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "hPH" = ( /obj/machinery/door/airlock/external{ name = "Welcome." @@ -27364,14 +27867,13 @@ dir = 4 }, /area/station/hallway/secondary/exit/departure_lounge) -"hQa" = ( -/obj/machinery/disposal/bin, +"hPZ" = ( /obj/structure/cable, -/obj/structure/disposalpipe/trunk{ - dir = 4 +/obj/machinery/power/terminal{ + dir = 1 }, -/turf/open/floor/wood/parquet, -/area/station/medical/break_room) +/turf/open/floor/plating, +/area/station/maintenance/solars/port/aft) "hQd" = ( /obj/effect/turf_decal/siding/wood{ dir = 10 @@ -27430,25 +27932,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"hRa" = ( -/obj/structure/table, -/obj/item/storage/belt/medical{ - pixel_y = 6 - }, -/obj/item/storage/belt/medical{ - pixel_y = 3 - }, -/obj/item/storage/belt/medical, -/obj/item/storage/belt/medical{ - pixel_y = -5 - }, -/obj/item/storage/belt/medical{ - pixel_y = -8 - }, -/obj/effect/turf_decal/tile/blue/full, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "hRd" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -27551,6 +28034,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/security/courtroom) +"hSa" = ( +/obj/item/clothing/head/soft/orange, +/obj/structure/closet/secure_closet/engineering_chief, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/ce) "hSd" = ( /obj/machinery/camera/autoname/directional/south, /obj/machinery/vending/games, @@ -27569,17 +28060,6 @@ "hSk" = ( /turf/closed/wall, /area/station/security/checkpoint/medical) -"hSu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/textured_large, -/area/station/medical/abandoned) "hSv" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, @@ -27598,14 +28078,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/lab) -"hSz" = ( -/obj/machinery/computer/operating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) "hSA" = ( /obj/machinery/light/directional/north, /obj/effect/spawner/random/engineering/tracking_beacon, @@ -27620,6 +28092,11 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"hTc" = ( +/obj/structure/cable, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "hTr" = ( /obj/effect/spawner/structure/window, /obj/machinery/door/poddoor/shutters/preopen{ @@ -27678,6 +28155,15 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, /area/station/tcommsat/server) +"hUt" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/office) "hUA" = ( /obj/effect/turf_decal/arrows{ dir = 8 @@ -27685,10 +28171,6 @@ /obj/effect/spawner/random/structure/closet_empty/crate, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"hUK" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/plasma_output, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos/upper) "hUM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ @@ -27706,6 +28188,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/starboard/lesser) +"hUV" = ( +/obj/machinery/atmospherics/components/binary/pump/off/general/visible{ + dir = 1; + name = "Unfiltered" + }, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "hVc" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/item/radio/intercom/directional/north, @@ -27743,10 +28233,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/grimy, /area/station/security/interrogation) -"hVx" = ( -/obj/machinery/pdapainter/engineering, -/turf/open/floor/engine, -/area/station/command/heads_quarters/ce) "hVz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/iron/dark/textured, @@ -27758,13 +28244,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/catwalk_floor, /area/station/engineering/atmos/upper) -"hVO" = ( -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "hWb" = ( /obj/structure/chair{ dir = 1; @@ -27821,12 +28300,28 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) +"hXd" = ( +/obj/structure/railing/corner, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "hXe" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, /turf/open/floor/iron/smooth, /area/station/science/robotics) +"hXf" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "hXg" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -27896,9 +28391,6 @@ /obj/structure/window/reinforced/tinted/spawner/directional/east, /turf/open/floor/iron/freezer, /area/station/commons/dorms) -"hXT" = ( -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "hYa" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -27940,14 +28432,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) -"hYu" = ( -/obj/machinery/door/airlock/atmos/glass{ - name = "Atmospherics" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "hYx" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -28012,14 +28496,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"hZq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/status_display/ai/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) "hZx" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, @@ -28083,15 +28559,6 @@ }, /turf/open/openspace, /area/station/engineering/lobby) -"iar" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, -/obj/machinery/holopad{ - pixel_y = 6 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/pharmacy) "iaF" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/entertainment/arcade, @@ -28101,6 +28568,14 @@ /obj/effect/landmark/event_spawn, /turf/open/openspace, /area/station/command/gateway) +"iaL" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_edge{ + dir = 8 + }, +/area/station/medical/morgue) "iaR" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28111,13 +28586,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/lesser) -"ibc" = ( -/obj/effect/turf_decal/siding/brown, -/obj/structure/closet/boxinggloves, -/obj/effect/landmark/start/hangover, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation) "ibj" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/machinery/light/directional/south, @@ -28165,13 +28633,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/carpet/black, /area/station/service/library/private) -"iby" = ( -/obj/structure/railing/corner/end, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/medbay/central) "ibz" = ( /obj/structure/statue/bronze/marx{ pixel_y = 28 @@ -28197,12 +28658,6 @@ "ibI" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/ai) -"ibJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/textured_large, -/area/station/medical/abandoned) "ibK" = ( /obj/machinery/disposal/bin, /obj/structure/cable, @@ -28219,6 +28674,10 @@ }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) +"ibY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "ich" = ( /obj/machinery/airalarm/directional/east, /obj/effect/mapping_helpers/airalarm/engine_access, @@ -28255,23 +28714,6 @@ /obj/effect/turf_decal/tile/green/full, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"icz" = ( -/obj/structure/lattice/catwalk, -/obj/structure/table/reinforced, -/obj/item/flashlight/flare/candle{ - pixel_x = -4; - pixel_y = 15 - }, -/obj/item/flashlight/flare/candle{ - pixel_x = 3; - pixel_y = 9 - }, -/obj/item/storage/box/matches{ - pixel_x = -6; - pixel_y = 6 - }, -/turf/open/openspace, -/area/station/medical/storage) "icB" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -28288,11 +28730,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"idd" = ( -/obj/effect/turf_decal/delivery, -/obj/structure/broken_flooring/corner/always_floorplane/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "idj" = ( /obj/effect/turf_decal/siding/purple{ dir = 4 @@ -28340,6 +28777,11 @@ /obj/item/book/bible, /turf/open/floor/carpet, /area/station/maintenance/starboard/lesser) +"idV" = ( +/obj/item/kirbyplants/random, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) "iea" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -28395,12 +28837,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"ieD" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/stairs/medium{ - dir = 4 - }, -/area/station/medical/abandoned) "ifn" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/fueltank, @@ -28408,6 +28844,24 @@ /obj/machinery/light/small/dim/directional/north, /turf/open/floor/iron/dark/textured, /area/station/cargo/warehouse) +"ifs" = ( +/obj/machinery/door/airlock/hatch{ + name = "MiniSat Access" + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/tcoms, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/command/minisat, +/obj/effect/mapping_helpers/airlock/access/any/command/general, +/obj/effect/mapping_helpers/airlock/access/any/command/general, +/obj/effect/landmark/navigate_destination/minisat_access_ai, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "transitlockdown" + }, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) "ifA" = ( /obj/effect/spawner/random/trash/moisture_trap, /turf/open/floor/plating, @@ -28606,11 +29060,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"iiU" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/machinery/meter, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) +"iiS" = ( +/obj/item/trash/can{ + pixel_x = -8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/fore) "iiV" = ( /obj/structure/table/wood/poker, /obj/effect/spawner/random/entertainment/cigarette_pack, @@ -28654,6 +29114,9 @@ }, /turf/open/floor/wood, /area/station/command/corporate_showroom) +"ijE" = ( +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/fore) "ijF" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/machinery/airalarm/directional/south, @@ -28674,6 +29137,10 @@ /obj/structure/window/spawner/directional/east, /turf/open/floor/wood, /area/station/service/library) +"ikw" = ( +/obj/effect/spawner/random/vending/colavend, +/turf/open/floor/wood/large, +/area/station/medical/break_room) "ikG" = ( /obj/structure/table/wood, /obj/item/book/manual/wiki/surgery{ @@ -28718,6 +29185,14 @@ "ikZ" = ( /turf/open/floor/eighties, /area/station/maintenance/starboard/fore) +"ila" = ( +/obj/effect/turf_decal/siding/dark_blue/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "ilg" = ( /obj/machinery/vending/cart, /obj/item/radio/intercom/directional/east, @@ -28741,17 +29216,19 @@ /obj/effect/spawner/random/bureaucracy/paper, /turf/open/floor/iron/dark/textured_large, /area/station/maintenance/starboard/aft) -"ilC" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/yellow/visible, -/obj/machinery/meter, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/upper) "ilE" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) +"ilP" = ( +/obj/machinery/computer/atmos_control/nitrogen_tank, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "ilV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -28760,6 +29237,15 @@ }, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/aft) +"ilW" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "imd" = ( /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/dark/textured_large, @@ -28858,19 +29344,16 @@ /obj/structure/ladder, /turf/open/floor/plating, /area/station/solars/starboard/aft) +"inu" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/atmos/upper) "inw" = ( /obj/structure/transit_tube/curved/flipped, /turf/open/space/openspace, /area/space/nearstation) -"inz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - name = "Medical Escape Pod" - }, -/turf/open/floor/iron/textured_half{ - dir = 8 - }, -/area/station/medical/abandoned) "inG" = ( /obj/structure/sign/poster/official/get_your_legs/directional/west, /obj/machinery/light/directional/west, @@ -28911,16 +29394,6 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/science/genetics) -"inX" = ( -/obj/structure/table/reinforced, -/obj/machinery/airalarm/directional/east, -/obj/item/paper_bin{ - pixel_x = 2; - pixel_y = 7 - }, -/obj/item/hand_labeler, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "ioc" = ( /obj/effect/turf_decal/tile/blue/anticorner/contrasted, /turf/open/floor/iron/dark, @@ -28932,24 +29405,6 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"ioo" = ( -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/obj/machinery/door/airlock/medical/glass{ - name = "Medbay Staff Entrance" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) -"ioq" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "ios" = ( /obj/machinery/door/airlock{ id_tag = "Cabin4"; @@ -29016,6 +29471,25 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/plating, /area/station/security/execution/education) +"ioY" = ( +/obj/structure/cable, +/obj/effect/landmark/start/medical_doctor, +/obj/effect/turf_decal/trimline/blue/warning{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/surgery) +"ipa" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Chemistry" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/chemistry, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "ipc" = ( /obj/machinery/door/poddoor/shutters/preopen{ id = "SM_Outside_shutters"; @@ -29052,6 +29526,12 @@ }, /turf/open/floor/iron/edge, /area/station/hallway/primary/fore) +"ipz" = ( +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "ipQ" = ( /obj/structure/bookcase/random/reference, /turf/open/floor/wood/large, @@ -29097,6 +29577,14 @@ dir = 8 }, /area/station/tcommsat/server) +"iqb" = ( +/obj/structure/lattice/catwalk, +/obj/structure/table/reinforced, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/machinery/light_switch/directional/west, +/turf/open/openspace, +/area/station/security/checkpoint/customs) "iqf" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 1 @@ -29147,11 +29635,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"iqy" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) "iqC" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -29169,6 +29652,16 @@ /obj/machinery/light/warm/dim/directional/west, /turf/open/floor/wood/large, /area/station/commons/lounge) +"irf" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/computer/crew, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "irh" = ( /turf/closed/wall, /area/station/medical/cryo) @@ -29192,12 +29685,23 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"iry" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +"irB" = ( +/obj/item/wheelchair{ + pixel_y = -3 + }, +/obj/item/wheelchair, +/obj/item/wheelchair{ + pixel_y = 3 + }, +/obj/structure/rack, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/bot_white{ + color = "#52B4E9" + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/medbay/central) "irL" = ( /obj/item/kirbyplants/organic/plant21{ pixel_x = -11; @@ -29213,6 +29717,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/service/chapel/office) +"irZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/port) "isf" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/crate, @@ -29240,6 +29753,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor, /area/station/maintenance/starboard/fore) +"isr" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/ce) "isv" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/fluff/paper/stack{ @@ -29267,6 +29786,10 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/bomb) +"isE" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall, +/area/station/medical/morgue) "isG" = ( /obj/structure/railing{ dir = 8 @@ -29439,6 +29962,30 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/carpet, /area/station/command/meeting_room/council) +"ivE" = ( +/obj/structure/ladder, +/obj/effect/turf_decal/stripes/box, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/fore) +"ivF" = ( +/obj/machinery/keycard_auth/wall_mounted/directional/north{ + pixel_y = 28; + pixel_x = null + }, +/obj/structure/table/wood, +/obj/item/folder/white{ + pixel_y = 10; + pixel_x = 8 + }, +/obj/item/folder/blue{ + pixel_x = -8; + pixel_y = 10 + }, +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 1 + }, +/turf/open/floor/holofloor/dark, +/area/station/command/heads_quarters/cmo) "ivI" = ( /obj/effect/spawner/random/trash/mess, /obj/structure/window/spawner/directional/west, @@ -29451,42 +29998,6 @@ /obj/machinery/atmospherics/pipe/multiz/scrubbers/hidden/layer2, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"ivL" = ( -/obj/structure/ladder, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","medbay"); - c_tag = "Medbay - Upper Chemistry South" - }, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) -"ivM" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) -"ivX" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/table/reinforced, -/obj/item/storage/briefcase/secure{ - pixel_x = -1; - pixel_y = 4 - }, -/obj/item/paper/monitorkey, -/obj/item/clipboard, -/obj/machinery/camera/autoname/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/carpet/orange, -/area/station/command/heads_quarters/ce) "iwa" = ( /obj/effect/turf_decal/trimline/red/line, /obj/effect/turf_decal/trimline/red/line{ @@ -29510,14 +30021,42 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"iwz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/white/filled/warning, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "iwB" = ( /turf/open/floor/iron/dark, /area/station/science/ordnance) +"iwD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "iwE" = ( /obj/structure/chair, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/textured_large, /area/station/security/prison/rec) +"iwK" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/camera/autoname/directional/east, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "iwN" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/clock/directional/east, @@ -29526,19 +30065,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"iwS" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/iron/textured_large, -/area/station/medical/abandoned) -"ixe" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tcomms) "ixf" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -29572,17 +30098,15 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/floor/engine/hull/air, /area/station/command/meeting_room/council) -"iyb" = ( -/obj/machinery/door/airlock/engineering/glass{ - name = "Supermatter Engine Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +"iyg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor/heavy, -/obj/structure/cable/layer1, -/turf/open/floor/engine, -/area/station/engineering/main) +/obj/structure/cable, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "iyk" = ( /obj/machinery/door/airlock/maintenance{ name = "Auxiliary Tech Storage" @@ -29603,15 +30127,6 @@ /obj/structure/cable, /turf/open/floor/carpet/black, /area/station/service/library/private) -"iyn" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/disposalpipe/junction{ - dir = 2 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "iyq" = ( /obj/machinery/flasher/directional/west, /obj/machinery/light/directional/west, @@ -29663,17 +30178,14 @@ }, /turf/open/water/jungle, /area/station/science/genetics) -"iyF" = ( -/obj/structure/closet/secure_closet/atmospherics, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/glass/reinforced/plasma, -/area/station/engineering/atmos/project) -"iyL" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 +"iyW" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Air to Mix" }, -/turf/open/floor/wood, -/area/station/medical/medbay/central) +/obj/effect/turf_decal/tile/neutral/full, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "izb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29686,16 +30198,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"izg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/freezer, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/east, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "izh" = ( /obj/structure/railing{ dir = 4 @@ -29750,11 +30252,14 @@ }, /turf/open/floor/iron/dark, /area/station/service/hydroponics) -"izU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/sepia, -/area/station/hallway/secondary/construction) +"izT" = ( +/obj/machinery/light/red/directional/south, +/obj/structure/window/reinforced/plasma/spawner/directional/east, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/medical/chemistry) "izW" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -29803,6 +30308,21 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, /area/station/commons/storage/art) +"iAB" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/blue{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "iAH" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -29810,6 +30330,15 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) +"iAW" = ( +/obj/machinery/computer/apc_control{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/command/heads_quarters/ce) "iBj" = ( /obj/effect/decal/cleanable/blood/old, /obj/effect/decal/remains/human, @@ -29817,6 +30346,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"iBm" = ( +/obj/structure/chair/sofa/corp/left{ + dir = 8 + }, +/obj/effect/landmark/start/medical_doctor, +/obj/effect/turf_decal/siding/dark_blue, +/obj/structure/sign/poster/official/moth_epi/directional/east, +/turf/open/floor/carpet/blue, +/area/station/medical/break_room) "iBn" = ( /obj/machinery/vending/wardrobe/curator_wardrobe, /obj/machinery/light_switch/directional/east, @@ -29836,15 +30374,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/maintenance/starboard/lesser) -"iBK" = ( -/obj/effect/spawner/random/engineering/tank, -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/delivery, -/obj/structure/sign/warning/no_smoking/directional/east, -/turf/open/floor/iron, -/area/station/maintenance/port/aft) "iBZ" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -29865,21 +30394,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/science/lab) -"iCd" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/brigdoor/left/directional/east{ - req_access = list("brig_entrance") - }, -/obj/machinery/recharger{ - pixel_x = 5; - pixel_y = 9 - }, -/obj/item/screwdriver{ - pixel_y = -4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/station/security/checkpoint/medical) "iCe" = ( /obj/structure/stairs/west, /turf/open/floor/iron/stairs/medium{ @@ -29904,15 +30418,6 @@ /obj/machinery/holopad, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"iCt" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/carpet/orange, -/area/station/command/heads_quarters/ce) "iCx" = ( /obj/effect/spawner/random/trash/botanical_waste, /turf/open/floor/engine/hull/air, @@ -30239,6 +30744,16 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison/safe) +"iGq" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; + id = "chemshutters"; + name = "Pharmacy Shutters" + }, +/turf/open/floor/plating, +/area/station/medical/pharmacy) "iGy" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -30283,15 +30798,6 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/rd) -"iGH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_edge{ - dir = 8 - }, -/area/station/medical/surgery) "iGI" = ( /obj/structure/railing/corner{ dir = 4 @@ -30302,6 +30808,12 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/dark, /area/station/command/bridge) +"iGL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/smartfridge/organ, +/obj/structure/sign/departments/medbay/alt/directional/north, +/turf/open/floor/iron/dark/textured_large, +/area/station/maintenance/port) "iGP" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable/layer3, @@ -30501,6 +31013,16 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) +"iJX" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/red/corner, +/obj/machinery/airalarm/directional/west, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "iKf" = ( /obj/effect/turf_decal/trimline/white/line{ dir = 8; @@ -30549,15 +31071,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"iKH" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, -/obj/machinery/iv_drip, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "iKT" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -30569,6 +31082,27 @@ /obj/effect/turf_decal/box/red, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"iLg" = ( +/obj/effect/mapping_helpers/burnt_floor, +/obj/structure/broken_flooring/side/directional/east, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) +"iLl" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/computer/records/medical{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/office) "iLm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -30617,21 +31151,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /turf/open/floor/catwalk_floor, /area/station/engineering/atmos/upper) -"iLD" = ( -/obj/machinery/requests_console/directional/north{ - department = "Security"; - name = "Security Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/customs) "iLF" = ( /obj/structure/railing{ dir = 8 @@ -30718,16 +31237,6 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"iMu" = ( -/obj/machinery/porta_turret/ai{ - dir = 4 - }, -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 6 - }, -/turf/open/openspace, -/area/station/ai_monitored/turret_protected/ai_upload) "iMD" = ( /obj/effect/landmark/firealarm_sanity, /turf/open/openspace, @@ -30802,6 +31311,11 @@ /obj/machinery/light/directional/west, /turf/open/openspace, /area/station/service/chapel) +"iNT" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/plumbing/sender, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "iNX" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -30899,18 +31413,19 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"iPH" = ( -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/lobby) -"iPI" = ( -/obj/structure/cable, +"iPA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/structure/sign/warning/radiation/rad_area/directional/south, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/fore) +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/sorting/mail{ + dir = 1 + }, +/obj/effect/mapping_helpers/mail_sorting/medbay/general, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "iPL" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -30958,6 +31473,28 @@ /obj/effect/decal/cleanable/wrapping, /turf/open/floor/iron, /area/station/construction/storage_wing) +"iQo" = ( +/obj/structure/rack, +/obj/item/reagent_containers/cup/bottle/formaldehyde{ + pixel_x = 1 + }, +/obj/item/reagent_containers/cup/bottle/acidic_buffer{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bottle/basic_buffer{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/chem_storage) "iQw" = ( /obj/structure/railing{ dir = 6 @@ -30978,18 +31515,6 @@ dir = 1 }, /area/station/service/library) -"iQA" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "iQI" = ( /obj/structure/chair{ dir = 8 @@ -31040,18 +31565,6 @@ /obj/effect/mapping_helpers/airlock/access/all/service/general, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"iRV" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing/corner, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/landmark/start/medical_doctor, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/openspace, -/area/station/medical/storage) "iRX" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -31070,6 +31583,14 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/construction, /turf/open/floor/plating, /area/station/engineering/lobby) +"iSk" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/medical/chemistry) "iSv" = ( /obj/effect/turf_decal/trimline/dark_green/filled/line, /obj/effect/turf_decal/tile/dark_red{ @@ -31266,30 +31787,19 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/supply) +"iUX" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/item/radio/intercom/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "iVc" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/structure/sign/warning/vacuum/external/directional/east, /turf/open/floor/plating, /area/station/engineering/storage_shared) -"iVi" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/textured_large, -/area/station/medical/abandoned) -"iVk" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/openspace, -/area/station/medical/storage) "iVp" = ( /obj/effect/decal/cleanable/vomit/old, /turf/open/floor/plating, @@ -31301,13 +31811,24 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/smooth_edge, /area/station/commons/lounge) -"iVI" = ( -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ +"iVD" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, /turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) +/area/station/medical/chemistry) +"iVE" = ( +/obj/structure/lattice/catwalk, +/obj/structure/table/reinforced, +/obj/item/radio, +/obj/machinery/camera/autoname/directional/north, +/turf/open/openspace, +/area/station/security/checkpoint/customs) "iVT" = ( /obj/machinery/door/airlock/external, /obj/effect/mapping_helpers/airlock/cyclelink_helper, @@ -31475,32 +31996,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"iYC" = ( -/obj/machinery/air_sensor/carbon_tank, -/obj/structure/window/reinforced/plasma/spawner/directional/south, -/turf/open/floor/engine/n2o, -/area/station/engineering/atmos/upper) -"iYG" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/table, -/obj/item/paper_bin/carbon{ - pixel_x = -5; - pixel_y = 6 - }, -/obj/item/book/manual/wiki/tcomms{ - pixel_x = 14; - pixel_y = 5 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/machinery/computer/security/telescreen/tcomms/directional/south{ - name = "Telecomms Camera Monitor" - }, -/obj/item/pen, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tcomms) "iYJ" = ( /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood/large, @@ -31517,6 +32012,19 @@ /obj/effect/spawner/random/maintenance, /turf/open/openspace, /area/station/maintenance/starboard/aft) +"iYQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/holopad, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "iYZ" = ( /mob/living/basic/turtle{ name = "John Arbuckle" @@ -31540,6 +32048,14 @@ /obj/machinery/computer/security, /turf/open/floor/iron/dark, /area/station/security/office) +"iZs" = ( +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Plasma to Port" + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "iZu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -31573,6 +32089,11 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, /area/station/service/chapel) +"iZX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "jac" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -31605,54 +32126,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating/airless, /area/station/hallway/secondary/construction) -"jam" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/obj/structure/table, -/obj/item/stack/cable_coil{ - pixel_x = -12 - }, -/obj/item/stack/cable_coil{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 7 - }, -/obj/item/stack/ducts/fifty{ - pixel_y = -3 - }, -/obj/item/stack/ducts/fifty{ - pixel_y = -3 - }, -/obj/item/stack/ducts/fifty{ - pixel_y = -3 - }, -/obj/item/stack/ducts/fifty{ - pixel_y = -3 - }, -/obj/item/stack/ducts/fifty{ - pixel_y = -3 - }, -/obj/item/stack/ducts/fifty{ - pixel_y = -3 - }, -/obj/item/stack/ducts/fifty{ - pixel_y = -3 - }, -/obj/item/stack/ducts/fifty{ - pixel_y = -3 - }, -/obj/item/reagent_containers/dropper, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) "jap" = ( /turf/open/floor/engine/hull/air, /area/station/commons/dorms) @@ -31708,11 +32181,13 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"jcj" = ( -/obj/machinery/airalarm/directional/east, -/mob/living/basic/bot/cleanbot/medbay, -/turf/open/floor/wood, -/area/station/medical/medbay/central) +"jch" = ( +/obj/machinery/newscaster/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "jcn" = ( /obj/effect/turf_decal/siding/thinplating_new/dark/end, /obj/structure/flora/bush/lavendergrass, @@ -31728,13 +32203,6 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/science/genetics) -"jcy" = ( -/obj/structure/ladder, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) "jcz" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -31745,10 +32213,6 @@ }, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/bomb) -"jcN" = ( -/obj/structure/lattice/catwalk, -/turf/open/space/openspace, -/area/station/solars/starboard/fore) "jcP" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -31797,12 +32261,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark/textured_large, /area/station/science/genetics) -"jdr" = ( -/obj/machinery/airalarm/directional/north, -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/turf/open/openspace, -/area/station/engineering/atmos/project) "jdB" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/mix_input{ dir = 1 @@ -31812,6 +32270,19 @@ }, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) +"jdR" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/structure/rack, +/obj/item/circuitboard/machine/telecomms/bus{ + pixel_y = -3 + }, +/obj/item/circuitboard/machine/telecomms/broadcaster{ + pixel_y = 2 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tcomms) "jdZ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -31853,13 +32324,11 @@ }, /turf/open/floor/wood, /area/station/command/meeting_room/council) -"jeq" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/cryo_cell, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) +"jen" = ( +/obj/machinery/firealarm/directional/south, +/obj/machinery/smartfridge/organ, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "jes" = ( /turf/closed/wall/r_wall, /area/station/security/checkpoint/science) @@ -31889,13 +32358,6 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/maintenance/port) -"jeM" = ( -/obj/machinery/computer/atmos_control/oxygen_tank, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "jeU" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -31937,13 +32399,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"jfi" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) "jfj" = ( /obj/effect/decal/cleanable/dirt, /obj/item/camera_film, @@ -31956,6 +32411,13 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"jfl" = ( +/obj/structure/bodycontainer/morgue{ + dir = 1 + }, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "jfp" = ( /obj/structure/lattice/catwalk, /obj/item/kirbyplants/random, @@ -32001,6 +32463,24 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"jgp" = ( +/obj/machinery/airalarm/directional/west, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/machinery/recharger{ + pixel_y = 5 + }, +/obj/item/screwdriver{ + pixel_x = 1; + pixel_y = -2 + }, +/obj/item/radio/off{ + pixel_x = 10 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) "jgt" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -32029,11 +32509,6 @@ "jgy" = ( /turf/open/floor/carpet, /area/station/maintenance/starboard/aft) -"jgz" = ( -/obj/structure/secure_safe/directional/south, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/carpet/orange, -/area/station/command/heads_quarters/ce) "jgB" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -32115,25 +32590,11 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/security/medical) -"jhS" = ( -/obj/machinery/light/directional/south, -/obj/effect/spawner/random/techstorage/tcomms_all, -/obj/structure/rack, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "jhU" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/spawner/random/engineering/tank, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"jhW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/greenglow, -/turf/open/floor/iron/white, -/area/station/medical/abandoned) "jia" = ( /obj/structure/table/wood, /obj/effect/spawner/random/maintenance, @@ -32183,28 +32644,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/dark, /area/station/security/medical) -"jiL" = ( -/obj/structure/table/glass, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 4 - }, -/obj/item/stack/medical/bone_gel{ - pixel_x = 6; - pixel_y = 12 - }, -/obj/item/stack/sticky_tape/surgical{ - pixel_x = -4; - pixel_y = 5 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) "jjc" = ( /obj/structure/cable, /obj/effect/spawner/random/trash/grille_or_waste, @@ -32232,11 +32671,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"jjr" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/textured_large, -/area/station/medical/abandoned) "jjv" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -32279,6 +32713,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"jjK" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/scrubber, +/obj/machinery/light/directional/west, +/turf/open/floor/iron/dark/textured_large, +/area/station/engineering/atmos/upper) "jjW" = ( /mob/living/carbon/human/species/monkey, /obj/structure/flora/bush/sparsegrass/style_random, @@ -32291,6 +32731,16 @@ }, /turf/open/floor/grass, /area/station/science/genetics) +"jjZ" = ( +/obj/structure/table, +/obj/item/electronics/apc, +/obj/item/electronics/airlock, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "jkd" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32411,6 +32861,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/science/central) +"jlG" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/railing/corner/end, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "jlK" = ( /obj/effect/turf_decal/weather/snow, /obj/effect/turf_decal/weather/snow/corner{ @@ -32432,11 +32892,6 @@ "jmh" = ( /turf/open/floor/plating/airless, /area/station/maintenance/starboard/lesser) -"jmo" = ( -/obj/structure/cable, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "jmv" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -32444,6 +32899,19 @@ /obj/machinery/light/directional/west, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"jmz" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Virology Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/virology, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port) "jmD" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -32456,15 +32924,6 @@ /obj/effect/spawner/random/trash/grime, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"jmY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/medbay/central) "jmZ" = ( /obj/machinery/light/directional/south, /turf/open/floor/wood, @@ -32519,6 +32978,14 @@ "jnC" = ( /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) +"jnE" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/wood/large, +/area/station/medical/break_room) "jnK" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/green/filled/mid_joiner, @@ -32542,25 +33009,6 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron/dark, /area/station/service/chapel/office) -"jol" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/machinery/camera/directional/west, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"joC" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/chair/office/light, -/obj/effect/landmark/start/paramedic, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/medbay/central) "joE" = ( /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 4 @@ -32579,6 +33027,13 @@ }, /turf/open/floor/engine, /area/station/engineering/break_room) +"joP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/turf/open/openspace, +/area/station/engineering/atmos/project) "jpa" = ( /obj/machinery/vatgrower{ dir = 4 @@ -32656,6 +33111,19 @@ /obj/item/mmi, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/ai) +"jqb" = ( +/obj/effect/turf_decal/siding/blue/corner{ + dir = 4 + }, +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/openspace, +/area/station/medical/medbay/central) "jqd" = ( /obj/machinery/door/airlock/public/glass{ name = "Prison Community Center" @@ -32732,28 +33200,6 @@ /obj/item/pen/blue, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"jrf" = ( -/obj/structure/table, -/obj/item/clothing/glasses/hud/health{ - pixel_x = -3 - }, -/obj/item/clothing/glasses/hud/health{ - pixel_x = 4; - pixel_y = 8 - }, -/obj/item/clothing/glasses/hud/health{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/clothing/glasses/hud/health{ - pixel_x = 3; - pixel_y = 2 - }, -/obj/effect/turf_decal/tile/blue/full, -/obj/machinery/airalarm/directional/south, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "jrp" = ( /obj/structure/window/reinforced/tinted/spawner/directional/south, /obj/structure/table, @@ -32772,16 +33218,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/xenobiology) -"jrv" = ( -/obj/structure/closet/crate/freezer, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/item/food/pizza/mothic_garlic, -/obj/machinery/light/cold/dim/directional/west, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "jrx" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -32799,6 +33235,32 @@ }, /turf/open/floor/iron, /area/station/construction/storage_wing) +"jrQ" = ( +/obj/structure/disposalpipe/segment, +/obj/item/paper_bin{ + pixel_y = 6; + pixel_x = -4 + }, +/obj/item/stamp/head/ce{ + pixel_x = 7 + }, +/obj/item/stamp/denied{ + pixel_x = 7; + pixel_y = 10 + }, +/obj/item/pen, +/obj/structure/table/reinforced/rglass, +/turf/open/floor/engine, +/area/station/command/heads_quarters/ce) +"jrS" = ( +/obj/item/radio/intercom/directional/east, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "jrT" = ( /obj/structure/railing/corner/end{ dir = 8 @@ -32845,22 +33307,21 @@ }, /turf/open/floor/iron/dark, /area/station/security/warden) +"jsQ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/ce) +"jsV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/engineering/atmos/upper) "jtc" = ( /obj/effect/decal/cleanable/ash, /obj/machinery/light/small/dim/directional/east, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) -"jtm" = ( -/obj/machinery/door/airlock/medical{ - name = "Abandoned Room" - }, -/obj/effect/mapping_helpers/airlock/abandoned, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/iron/white, -/area/station/medical/abandoned) "jtE" = ( /obj/structure/lattice/catwalk, /obj/structure/railing, @@ -32902,15 +33363,6 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) -"juc" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/wood/parquet, -/area/station/medical/break_room) "jui" = ( /obj/structure/table, /obj/item/kitchen/rollingpin{ @@ -32940,18 +33392,6 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) -"juj" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "juo" = ( /obj/effect/turf_decal/siding{ dir = 8 @@ -33011,6 +33451,22 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) +"juJ" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) +"juO" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "juP" = ( /obj/structure/table, /obj/item/storage/toolbox/emergency, @@ -33043,23 +33499,10 @@ /turf/open/space/openspace, /area/space/nearstation) "jvb" = ( -/obj/structure/rack, -/obj/effect/spawner/random/techstorage/security_all, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west, +/obj/machinery/light/directional/west, +/obj/machinery/portable_atmospherics/canister, /turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"jvd" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) +/area/station/engineering/hallway) "jvf" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -33118,6 +33561,12 @@ "jwa" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/central) +"jwi" = ( +/obj/structure/disposalpipe/trunk/multiz/down{ + dir = 2 + }, +/turf/closed/wall, +/area/station/maintenance/port) "jwo" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/effect/turf_decal/stripes/line{ @@ -33177,11 +33626,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) -"jxa" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/engine/hull/air, -/area/station/medical/chemistry) "jxc" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/contraband/random/directional/east, @@ -33239,16 +33683,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"jxx" = ( -/obj/machinery/iv_drip, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "jxB" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/crate, @@ -33298,6 +33732,19 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"jxY" = ( +/obj/item/radio/intercom/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/cmo) "jyd" = ( /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -33307,14 +33754,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"jyk" = ( -/obj/machinery/door/airlock/command{ - name = "Chief Engineer's Quarters" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/ce, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark/small, -/area/station/command/heads_quarters/ce) "jyl" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/railing, @@ -33338,6 +33777,19 @@ }, /turf/open/space/basic, /area/space/nearstation) +"jyw" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "jyz" = ( /obj/effect/turf_decal/siding/dark{ dir = 8 @@ -33408,6 +33860,23 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/commons/dorms) +"jzj" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/structure/tank_holder/extinguisher, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) +"jzk" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/machinery/computer/telecomms/server{ + dir = 8; + network = "tcommsat" + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tcomms) "jzx" = ( /obj/machinery/vending/wardrobe/law_wardrobe, /obj/machinery/firealarm/directional/east, @@ -33422,6 +33891,11 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"jzD" = ( +/obj/structure/closet/emcloset, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/secondary/exit/departure_lounge) "jzH" = ( /obj/machinery/door/poddoor/massdriver_trash, /obj/machinery/atmos_shield_gen/active{ @@ -33454,26 +33928,6 @@ /obj/structure/railing, /turf/open/openspace, /area/station/maintenance/port/aft) -"jzY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/door/airlock/medical/glass{ - name = "Break Room" - }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white, -/area/station/medical/break_room) "jAc" = ( /obj/structure/lattice/catwalk, /turf/open/floor/engine/hull/air, @@ -33546,13 +34000,6 @@ }, /turf/open/floor/iron/edge, /area/station/hallway/primary/fore) -"jAW" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "jBb" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner, /obj/effect/turf_decal/trimline/yellow/filled/corner{ @@ -33641,6 +34088,13 @@ }, /turf/open/openspace, /area/station/command/gateway) +"jCn" = ( +/obj/machinery/door/airlock/grunge{ + name = "Morgue" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/morgue, +/turf/open/floor/iron/dark/small, +/area/station/medical/morgue) "jCt" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -33716,17 +34170,16 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark, /area/station/command/teleporter) -"jCQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/showcase/machinery/oldpod{ - desc = "An old NT branded sleeper, decommissioned after the lead acetate incident. None of the functional machinery remains inside."; - dir = 8; - name = "decommissioned sleeper" +"jCU" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/effect/decal/cleanable/greenglow, -/obj/item/surgicaldrill, -/turf/open/floor/iron/white, -/area/station/medical/abandoned) +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/medical/chemistry) "jCW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -33737,6 +34190,15 @@ /obj/effect/mapping_helpers/mail_sorting/service/hydroponics, /turf/open/floor/wood/large, /area/station/hallway/secondary/service) +"jCY" = ( +/obj/machinery/light/directional/south, +/obj/effect/spawner/random/techstorage/tcomms_all, +/obj/structure/rack, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "jDe" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 @@ -33755,17 +34217,6 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/medical/virology) -"jDi" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "jDj" = ( /obj/effect/turf_decal/trimline/yellow/corner{ dir = 8 @@ -33779,6 +34230,19 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/science/robotics/lab) +"jDk" = ( +/obj/machinery/stasis{ + dir = 4 + }, +/obj/machinery/defibrillator_mount/directional/west, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 8 + }, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "jDl" = ( /obj/item/radio/intercom/directional/north, /obj/structure/closet/radiation, @@ -33807,22 +34271,21 @@ /obj/effect/spawner/random/clothing/wardrobe_closet_colored, /turf/open/floor/iron/cafeteria, /area/station/commons/locker) -"jDx" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +"jDt" = ( +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 4 }, -/turf/open/floor/plating, -/area/station/maintenance/port) +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/dark_blue{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "jDy" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"jDD" = ( -/obj/structure/curtain, -/obj/machinery/shower/directional/south, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/medbay/central) "jDL" = ( /obj/effect/turf_decal/siding/dark{ dir = 9 @@ -33883,6 +34346,14 @@ "jEm" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat/foyer) +"jEp" = ( +/obj/machinery/light_switch/directional/west, +/obj/machinery/rnd/production/techfab/department/medical, +/obj/effect/turf_decal/bot_white{ + color = "#52B4E9" + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "jEr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -33902,25 +34373,6 @@ /obj/effect/turf_decal/tile/dark/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"jEx" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"jEy" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Security E.V.A. Storage" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/effect/mapping_helpers/airlock/access/all/security/armory, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/red_alert_access, -/turf/open/floor/iron/dark, -/area/station/security/eva) "jEz" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4; @@ -33930,17 +34382,6 @@ }, /turf/open/floor/circuit/telecomms, /area/station/science/xenobiology) -"jEG" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/holopad, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=2"; - location = "Medical" - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "jEV" = ( /obj/structure/table, /obj/item/folder/yellow{ @@ -33986,15 +34427,6 @@ }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) -"jFG" = ( -/obj/structure/closet/crate/freezer/blood, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/item/reagent_containers/blood/random, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "jFH" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, @@ -34024,14 +34456,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"jGh" = ( -/obj/machinery/computer/records/security, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) "jGl" = ( /obj/effect/spawner/random/structure/table_or_rack, /turf/open/floor/plating, @@ -34148,14 +34572,16 @@ dir = 1 }, /area/station/service/chapel) -"jIf" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/medical/cryo) "jIs" = ( /obj/structure/table/glass, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) +"jIv" = ( +/obj/machinery/shower/directional/south, +/obj/effect/turf_decal/tile/blue/full, +/obj/effect/turf_decal/siding/blue/end, +/turf/open/floor/iron/showroomfloor, +/area/station/medical/medbay/central) "jIx" = ( /obj/machinery/door/airlock/hatch{ name = "MiniSat Antechamber" @@ -34166,15 +34592,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/textured_large, /area/station/ai_monitored/turret_protected/aisat/foyer) -"jIF" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "jII" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -34184,29 +34601,16 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/hos) -"jIJ" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 8 +"jIQ" = ( +/obj/machinery/door/airlock/medical/glass{ + id_tag = "MedbayFoyer"; + name = "Medbay Entrance" }, -/turf/open/openspace, -/area/station/medical/storage) -"jIO" = ( -/obj/structure/table/reinforced, -/obj/item/book/manual/wiki/engineering_hacking{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/book/manual/wiki/engineering_guide, -/obj/item/book/manual/wiki/engineering_construction{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/trash/can{ - pixel_x = -8 - }, -/turf/open/floor/iron, -/area/station/commons/storage/primary) +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue/full, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "jIX" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -34256,12 +34660,6 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) -"jJE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/pipe_scrubber, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "jJH" = ( /obj/structure/chair/comfy/carp{ dir = 1; @@ -34322,9 +34720,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/command/meeting_room/council) -"jKp" = ( -/turf/open/openspace, -/area/station/medical/storage) +"jKz" = ( +/obj/structure/curtain/cloth, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/medical/patients_rooms/room_a) "jKF" = ( /obj/machinery/door/poddoor/shutters{ id = "gateshutter"; @@ -34332,30 +34732,14 @@ }, /turf/open/floor/iron, /area/station/command/gateway) -"jKT" = ( -/obj/item/storage/medkit/regular{ - pixel_x = 3; - pixel_y = -3 +"jKP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom/directional/east{ + frequency = 1447; + name = "ai intercom" }, -/obj/item/storage/medkit/toxin{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/medkit/toxin, -/obj/item/storage/medkit/toxin{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/structure/table/reinforced, -/obj/structure/lattice/catwalk, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/light/directional/east, -/obj/machinery/door/window/right/directional/west{ - name = "First Aid Supplies"; - req_access = list("medical") - }, -/turf/open/openspace, -/area/station/medical/storage) +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/turret_protected/ai_upload) "jKX" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/cmo) @@ -34424,6 +34808,10 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) +"jLv" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, +/turf/closed/wall/r_wall, +/area/station/engineering/atmos/upper) "jLw" = ( /obj/structure/reagent_dispensers/cooking_oil, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, @@ -34437,6 +34825,12 @@ }, /turf/open/floor/iron/textured_large, /area/station/security/prison/rec) +"jLF" = ( +/obj/structure/table/optable, +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/tile/blue/full, +/turf/open/floor/iron/showroomfloor, +/area/station/medical/surgery) "jLY" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -34459,18 +34853,18 @@ /obj/effect/landmark/start/hangover, /turf/open/openspace, /area/station/commons/vacant_room/office) +"jMG" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Port to Engine"; + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "jML" = ( /obj/effect/decal/cleanable/confetti, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"jMO" = ( -/obj/structure/lattice/catwalk, -/obj/structure/table/reinforced, -/obj/item/radio, -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/light_switch/directional/north, -/turf/open/openspace, -/area/station/security/checkpoint/customs) "jMU" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -34501,6 +34895,21 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/dark/smooth_large, /area/station/security/mechbay) +"jNE" = ( +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/effect/landmark/event_spawn, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) +"jNG" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron, +/area/station/hallway/secondary/construction) "jNL" = ( /obj/machinery/airalarm/directional/east, /obj/effect/turf_decal/trimline/dark/arrow_ccw{ @@ -34519,6 +34928,16 @@ }, /turf/open/openspace, /area/station/hallway/primary/central) +"jOg" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/disposalpipe/junction, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "jOh" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -34577,6 +34996,9 @@ /obj/effect/mapping_helpers/mail_sorting/security/general, /turf/open/floor/iron/dark, /area/station/security/brig) +"jPo" = ( +/turf/closed/wall, +/area/station/medical/medbay/lobby) "jPs" = ( /obj/structure/lattice, /obj/effect/spawner/random/maintenance/no_decals, @@ -34622,6 +35044,16 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/security/courtroom) +"jQp" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/chem_storage) "jQu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -34642,18 +35074,12 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/evidence) -"jQL" = ( -/obj/structure/railing/corner/end{ - dir = 8 +"jQK" = ( +/obj/effect/turf_decal/tile/purple/half{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/east{ - frequency = 1447; - name = "ai intercom" - }, -/obj/machinery/holopad/secure, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "jQO" = ( /turf/closed/wall, /area/station/science/ordnance/bomb) @@ -34680,6 +35106,10 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark/smooth_large, /area/station/security/brig) +"jRo" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron/dark/textured_large, +/area/station/engineering/atmos/upper) "jRB" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/transit_tube/station/dispenser/flipped{ @@ -34697,6 +35127,15 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"jRJ" = ( +/obj/structure/rack, +/obj/effect/spawner/random/techstorage/security_all, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "jRL" = ( /obj/machinery/ai_slipper{ uses = 10 @@ -34706,11 +35145,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/ai) -"jRW" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/space_heater, -/turf/open/floor/iron/dark/textured_large, -/area/station/engineering/atmos/upper) "jRZ" = ( /obj/structure/table/wood, /obj/effect/spawner/random/bureaucracy/paper, @@ -34719,6 +35153,14 @@ "jSf" = ( /turf/closed/wall/r_wall, /area/station/engineering/main) +"jSl" = ( +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/blue, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "jSn" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -34754,6 +35196,13 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) +"jSS" = ( +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 4 + }, +/obj/structure/cable, +/turf/closed/wall, +/area/station/medical/surgery) "jSV" = ( /obj/structure/table/wood, /obj/item/paper_bin{ @@ -34799,17 +35248,6 @@ dir = 4 }, /area/station/service/chapel) -"jTt" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "jTx" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -34818,10 +35256,14 @@ /turf/open/floor/iron, /area/station/maintenance/starboard/lesser) "jTD" = ( -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/engine, -/area/station/engineering/atmos/upper) +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "cmoprivacy"; + name = "Privacy Shutter" + }, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/command/heads_quarters/cmo) "jTO" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -34926,6 +35368,28 @@ "jVB" = ( /turf/closed/wall/r_wall, /area/station/engineering/gravity_generator) +"jVG" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 4 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 6 + }, +/obj/item/folder/white{ + pixel_x = -1; + pixel_y = 3 + }, +/obj/item/pen{ + pixel_x = -3; + pixel_y = 9 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "jVI" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -34985,6 +35449,48 @@ /obj/item/radio/intercom/prison/directional/north, /turf/open/floor/iron, /area/station/security/prison/mess) +"jWr" = ( +/obj/machinery/firealarm/directional/west, +/obj/machinery/plumbing/receiver{ + dir = 1 + }, +/obj/effect/turf_decal/box/white{ + color = "#52B4E9" + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) +"jWs" = ( +/obj/machinery/camera/autoname/directional/south, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"jWt" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 1 + }, +/obj/structure/table, +/obj/item/stack/sheet/mineral/plasma{ + pixel_y = 5 + }, +/obj/item/stack/sheet/mineral/plasma{ + pixel_x = 2 + }, +/obj/structure/sign/poster/official/periodic_table/directional/east, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "jWz" = ( /obj/machinery/shower/directional/east, /obj/effect/decal/cleanable/dirt, @@ -35002,27 +35508,6 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"jWF" = ( -/obj/structure/table/glass, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, -/obj/item/circular_saw, -/obj/item/circular_saw{ - pixel_y = 4 - }, -/obj/item/scalpel{ - pixel_y = 16 - }, -/obj/item/scalpel{ - pixel_y = 12 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) "jWJ" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/glass, @@ -35148,26 +35633,6 @@ /obj/structure/lattice/catwalk, /turf/open/water, /area/station/maintenance/port/fore) -"jYI" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/yellow/full, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/medical/pharmacy, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - name = "Chemistry" - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/pharmacy) -"jYJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/white/textured, -/area/station/medical/surgery) "jYM" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -35191,12 +35656,37 @@ /obj/machinery/suit_storage_unit/mining/eva, /turf/open/floor/wood/parquet, /area/station/command/heads_quarters/qm) +"jZp" = ( +/obj/structure/chair/sofa/corp/right, +/obj/effect/landmark/start/paramedic, +/turf/open/floor/carpet/blue, +/area/station/medical/break_room) "jZs" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"jZu" = ( +/obj/structure/cable, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) +"jZx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) +"jZJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "jZL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -35279,21 +35769,16 @@ }, /turf/open/floor/iron/dark, /area/station/science/lobby) +"kbu" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/engineering/atmos/upper) "kbz" = ( /obj/machinery/airalarm/directional/west, /obj/structure/rack, /obj/effect/spawner/random/armory/shotgun, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/security/armory) -"kbB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/blue/full, -/obj/effect/turf_decal/tile/dark/full, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/floor/broken, -/obj/structure/cable, -/turf/open/floor/iron/smooth_large, -/area/station/maintenance/department/medical) "kbQ" = ( /obj/machinery/light/directional/east, /obj/item/kirbyplants/random/fullysynthetic, @@ -35321,24 +35806,10 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/science/explab) -"kcn" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/computer/station_alert, -/turf/open/floor/engine/hull/reinforced/air, -/area/station/engineering/atmos/project) "kcs" = ( /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"kcu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/sign/warning/electric_shock/directional/west, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/fore) "kcx" = ( /obj/structure/lattice/catwalk, /obj/structure/table, @@ -35401,27 +35872,6 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/auxiliary) -"kdt" = ( -/obj/structure/table, -/obj/item/clipboard{ - pixel_x = 1; - pixel_y = -2 - }, -/obj/machinery/camera/motion/directional/south{ - c_tag = "AI Upload Chamber - Lower"; - network = list("aiupload") - }, -/obj/machinery/airalarm/directional/south, -/obj/item/phone{ - pixel_x = 9; - pixel_y = 9 - }, -/obj/item/ai_module/toy_ai{ - pixel_x = -13; - pixel_y = 9 - }, -/turf/open/floor/carpet, -/area/station/ai_monitored/turret_protected/ai_upload) "kdv" = ( /obj/structure/railing{ dir = 1 @@ -35450,6 +35900,10 @@ "kdG" = ( /turf/open/floor/wood, /area/station/commons/dorms) +"kdJ" = ( +/obj/structure/sign/departments/medbay/alt/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "kdN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -35587,6 +36041,14 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/service/chapel) +"kfv" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "kfA" = ( /obj/effect/turf_decal/siding/white, /obj/item/kirbyplants/organic/plant21{ @@ -35595,6 +36057,18 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) +"kfJ" = ( +/obj/machinery/door/airlock/external{ + name = "Medical Escape Pod" + }, +/obj/effect/landmark/navigate_destination/dockescpod1, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/medical/abandoned) "kfO" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/box/corners{ @@ -35639,6 +36113,14 @@ /obj/structure/ladder, /turf/open/floor/plating, /area/station/service/kitchen/abandoned) +"khf" = ( +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "khi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -35659,14 +36141,21 @@ /obj/structure/ladder, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_recreation) -"khC" = ( -/obj/machinery/plumbing/receiver{ - dir = 1 +"khw" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 }, -/obj/machinery/light/directional/east, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/wood, -/area/station/medical/medbay/central) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/chem_storage) +"khB" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/medical/abandoned) "khE" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -35779,6 +36268,16 @@ /obj/structure/sign/poster/ripped/directional/north, /turf/open/floor/iron/dark, /area/station/security/interrogation) +"kji" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/sorting/mail{ + dir = 8 + }, +/obj/effect/mapping_helpers/mail_sorting/medbay/cmo_office, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "kjF" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/junction/yjunction{ @@ -35798,26 +36297,14 @@ /turf/open/floor/iron, /area/station/commons/fitness/recreation) "kjQ" = ( -/obj/machinery/light/directional/west, -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/iron/dark, -/area/station/engineering/hallway) -"kka" = ( -/obj/effect/turf_decal/tile/bar{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"kkd" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/obj/structure/chair/office, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/floor, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/ce) "kkn" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/urinal/directional/north, @@ -35880,16 +36367,6 @@ "kkZ" = ( /turf/closed/wall, /area/station/security/eva) -"klc" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "kld" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -35955,27 +36432,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine/hull/air, /area/station/hallway/secondary/exit/departure_lounge) +"klD" = ( +/obj/structure/window/spawner/directional/north, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "medbay-office"; + name = "Medbay Shutters"; + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/machinery/computer/records/medical, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/office) "klH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, /area/station/engineering/engine_smes) -"klI" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/item/paper_bin{ - pixel_x = -6; - pixel_y = 7 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/window/right/directional/west{ - name = "Medical Desk"; - req_access = list("medical") - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "klJ" = ( /obj/machinery/firealarm/directional/west, /obj/effect/turf_decal/siding/wood{ @@ -35983,10 +36455,6 @@ }, /turf/open/floor/wood/large, /area/station/hallway/primary/central) -"kmb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "kmh" = ( /obj/structure/lattice/catwalk, /obj/structure/railing/corner/end/flip{ @@ -35999,12 +36467,6 @@ /obj/machinery/vending/coffee, /turf/open/floor/iron, /area/station/engineering/lobby) -"kmr" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/lattice/catwalk, -/turf/open/water, -/area/station/maintenance/starboard/fore) "kmD" = ( /obj/machinery/light_switch/directional/north, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -36227,6 +36689,13 @@ }, /turf/open/floor/carpet/stellar, /area/station/service/library) +"koR" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/item/kirbyplants, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "koU" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 1 @@ -36247,13 +36716,6 @@ dir = 4 }, /area/station/cargo/bitrunning/den) -"koY" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/openspace, -/area/station/medical/storage) "kpz" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -36274,6 +36736,10 @@ }, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden/abandoned) +"kpH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "kpS" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -36322,13 +36788,6 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"kqm" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/openspace, -/area/station/medical/cryo) "kqt" = ( /obj/effect/turf_decal/siding/brown{ dir = 1 @@ -36364,15 +36823,6 @@ /obj/machinery/photocopier, /turf/open/floor/glass, /area/station/security/brig) -"kra" = ( -/obj/structure/lattice/catwalk, -/obj/structure/closet/l3closet, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/status_display/ai/directional/west, -/turf/open/openspace, -/area/station/medical/storage) "krk" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -36461,6 +36911,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/storage) +"ksr" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/medical/chemistry) "kst" = ( /obj/structure/railing, /obj/effect/turf_decal/siding/wood, @@ -36502,21 +36959,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/space/openspace, /area/space/nearstation) -"ksX" = ( -/obj/machinery/chem_mass_spec, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 8 - }, -/obj/machinery/digital_clock/directional/west, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/pharmacy) "ktd" = ( /obj/structure/reagent_dispensers/water_cooler, /turf/open/floor/wood, @@ -36579,6 +37021,13 @@ /obj/item/restraints/legcuffs/beartrap/prearmed, /turf/open/floor/plating, /area/station/maintenance/department/medical) +"ktw" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/effect/spawner/random/engineering/tracking_beacon, +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/turret_protected/ai_upload) "ktz" = ( /obj/structure/table, /obj/item/lipstick/purple{ @@ -36664,6 +37113,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) +"kuq" = ( +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/ai_monitored/turret_protected/ai_upload) "kur" = ( /obj/structure/lattice/catwalk, /obj/effect/spawner/random/maintenance, @@ -36794,14 +37247,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"kwh" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) "kwm" = ( /obj/structure/stairs/north, /obj/structure/railing{ @@ -36837,6 +37282,22 @@ /obj/machinery/rnd/production/circuit_imprinter/department/science, /turf/open/floor/iron/dark, /area/station/science/lobby) +"kwv" = ( +/obj/structure/railing, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/openspace, +/area/station/medical/medbay/central) +"kwE" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/machinery/firealarm/directional/east, +/obj/structure/table, +/obj/item/folder, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tcomms) "kwG" = ( /obj/machinery/igniter/incinerator_atmos, /turf/open/floor/engine/airless, @@ -36857,13 +37318,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"kwR" = ( -/obj/machinery/computer/crew{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "kwW" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/warning{ dir = 4 @@ -36911,6 +37365,18 @@ /obj/structure/closet/firecloset, /turf/open/floor/iron/dark/smooth_large, /area/station/security/execution/transfer) +"kxn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "kxo" = ( /obj/effect/turf_decal/siding/purple{ dir = 4 @@ -36924,6 +37390,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/science/lab) +"kxy" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, +/turf/open/space/basic, +/area/space/nearstation) "kxA" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36943,23 +37414,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"kxL" = ( -/obj/item/emergency_bed, -/obj/item/emergency_bed{ - pixel_y = 3 - }, -/obj/item/emergency_bed{ - pixel_y = 3 - }, -/obj/item/emergency_bed{ - pixel_y = 6 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/rack, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) "kxY" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/directional/west, @@ -36990,15 +37444,6 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs) -"kyx" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "kyJ" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -37061,6 +37506,21 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark, /area/station/science/lobby) +"kzr" = ( +/obj/structure/bed/pod{ + desc = "An old medical bed, just waiting for replacement with something up to date."; + name = "medical bed"; + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/machinery/defibrillator_mount/directional/west, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 8 + }, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "kzC" = ( /obj/structure/chair{ dir = 4; @@ -37125,20 +37585,6 @@ /obj/structure/chair/comfy, /turf/open/openspace, /area/station/maintenance/port/aft) -"kAv" = ( -/obj/structure/table, -/obj/item/stock_parts/subspace/analyzer, -/obj/item/stock_parts/subspace/analyzer, -/obj/item/stock_parts/subspace/analyzer, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Telecomms - Storage" - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tcomms) "kAy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -37211,18 +37657,18 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"kBq" = ( -/obj/structure/railing/corner, -/obj/item/wrench/medical, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "kBs" = ( /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/dark/textured, /area/station/science/xenobiology) +"kBt" = ( +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","medbay"); + c_tag = "Medbay - Lower Operating Room" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/air, +/area/station/medical/medbay/central) "kBA" = ( /obj/structure/mirror/directional/north{ pixel_y = 31 @@ -37239,13 +37685,21 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/iron/freezer, /area/station/command/heads_quarters/captain/private) +"kBE" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 4 + }, +/obj/structure/chair/office/light{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "kBF" = ( /turf/open/floor/engine/hull/air, /area/station/hallway/primary/aft) -"kCp" = ( -/obj/structure/lattice, -/turf/open/openspace, -/area/station/medical/chemistry) "kCE" = ( /obj/structure/table, /obj/item/stock_parts/subspace/treatment, @@ -37284,13 +37738,14 @@ dir = 8 }, /area/station/hallway/primary/fore) -"kDa" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/railing/corner/end{ - dir = 4 +"kCW" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "kDc" = ( /obj/structure/statue/sandstone/venus{ dir = 1 @@ -37304,6 +37759,16 @@ dir = 4 }, /area/station/service/chapel) +"kDx" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/departments/aisat/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "kDC" = ( /obj/structure/railing/corner/end{ dir = 1 @@ -37328,20 +37793,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter) -"kDO" = ( -/turf/closed/wall/r_wall, -/area/station/medical/morgue) -"kDP" = ( -/obj/structure/sink/directional/west, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) "kDQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/barricade/sandbags, @@ -37398,6 +37849,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"kEs" = ( +/obj/item/chair, +/obj/machinery/light/small/red/dim/directional/south, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) "kEw" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -37418,6 +37874,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"kEF" = ( +/obj/machinery/meter{ + name = "Plasma meter" + }, +/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ + name = "Plasma Multideck Adapter"; + dir = 8 + }, +/obj/effect/turf_decal/tile/purple/fourcorners, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "kES" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair{ @@ -37440,25 +37907,12 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark/smooth_large, /area/station/security/office) -"kFg" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/dark/textured_large, -/area/station/engineering/atmos/upper) "kFi" = ( /obj/structure/railing/corner/end{ dir = 4 }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) -"kFr" = ( -/obj/structure/table, -/obj/machinery/coffeemaker, -/obj/item/reagent_containers/cup/coffeepot, -/obj/item/storage/box/coffeepack, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "kFt" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -37478,11 +37932,6 @@ /obj/structure/curtain, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"kFP" = ( -/obj/structure/closet/toolcloset, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood, -/area/station/commons/storage/tools) "kFQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -37490,6 +37939,10 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"kGd" = ( +/obj/structure/sign/poster/ripped/directional/south, +/turf/closed/wall, +/area/station/maintenance/department/medical) "kGD" = ( /obj/machinery/air_sensor/nitrogen_tank, /obj/structure/window/reinforced/plasma/spawner/directional/south, @@ -37523,12 +37976,21 @@ }, /turf/open/openspace, /area/station/maintenance/port) +"kGV" = ( +/obj/structure/window/reinforced/plasma/spawner/directional/south, +/obj/machinery/air_sensor/plasma_tank, +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos/upper) "kHj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"kHp" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "kHv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -37563,11 +38025,19 @@ /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron, /area/station/cargo/storage) -"kHK" = ( -/obj/structure/lattice/catwalk, -/obj/structure/window/reinforced/spawner/directional/south, -/turf/open/space/openspace, -/area/space/nearstation) +"kHz" = ( +/obj/machinery/requests_console/directional/north{ + department = "Medbay"; + name = "Medbay Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "kHU" = ( /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, @@ -37586,14 +38056,6 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/hallway/primary/aft) -"kIt" = ( -/obj/effect/turf_decal/siding/blue/corner, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 1 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "kIw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -37650,6 +38112,10 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tcomms) +"kJI" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/closed/wall/r_wall, +/area/station/engineering/atmos/upper) "kJO" = ( /obj/structure/railing, /obj/effect/turf_decal/siding/wood, @@ -37678,6 +38144,18 @@ /obj/structure/mannequin/wood, /turf/open/floor/wood, /area/station/service/library/printer) +"kKe" = ( +/obj/structure/rack, +/obj/item/circuitboard/computer/apc_control{ + pixel_x = 2; + pixel_y = 3 + }, +/obj/item/stock_parts/power_store/cell{ + pixel_x = -3; + pixel_y = -2 + }, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/aft) "kKj" = ( /obj/structure/chair/sofa/corner/brown{ dir = 4 @@ -37688,12 +38166,31 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron, /area/station/science/breakroom) -"kKr" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +"kKn" = ( +/obj/item/storage/medkit/fire{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/medkit/fire, +/obj/item/storage/medkit/fire{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/door/window/right/directional/west{ + name = "First Aid Supplies"; + req_access = list("medical") + }, +/obj/structure/table/reinforced/rglass, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) +"kKs" = ( +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/machinery/computer/records/security, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) "kKw" = ( /obj/structure/lattice/catwalk, /turf/open/floor/engine/hull/air, @@ -37706,6 +38203,15 @@ /obj/structure/sign/poster/contraband/random/directional/west, /turf/open/water, /area/station/maintenance/starboard/fore) +"kKB" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "kKH" = ( /turf/open/floor/iron/dark/smooth_large, /area/station/security/processing) @@ -37715,6 +38221,16 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/service/cafeteria) +"kKQ" = ( +/obj/machinery/power/emitter{ + dir = 4 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/engine, +/area/station/engineering/break_room) "kKR" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -37735,14 +38251,6 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/plating, /area/station/cargo/storage) -"kLs" = ( -/obj/machinery/camera/autoname/directional/east, -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/openspace, -/area/station/engineering/atmos/project) "kLD" = ( /turf/open/floor/plating, /area/station/engineering/supermatter/room) @@ -37782,6 +38290,28 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured, /area/station/maintenance/starboard/lesser) +"kMd" = ( +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/solar_assembly, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/cable_coil, +/obj/structure/closet/crate/engineering/electrical, +/turf/open/floor/glass/reinforced, +/area/station/solars/starboard/fore) "kMj" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) @@ -37855,6 +38385,14 @@ }, /turf/open/floor/iron/textured, /area/station/security/brig) +"kNB" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/button/elevator/directional/east{ + id = "catwalk_atmos"; + name = "Elevator Button" + }, +/turf/open/floor/engine, +/area/station/engineering/atmos/upper) "kNI" = ( /obj/structure/lattice/catwalk, /obj/effect/decal/cleanable/glass, @@ -37897,16 +38435,6 @@ /obj/effect/spawner/random/structure/grille, /turf/open/space/basic, /area/space/nearstation) -"kOF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 2 - }, -/obj/effect/mapping_helpers/mail_sorting/science/robotics, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) "kOI" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/plasma, @@ -37924,6 +38452,29 @@ /obj/structure/disposalpipe/segment, /turf/closed/wall/r_wall, /area/station/science/ordnance) +"kOR" = ( +/obj/item/storage/medkit/regular{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/storage/medkit/toxin{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/medkit/toxin, +/obj/item/storage/medkit/toxin{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/door/window/right/directional/west{ + name = "First Aid Supplies"; + req_access = list("medical") + }, +/obj/structure/table/reinforced/rglass, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "kOV" = ( /obj/structure/railing/corner/end/flip{ dir = 8 @@ -37980,26 +38531,6 @@ /obj/structure/filingcabinet/chestdrawer, /turf/open/floor/wood/large, /area/station/medical/psychology) -"kPI" = ( -/obj/structure/table/wood, -/obj/item/storage/briefcase/secure{ - pixel_x = 5; - pixel_y = 9 - }, -/obj/item/storage/medkit/regular{ - pixel_x = -3; - pixel_y = 2 - }, -/obj/item/clothing/head/soft/blue{ - pixel_x = 10; - pixel_y = 1 - }, -/obj/item/clothing/neck/stethoscope{ - pixel_x = 2; - pixel_y = 4 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "kPL" = ( /obj/effect/landmark/transport/transport_id{ specific_transport_id = "catwalk_engi" @@ -38075,29 +38606,6 @@ /obj/item/clothing/head/soft/red, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"kQh" = ( -/obj/structure/table, -/obj/item/storage/box/gloves{ - pixel_x = -6; - pixel_y = 9 - }, -/obj/item/storage/box/masks{ - pixel_x = -6; - pixel_y = 3 - }, -/obj/item/storage/box/bodybags{ - pixel_x = -6; - pixel_y = -5 - }, -/obj/effect/turf_decal/tile/blue/full, -/obj/item/clothing/neck/stethoscope, -/obj/machinery/firealarm/directional/west, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","medbay"); - c_tag = "Medbay - Central West" - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "kQn" = ( /obj/structure/sign/picture_frame/portrait{ pixel_y = 33 @@ -38108,6 +38616,16 @@ /obj/structure/table, /turf/open/floor/iron/dark/smooth_edge, /area/station/service/library) +"kQo" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/table/reinforced/rglass, +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 8 + }, +/turf/open/floor/holofloor/dark, +/area/station/command/heads_quarters/cmo) "kQy" = ( /obj/structure/disposalpipe/segment{ dir = 2 @@ -38132,6 +38650,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"kQE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/machinery/door/airlock/medical, +/turf/open/floor/plating, +/area/station/medical/break_room) "kQV" = ( /obj/structure/girder, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38169,14 +38699,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/command) -"kRv" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Air to Mix" - }, -/obj/effect/turf_decal/tile/neutral/full, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "kRD" = ( /obj/effect/spawner/random/vending/snackvend, /obj/structure/disposalpipe/segment{ @@ -38184,6 +38706,11 @@ }, /turf/open/floor/glass, /area/station/science/zoo) +"kRF" = ( +/obj/structure/bed/medical/emergency, +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "kRH" = ( /obj/structure/table, /obj/item/wrench, @@ -38204,10 +38731,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) -"kSc" = ( -/obj/machinery/door/firedoor, -/turf/open/floor/engine/hull/air, -/area/station/medical/medbay/central) "kSg" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/iron/stairs/medium, @@ -38226,14 +38749,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"kSB" = ( -/obj/machinery/status_display/ai/directional/north, -/obj/item/kirbyplants/organic/plant19{ - pixel_x = -6; - pixel_y = 2 - }, -/turf/open/floor/carpet, -/area/station/ai_monitored/turret_protected/ai_upload) "kSD" = ( /obj/effect/turf_decal/siding/thinplating_new/dark/end{ dir = 1 @@ -38271,6 +38786,16 @@ }, /turf/open/openspace, /area/station/engineering/break_room) +"kST" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/light/floor, +/turf/open/floor/iron/white, +/area/station/medical/office) "kSY" = ( /obj/structure/table, /obj/item/blood_filter{ @@ -38353,6 +38878,14 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/engineering/atmos/upper) +"kUp" = ( +/obj/machinery/holopad, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/ce) "kUq" = ( /turf/closed/wall/r_wall, /area/station/maintenance/port) @@ -38363,14 +38896,19 @@ }, /turf/open/floor/wood/tile, /area/station/security/detectives_office/private_investigators_office) -"kUD" = ( -/obj/structure/rack, -/obj/effect/spawner/random/techstorage/medical_all, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 +"kUC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "kUI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/siding/dark{ @@ -38383,13 +38921,6 @@ "kUO" = ( /turf/open/openspace, /area/station/security/courtroom) -"kUU" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 1 - }, -/turf/open/space/basic, -/area/space/nearstation) "kUW" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/machinery/atmospherics/components/unary/thermomachine/heater/on{ @@ -38398,6 +38929,17 @@ }, /turf/open/floor/iron/freezer, /area/station/engineering/atmos/pumproom) +"kUY" = ( +/obj/effect/turf_decal/trimline/blue/warning{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 1 + }, +/area/station/medical/cryo) "kVj" = ( /obj/effect/turf_decal/bot_white, /turf/open/floor/iron/dark/textured_large, @@ -38406,24 +38948,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) -"kVu" = ( -/obj/structure/table, -/obj/item/stack/medical/mesh{ - pixel_x = -5; - pixel_y = 6 - }, -/obj/item/stack/medical/gauze{ - pixel_x = 4 - }, -/obj/item/stack/medical/suture{ - pixel_x = -1; - pixel_y = -12 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "kVE" = ( /obj/machinery/power/solar_control, /obj/structure/cable, @@ -38522,15 +39046,6 @@ }, /turf/open/floor/iron, /area/station/science/explab) -"kWv" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "kWx" = ( /obj/structure/table/reinforced, /obj/item/wirecutters, @@ -38542,11 +39057,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"kWF" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/firealarm/directional/east, -/turf/open/openspace, -/area/station/medical/storage) "kWO" = ( /obj/structure/broken_flooring/singular/directional/east, /turf/open/floor/plating, @@ -38561,16 +39071,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/checker, /area/station/ai_monitored/turret_protected/aisat_interior) -"kXa" = ( -/obj/machinery/door/airlock/atmos/glass{ - name = "Atmospherics Testing Room" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/door/firedoor/heavy, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "kXt" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, @@ -38593,9 +39093,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood/large, /area/station/hallway/secondary/service) -"kXI" = ( -/turf/closed/wall/r_wall, -/area/station/medical/cryo) "kXQ" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -38636,35 +39133,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured_large, /area/station/science/robotics/lab) -"kYK" = ( -/obj/structure/closet/crate/science, -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 8 - }, -/obj/item/reagent_containers/cup/beaker{ - pixel_x = 8; - pixel_y = 2 - }, -/obj/item/reagent_containers/cup/bottle/epinephrine{ - pixel_x = 6; - pixel_y = -6 - }, -/obj/item/reagent_containers/cup/bottle/multiver{ - pixel_x = -2; - pixel_y = -7 - }, -/obj/item/reagent_containers/dropper{ - pixel_x = 2; - pixel_y = -11 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) "kYN" = ( /obj/effect/spawner/random/vending/colavend, /turf/open/floor/wood, @@ -38695,10 +39163,6 @@ /obj/structure/flora/grass/jungle/b/style_5, /turf/open/floor/grass, /area/station/ai_monitored/turret_protected/aisat_interior) -"kZl" = ( -/obj/effect/landmark/start/atmospheric_technician, -/turf/open/floor/iron/freezer, -/area/station/engineering/atmos/pumproom) "kZo" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark/smooth_large, @@ -38741,6 +39205,13 @@ /obj/structure/broken_flooring/side/always_floorplane/directional/north, /turf/open/floor/carpet/blue, /area/station/maintenance/port/aft) +"lag" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine/hull/reinforced/air, +/area/station/engineering/atmos/project) +"lah" = ( +/turf/open/floor/iron/dark, +/area/station/medical/cryo) "lai" = ( /obj/effect/mine/explosive, /obj/effect/decal/cleanable/wrapping{ @@ -38809,6 +39280,12 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) +"laO" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/space/openspace, +/area/space/nearstation) "laQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38851,11 +39328,10 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/carpet/stellar, /area/station/maintenance/hallway/abandoned_recreation) -"lbx" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/pump, -/turf/open/floor/iron/dark/textured_large, -/area/station/engineering/atmos/upper) +"lbB" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "lbD" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 4 @@ -38866,6 +39342,16 @@ /obj/effect/turf_decal/bot/left, /turf/open/floor/engine/hull, /area/space/nearstation) +"lbF" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/blue/end{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "lbH" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -38896,14 +39382,6 @@ /obj/structure/sink/directional/south, /turf/open/floor/iron/freezer, /area/station/commons/dorms) -"lca" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/access/all/medical/virology, -/obj/machinery/door/airlock/virology/glass{ - name = "Entrance to Malpractice Tower" - }, -/turf/open/floor/iron/textured_large, -/area/station/medical/virology) "lce" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -38920,6 +39398,10 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"lcx" = ( +/obj/machinery/light_switch/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "lcy" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair{ @@ -38953,6 +39435,13 @@ /obj/machinery/meter, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"lcY" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "ldj" = ( /obj/structure/railing{ dir = 1 @@ -39047,16 +39536,22 @@ /obj/machinery/light_switch/directional/east, /turf/open/floor/iron/dark/smooth_large, /area/station/tcommsat/server) -"leJ" = ( -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","medbay"); - c_tag = "Medbay - Upper Storage East Hallway" - }, -/turf/open/openspace, -/area/station/medical/chemistry) "leL" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/rd) +"leN" = ( +/obj/machinery/door/airlock/external{ + name = "MiniSat Space Access Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "AI-Transit-Tube-Access" + }, +/obj/effect/mapping_helpers/airlock/access/all/command/minisat, +/obj/machinery/door/poddoor/preopen{ + id = "transitlockdown" + }, +/turf/open/floor/plating, +/area/station/engineering/transit_tube) "leR" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -39150,12 +39645,10 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) -"lgq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +"lgt" = ( +/obj/structure/ladder, +/turf/open/floor/plating, +/area/station/solars/starboard/fore) "lgv" = ( /obj/item/hfr_box/corner{ pixel_x = -10; @@ -39176,6 +39669,12 @@ /obj/effect/turf_decal/tile/dark_blue/opposingcorners, /turf/open/floor/iron/cafeteria, /area/station/maintenance/starboard/lesser) +"lgU" = ( +/obj/structure/sink/directional/east, +/obj/machinery/iv_drip, +/obj/structure/mirror/directional/west, +/turf/open/floor/iron/dark/textured_corner, +/area/station/medical/surgery) "lgV" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -39256,12 +39755,34 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/storage_shared) +"lib" = ( +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "lig" = ( /obj/effect/turf_decal/bot, /obj/effect/decal/cleanable/plasma, /obj/effect/landmark/start/cyborg, /turf/open/floor/iron/dark/textured_large, /area/station/science/robotics/lab) +"lij" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "lim" = ( /obj/effect/spawner/random/trash/grime, /turf/open/floor/iron, @@ -39366,10 +39887,12 @@ /obj/structure/closet/crate/cardboard, /turf/open/openspace, /area/station/maintenance/port/aft) -"lki" = ( -/obj/structure/ladder, -/turf/open/floor/plating, -/area/station/solars/starboard/fore) +"lkd" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "lkj" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -39399,6 +39922,13 @@ /obj/effect/turf_decal/bot/right, /turf/open/floor/engine/hull, /area/space/nearstation) +"lkT" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics - co2 Cell"; + name = "atmospherics camera" + }, +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos/upper) "lkY" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/decal/cleanable/dirt, @@ -39457,17 +39987,6 @@ }, /turf/open/floor/engine/hull, /area/space/nearstation) -"llS" = ( -/obj/machinery/door/poddoor/preopen{ - id = "ceprivacy"; - name = "Chief Engineers Privacy Shutters" - }, -/obj/effect/spawner/structure/window/reinforced/plasma, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/command/heads_quarters/ce) "llY" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ @@ -39535,6 +40054,14 @@ /obj/machinery/portable_atmospherics/canister, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) +"lmI" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/engineering/lobby) "lmL" = ( /obj/structure/chair/sofa/left/brown, /obj/item/instrument/guitar{ @@ -39542,13 +40069,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"lmN" = ( -/obj/machinery/light/floor, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "lmT" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/glass/reinforced, @@ -39644,13 +40164,13 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) -"lon" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing/corner{ - dir = 4 +"lom" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 }, -/turf/open/openspace, -/area/station/medical/cryo) +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "low" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -39658,6 +40178,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/openspace, /area/station/science/research) +"loy" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "loI" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -39684,13 +40210,6 @@ /obj/structure/disposalpipe/trunk/multiz, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"loW" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/trimline/yellow/filled/warning/corner{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "lpc" = ( /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/flora/bush/ferny/style_random, @@ -39742,14 +40261,6 @@ }, /turf/open/floor/wood, /area/station/security/courtroom) -"lqp" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 1 - }, -/obj/machinery/chem_heater/withbuffer, -/obj/structure/cable, -/turf/open/floor/iron/dark/smooth_corner, -/area/station/medical/pharmacy) "lqr" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -39766,13 +40277,6 @@ /obj/machinery/pipedispenser/disposal, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"lqA" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) "lqB" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -39832,17 +40336,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"lqZ" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, -/obj/machinery/iv_drip, -/obj/machinery/light/directional/south, -/obj/machinery/status_display/ai/directional/south, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "lrb" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/disposalpipe/segment, @@ -39861,12 +40354,6 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) -"lro" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "lrp" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -39881,19 +40368,6 @@ /obj/effect/decal/cleanable/greenglow, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"lrA" = ( -/obj/machinery/computer/station_alert{ - dir = 1 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/engine, -/area/station/command/heads_quarters/ce) -"lrJ" = ( -/obj/machinery/newscaster/directional/east, -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark/small, -/area/station/command/heads_quarters/ce) "lrM" = ( /obj/structure/cable, /turf/open/floor/engine/hull, @@ -39901,6 +40375,17 @@ "lrT" = ( /turf/open/floor/glass, /area/station/maintenance/starboard/lesser) +"lrY" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/bodycontainer/morgue{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured_corner{ + dir = 1 + }, +/area/station/medical/morgue) "lse" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/north, @@ -39951,15 +40436,37 @@ }, /turf/closed/wall, /area/station/command/heads_quarters/hop) +"ltw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/blue/warning{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 4 + }, +/area/station/medical/cryo) "ltC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"ltE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/abandoned) +"ltF" = ( +/obj/structure/table/wood/fancy/red, +/obj/effect/spawner/random/aimodule/harmful{ + pixel_y = 10 + }, +/obj/item/ai_module/reset/purge, +/obj/machinery/door/window/brigdoor/left/directional/north{ + req_access = list("ai_upload"); + name = "AI Modules" + }, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/turret_protected/ai_upload) "ltG" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -39988,6 +40495,13 @@ "lul" = ( /turf/closed/wall/r_wall, /area/space/nearstation) +"luv" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/carpet/cyan, +/area/station/command/heads_quarters/cmo) "luw" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -40042,6 +40556,17 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/space/basic, /area/station/solars/starboard/aft) +"lwd" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"lwe" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/engine, +/area/station/engineering/atmos/upper) "lwf" = ( /turf/open/floor/glass, /area/station/security/brig) @@ -40080,12 +40605,15 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"lwX" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) +"lxa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "lxh" = ( /obj/machinery/newscaster/directional/north, /obj/machinery/deepfryer, @@ -40169,11 +40697,6 @@ /obj/structure/closet/secure_closet/miner, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"lxX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) "lxY" = ( /obj/effect/turf_decal/bot_white, /obj/effect/decal/cleanable/dirt, @@ -40224,42 +40747,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/smooth_large, /area/station/security/brig) -"lyz" = ( -/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ - dir = 5 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) -"lyA" = ( -/obj/structure/table, -/obj/machinery/status_display/ai/directional/north, -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/ai_upload"; - name = "AI Upload Turret Control"; - pixel_x = 25; - req_access = list("minisat") - }, -/obj/item/book/manual/wiki/security_space_law{ - pixel_x = -4; - pixel_y = 2 - }, -/obj/item/book/manual/wiki/research_and_development{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/book/manual/wiki/robotics_cyborgs{ - pixel_x = -1; - pixel_y = 7 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/machinery/camera/autoname/directional/north{ - network = list("aiupload") - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload_foyer) "lyP" = ( /obj/structure/railing/corner, /obj/structure/cable, @@ -40293,11 +40780,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) -"lzp" = ( -/obj/machinery/photocopier/prebuilt, -/obj/item/storage/toolbox/electrical, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) "lzG" = ( /obj/effect/turf_decal/trimline/white/line{ dir = 8 @@ -40316,13 +40798,6 @@ }, /turf/open/floor/iron, /area/station/science/research) -"lzP" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/port) "lzR" = ( /obj/structure/closet/crate/trashcart/filled, /obj/machinery/light/very_dim/directional/north, @@ -40344,6 +40819,14 @@ "lAl" = ( /turf/closed/wall, /area/station/science/robotics/lab) +"lAn" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/obj/machinery/light_switch/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tcomms) "lAs" = ( /obj/machinery/camera/autoname/directional/east, /turf/open/openspace, @@ -40588,18 +41071,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"lCO" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Medbay Maintenance" - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port) "lCX" = ( /obj/structure/railing{ dir = 1 @@ -40664,10 +41135,6 @@ "lDE" = ( /turf/closed/wall, /area/station/commons/vacant_room/commissary) -"lEe" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/station/medical/medbay/central) "lEf" = ( /obj/structure/railing{ dir = 5 @@ -40866,11 +41333,6 @@ }, /turf/open/floor/iron/textured, /area/station/cargo/storage) -"lGF" = ( -/obj/structure/chair/office, -/obj/effect/turf_decal/trimline/yellow/filled/warning, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "lGT" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -40894,15 +41356,6 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"lHo" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "lHp" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -40937,6 +41390,14 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"lHW" = ( +/obj/structure/sign/warning/no_smoking/directional/west, +/obj/machinery/chem_dispenser, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/engine, +/area/station/medical/chemistry) "lHY" = ( /obj/effect/turf_decal/siding/brown{ dir = 4 @@ -40978,12 +41439,6 @@ /obj/effect/decal/cleanable/blood/oil/slippery, /turf/open/floor/plating, /area/station/engineering/storage_shared) -"lIC" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "lIM" = ( /obj/machinery/door/airlock/public/glass{ name = "Courtroom" @@ -40994,10 +41449,6 @@ }, /turf/open/floor/wood, /area/station/security/courtroom) -"lIS" = ( -/obj/effect/landmark/navigate_destination/chemfactory, -/turf/open/floor/engine/hull/air, -/area/station/medical/chemistry) "lIT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -41065,6 +41516,13 @@ }, /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) +"lJE" = ( +/obj/structure/ladder, +/obj/structure/railing, +/obj/effect/decal/cleanable/dirt, +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/maintenance/department/medical) "lJM" = ( /obj/structure/chair/stool/bar/directional/east, /obj/effect/landmark/start/hangover, @@ -41156,11 +41614,6 @@ "lLs" = ( /turf/open/floor/engine/hull/air, /area/station/science/research) -"lLu" = ( -/obj/machinery/power/tracker, -/obj/structure/lattice/catwalk, -/turf/open/space/basic, -/area/station/solars/starboard/fore) "lLy" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -41184,6 +41637,22 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) +"lLU" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 9 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) +"lLX" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "lLY" = ( /obj/effect/turf_decal/siding/thinplating_new, /obj/effect/turf_decal/loading_area{ @@ -41191,6 +41660,15 @@ }, /turf/open/floor/iron, /area/station/science/robotics) +"lMb" = ( +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical{ + name = "Medical Break Room" + }, +/turf/open/floor/iron/textured_large, +/area/station/medical/break_room) "lMe" = ( /obj/effect/turf_decal/siding/brown, /obj/structure/railing, @@ -41210,21 +41688,18 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/construction/storage_wing) -"lMx" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold/general/visible{ - dir = 1 - }, -/turf/open/openspace, -/area/station/medical/cryo) "lMy" = ( /obj/structure/bed/dogbed/ian, /mob/living/basic/pet/dog/corgi/ian, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) +"lMB" = ( +/obj/machinery/wall_healer/directional/north, +/obj/effect/turf_decal/box/white{ + color = "#52B4E9" + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/medbay/lobby) "lMD" = ( /obj/structure/bed, /obj/item/bedsheet/rd, @@ -41252,6 +41727,13 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/security/prison) +"lMM" = ( +/obj/machinery/porta_turret/ai{ + dir = 4 + }, +/obj/machinery/camera/autoname/motion/directional/south, +/turf/open/floor/circuit/red, +/area/station/ai_monitored/turret_protected/ai_upload) "lMS" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -41351,6 +41833,18 @@ }, /turf/open/openspace, /area/station/maintenance/port/aft) +"lNG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/obj/structure/showcase/machinery/cloning_pod{ + desc = "An old prototype cloning pod, permanently decommissioned following the incident."; + name = "decommissioned cloner" + }, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "lNQ" = ( /obj/structure/flora/bush/large, /turf/open/floor/grass, @@ -41377,6 +41871,19 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) +"lOa" = ( +/obj/machinery/door/airlock/medical{ + name = "Primary Surgical Theatre" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/surgery, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue/full, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/surgery) "lOd" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/decal/cleanable/dirt, @@ -41410,6 +41917,14 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"lOo" = ( +/obj/structure/sign/clock/directional/south, +/obj/structure/bed, +/obj/item/bedsheet/medical, +/obj/item/toy/plush/horse, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/glass, +/area/station/medical/patients_rooms/room_a) "lOy" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -41423,19 +41938,10 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/port) -"lPc" = ( -/obj/structure/chair/office/light{ +"lOX" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/pharmacy) "lPm" = ( @@ -41443,16 +41949,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/science/central) -"lPn" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/machinery/light_switch/directional/north, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/dark/textured_edge{ - dir = 8 - }, -/area/station/medical/morgue) "lPo" = ( /obj/structure/cable/multilayer/multiz, /turf/open/floor/iron/white/textured_large, @@ -41470,6 +41966,13 @@ /obj/structure/flora/bush/fullgrass/style_random, /turf/open/floor/grass, /area/station/hallway/primary/central) +"lPE" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/computer/atmos_control, +/turf/open/floor/engine/hull/reinforced/air, +/area/station/engineering/atmos/project) "lPS" = ( /obj/machinery/holopad, /turf/open/floor/iron/dark, @@ -41500,6 +42003,30 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) +"lQh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=5-Litterbox"; + location = "4-RnD" + }, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2 + }, +/obj/effect/mapping_helpers/mail_sorting/science/robotics, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) +"lQv" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "lQw" = ( /obj/structure/closet/secure_closet/cytology, /obj/effect/turf_decal/tile/dark_green/fourcorners, @@ -41518,13 +42045,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"lQV" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 6 - }, -/obj/machinery/holopad, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "lRd" = ( /obj/structure/railing, /obj/effect/turf_decal/trimline/brown/filled/line{ @@ -41605,15 +42125,6 @@ /obj/item/stack/spacecash/c1, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"lRM" = ( -/obj/structure/cable, -/obj/machinery/camera/autoname/directional/west, -/obj/structure/disposalpipe/segment, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark/small, -/area/station/command/heads_quarters/ce) "lRP" = ( /obj/effect/turf_decal/trimline/yellow/arrow_cw{ dir = 8 @@ -41642,6 +42153,18 @@ }, /turf/open/floor/iron, /area/station/science/robotics) +"lSs" = ( +/obj/machinery/photocopier/prebuilt, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/engine, +/area/station/command/heads_quarters/ce) +"lSE" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "lSH" = ( /obj/structure/cable, /obj/structure/table, @@ -41654,12 +42177,6 @@ }, /turf/open/floor/carpet/royalblack, /area/station/command/heads_quarters/hos) -"lSJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/directional/east, -/obj/machinery/light_switch/directional/east, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) "lSL" = ( /obj/structure/railing/corner, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -41722,31 +42239,10 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"lTB" = ( -/obj/machinery/firealarm/directional/west, -/obj/structure/rack, -/obj/item/radio{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/item/radio{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/radio, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "lTD" = ( /obj/machinery/light/directional/south, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) -"lTE" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Atmospherics - co2 Cell"; - name = "atmospherics camera" - }, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos/upper) "lTH" = ( /obj/structure/lattice/catwalk, /turf/open/openspace, @@ -41761,16 +42257,6 @@ }, /turf/open/floor/catwalk_floor/iron_white, /area/station/ai_monitored/turret_protected/aisat_interior) -"lUn" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/textured_large, -/area/station/medical/virology) "lUp" = ( /obj/machinery/door/airlock/external, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -41783,25 +42269,19 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/openspace, /area/station/engineering/lobby) -"lUI" = ( -/obj/structure/table/glass, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 +"lUD" = ( +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/effect/mapping_helpers/dead_body_placer, +/turf/open/floor/iron/dark/textured_edge{ + dir = 1 }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, -/obj/item/hemostat{ - pixel_x = 4 - }, -/obj/item/hemostat, -/obj/item/clothing/gloves/latex{ - pixel_y = 6 - }, -/obj/item/clothing/gloves/latex, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) +/area/station/medical/morgue) +"lUG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) "lUM" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -41845,12 +42325,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/command) -"lVs" = ( -/obj/structure/disposalpipe/trunk/multiz{ - dir = 8 - }, -/turf/closed/wall, -/area/station/maintenance/port) "lVt" = ( /obj/effect/turf_decal/tile/dark{ dir = 8 @@ -41987,6 +42461,12 @@ /obj/effect/decal/cleanable/greenglow, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"lXn" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/turret_protected/ai_upload_foyer) "lXz" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/engine, @@ -41999,22 +42479,6 @@ }, /turf/open/floor/plating/airless, /area/station/maintenance/starboard/lesser) -"lXD" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/turf/open/openspace, -/area/station/medical/cryo) -"lXG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/freezer/blood, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "lXK" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/wood{ @@ -42022,15 +42486,6 @@ }, /turf/open/floor/wood, /area/station/engineering/lobby) -"lXM" = ( -/obj/effect/turf_decal/siding/blue/corner{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "lXQ" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -42038,30 +42493,6 @@ /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"lXU" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/button/elevator/directional/east{ - id = "catwalk_atmos"; - name = "Elevator Button" - }, -/turf/open/floor/engine, -/area/station/engineering/atmos/project) -"lXX" = ( -/obj/machinery/stasis, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 4 - }, -/obj/machinery/defibrillator_mount/directional/east, -/obj/machinery/status_display/evac/directional/south, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "lYe" = ( /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -42093,6 +42524,11 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"lYl" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "lYr" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -42106,11 +42542,6 @@ /obj/structure/chair/stool/directional/west, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) -"lYy" = ( -/obj/machinery/airalarm/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "lYB" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 4 @@ -42126,6 +42557,37 @@ "lYC" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/command/storage/satellite) +"lYD" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/yellow/full, +/obj/item/reagent_containers/cup/bottle/morphine{ + pixel_x = -1; + pixel_y = 4 + }, +/obj/item/reagent_containers/cup/bottle/toxin{ + pixel_x = 5; + pixel_y = 3 + }, +/obj/item/reagent_containers/syringe/epinephrine{ + pixel_x = -3; + pixel_y = 6 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/right/directional/east{ + name = "Pharmacy Desk"; + req_access = list("pharmacy") + }, +/obj/machinery/door/window/right/directional/west{ + name = 4; + req_access = list("medical") + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "chemshutters"; + name = "Pharmacy Shutters" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "lYT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -42168,11 +42630,22 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) +"lZr" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "lZM" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/stairs/south, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"lZO" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/machinery/light/small/directional/east, +/turf/open/floor/wood/large, +/area/station/medical/break_room) "lZQ" = ( /turf/open/floor/catwalk_floor, /area/station/maintenance/starboard/fore) @@ -42332,6 +42805,20 @@ /obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/service/kitchen/coldroom) +"mcs" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/floor{ + color = "#66ccff" + }, +/obj/item/wrench/medical, +/turf/open/floor/iron/kitchen_coldroom/freezerfloor, +/area/station/medical/coldroom) "mcB" = ( /obj/structure/table/wood, /obj/item/food/grown/poppy{ @@ -42349,27 +42836,25 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/service/chapel) -"mcC" = ( -/obj/structure/lattice/catwalk, -/obj/structure/table/glass, -/obj/item/wrench/medical{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/item/reagent_containers/cup/beaker/cryoxadone{ - pixel_x = 6; - pixel_y = 12 - }, -/obj/item/reagent_containers/cup/beaker/cryoxadone{ - pixel_x = 10; +"mcG" = ( +/obj/structure/table, +/obj/item/clothing/gloves/color/yellow{ pixel_y = 6 }, -/obj/item/reagent_containers/cup/beaker/cryoxadone{ - pixel_x = -7; - pixel_y = 4 +/obj/item/storage/toolbox/electrical{ + pixel_x = 1; + pixel_y = -1 }, -/turf/open/openspace, -/area/station/medical/cryo) +/obj/item/storage/toolbox/electrical{ + pixel_x = 1; + pixel_y = -1 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "mcR" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -42520,11 +43005,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"mev" = ( -/obj/structure/table, -/obj/item/storage/toolbox/emergency, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/aft) "meE" = ( /obj/machinery/camera/autoname/directional/east, /obj/effect/turf_decal/stripes/line{ @@ -42570,6 +43050,21 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"mfb" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/closet/secure_closet/medical3, +/obj/item/clothing/gloves/latex/nitrile, +/obj/item/defibrillator/loaded, +/obj/item/clothing/glasses/hud/health{ + pixel_y = 13 + }, +/obj/item/clothing/gloves/latex/nitrile, +/obj/effect/turf_decal/bot_white{ + color = "#52B4E9" + }, +/obj/item/clothing/gloves/latex/nitrile, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "mff" = ( /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, @@ -42594,15 +43089,6 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) -"mfs" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white/textured_corner{ - dir = 8 - }, -/area/station/medical/surgery) "mfw" = ( /obj/structure/cannon{ dir = 8 @@ -42641,14 +43127,17 @@ /obj/effect/mapping_helpers/requests_console/assistance, /turf/open/floor/catwalk_floor/iron_dark, /area/station/cargo/bitrunning/den) -"mgh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron, -/area/station/hallway/secondary/construction) +"mgn" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, +/obj/machinery/airalarm/directional/south, +/obj/machinery/chem_dispenser, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) +"mgo" = ( +/obj/machinery/holopad, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) "mgu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -42709,6 +43198,34 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/glass/reinforced, /area/station/construction/storage_wing) +"mhq" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/siding/blue, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"mhA" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/mid_joiner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/textured_large, +/area/station/medical/virology) "mhI" = ( /obj/structure/table/reinforced, /obj/item/paper_bin{ @@ -42900,6 +43417,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/space_hut) +"mkh" = ( +/obj/effect/mapping_helpers/airlock/access/all/medical/pharmacy, +/obj/effect/turf_decal/tile/yellow/full, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical{ + name = "Chemical Storage" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/chem_storage) "mkq" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/glass, @@ -42951,6 +43477,17 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) +"mlj" = ( +/obj/structure/table, +/obj/item/aicard, +/obj/item/ai_module/reset, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "mlL" = ( /obj/structure/kitchenspike, /obj/machinery/power/apc/auto_name/directional/west, @@ -42968,6 +43505,13 @@ /obj/machinery/vending/cigarette, /turf/open/floor/wood, /area/station/commons/fitness/recreation) +"mmg" = ( +/obj/effect/landmark/start/medical_doctor, +/obj/effect/turf_decal/trimline/blue/warning{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/surgery) "mmi" = ( /obj/machinery/camera/directional/north{ c_tag = "Holodeck - Fore"; @@ -42994,6 +43538,18 @@ /obj/structure/cable, /turf/open/openspace, /area/station/engineering/atmos/project) +"mmF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","medbay"); + c_tag = "Medbay - Lower Virology East Hallway" + }, +/obj/item/radio/intercom/directional/east, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/textured_large, +/area/station/medical/virology) "mmS" = ( /obj/machinery/light/small/broken, /turf/closed/wall/r_wall, @@ -43043,6 +43599,14 @@ /obj/structure/rack, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) +"mns" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/holopad, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "mnu" = ( /obj/structure/chair, /turf/open/floor/iron/dark/smooth_large, @@ -43061,6 +43625,21 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/wood/tile, /area/station/security/detectives_office/private_investigators_office) +"mnN" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/airlock/medical{ + name = "Medbay Storage" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue/full, +/turf/open/floor/iron/white, +/area/station/medical/storage) "mnQ" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -43122,6 +43701,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/ai_monitored/command/storage/satellite) +"moW" = ( +/obj/structure/reagent_dispensers/wall/peppertank/directional/east, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/effect/landmark/start/depsec/medical, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) "mpd" = ( /obj/machinery/vatgrower{ dir = 4 @@ -43137,6 +43724,14 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/engine/hull/reinforced/air, /area/station/maintenance/port) +"mpi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/blue/full, +/obj/effect/turf_decal/tile/dark/full, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/floor/broken, +/turf/open/floor/iron/smooth_large, +/area/station/maintenance/department/medical) "mpl" = ( /obj/effect/turf_decal/siding/blue{ dir = 9 @@ -43153,6 +43748,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/security/interrogation) +"mpn" = ( +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/item/radio/intercom/directional/north, +/obj/structure/showcase/machinery/oldpod{ + desc = "An old NT branded sleeper, decommissioned after the lead acetate incident. None of the functional machinery remains inside."; + name = "decommissioned sleeper" + }, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "mpt" = ( /obj/structure/table, /obj/item/multitool{ @@ -43166,19 +43772,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/carpet, /area/station/commons/storage/tools) -"mpz" = ( -/obj/effect/turf_decal/tile/dark/half{ - dir = 1 - }, -/obj/machinery/meter{ - name = "C02 meter" - }, -/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ - name = "CO2 Multideck Adapter"; - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "mpB" = ( /obj/machinery/door/airlock/command{ name = "Gateway Atrium" @@ -43246,6 +43839,19 @@ }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) +"mqq" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/blue/corner{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "mqt" = ( /obj/effect/turf_decal/tile/red/opposingcorners, /obj/structure/sign/poster/official/obey/directional/north, @@ -43273,14 +43879,6 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/carpet, /area/station/security/courtroom) -"mqQ" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/effect/landmark/navigate_destination/med, -/mob/living/basic/bot/medbot, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "mqT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/computer/shuttle/mining/common{ @@ -43349,11 +43947,6 @@ /obj/machinery/atmospherics/components/tank, /turf/open/floor/iron/dark/textured_half, /area/station/science/ordnance/storage) -"mrE" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/command/heads_quarters/cmo) "mrM" = ( /obj/machinery/light/directional/south, /obj/structure/disposalpipe/segment{ @@ -43373,13 +43966,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"mrQ" = ( -/obj/machinery/holopad, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "mrS" = ( /obj/structure/ladder, /obj/effect/decal/cleanable/dirt, @@ -43396,6 +43982,19 @@ dir = 1 }, /area/station/science/robotics/lab) +"msh" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/structure/table, +/obj/item/toy/figure/paramedic{ + pixel_x = null + }, +/turf/open/floor/glass, +/area/station/medical/medbay/central) "msm" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, @@ -43425,27 +44024,24 @@ }, /turf/open/floor/iron/dark, /area/station/science/lobby) -"msF" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) -"msH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "msK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"msY" = ( +/obj/machinery/cryo_cell, +/obj/effect/turf_decal/bot_white{ + color = "#52B4E9" + }, +/turf/open/floor/iron/dark/textured, +/area/station/medical/cryo) +"mtd" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "mtg" = ( /obj/structure/sign/poster/official/soft_cap_pop_art/directional/west, /turf/open/openspace, @@ -43527,13 +44123,6 @@ /obj/structure/closet/crate/goldcrate, /turf/open/floor/glass/reinforced, /area/station/ai_monitored/command/nuke_storage) -"mtJ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/poster/contraband/random/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "mtP" = ( /obj/item/knife/kitchen{ pixel_x = 10; @@ -43670,17 +44259,6 @@ /obj/machinery/door/window/right/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"mvq" = ( -/obj/structure/table, -/obj/item/book/manual/wiki/security_space_law{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/machinery/cell_charger, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) "mvu" = ( /obj/effect/turf_decal/trimline/dark, /obj/machinery/airalarm/directional/west, @@ -43703,18 +44281,14 @@ /obj/machinery/holopad, /turf/open/floor/wood/large, /area/station/service/library) -"mwd" = ( -/obj/structure/railing/corner{ - dir = 1 +"mvM" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/machinery/door/airlock/medical{ - name = "Medbay Storage" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/textured_large, +/area/station/medical/virology) +"mvV" = ( /turf/open/floor/iron/dark/textured_large, /area/station/medical/storage) "mwh" = ( @@ -43753,11 +44327,6 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/service/lawoffice) -"mwF" = ( -/obj/effect/turf_decal/bot, -/obj/structure/sign/warning/fire/directional/east, -/turf/open/floor/iron/dark/textured_large, -/area/station/engineering/atmos/upper) "mwL" = ( /obj/effect/turf_decal/bot_white/left, /turf/open/floor/iron/dark/textured_large, @@ -43852,21 +44421,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"myh" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "mym" = ( /obj/effect/turf_decal/siding/dark, /obj/effect/turf_decal/siding/dark{ @@ -43883,13 +44437,6 @@ "myx" = ( /turf/closed/wall, /area/station/service/library/private) -"myC" = ( -/turf/closed/wall, -/area/station/solars/starboard/fore) -"myD" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/white, -/area/station/medical/abandoned) "myJ" = ( /obj/structure/railing{ dir = 8 @@ -43906,23 +44453,6 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"myR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/showcase/machinery/oldpod{ - desc = "An old NT branded sleeper, decommissioned after the lead acetate incident. None of the functional machinery remains inside."; - dir = 1; - name = "decommissioned sleeper" - }, -/obj/effect/decal/cleanable/greenglow, -/turf/open/floor/iron/white, -/area/station/medical/abandoned) -"mza" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) "mzh" = ( /obj/structure/disposaloutlet{ dir = 4 @@ -43932,6 +44462,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal) +"mzp" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/openspace, +/area/station/medical/medbay/central) "mzA" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44090,6 +44630,14 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"mCn" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/medical/break_room) "mCw" = ( /obj/structure/chair/stool/bar/directional/west, /obj/effect/landmark/start/hangover, @@ -44101,19 +44649,6 @@ }, /turf/open/floor/wood/large, /area/station/commons/lounge) -"mCM" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ - dir = 8 - }, -/obj/machinery/shower/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/pharmacy) "mDd" = ( /obj/effect/mapping_helpers/burnt_floor, /obj/structure/rack, @@ -44126,17 +44661,6 @@ "mDk" = ( /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"mDm" = ( -/obj/item/trash/can{ - pixel_x = -8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/fore) "mDo" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -44153,30 +44677,6 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/wood, /area/station/command/meeting_room/council) -"mDz" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/obj/structure/rack, -/obj/item/book/manual/wiki/chemistry{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/book/manual/wiki/grenades{ - pixel_y = 1 - }, -/obj/item/book/manual/wiki/plumbing{ - pixel_x = 4; - pixel_y = -2 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) "mDD" = ( /obj/machinery/atmospherics/pipe/multiz/orange/visible{ dir = 4 @@ -44205,27 +44705,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) -"mDX" = ( -/obj/machinery/door/airlock/virology{ - autoclose = 0; - frequency = 1449; - id_tag = "virology_airlock_exterior"; - name = "Malpractice Tower Exterior Airlock" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "viro-passthrough" - }, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/medical/virology, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "mDZ" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 4 @@ -44245,6 +44724,13 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"mEr" = ( +/obj/structure/table, +/obj/machinery/coffeemaker, +/obj/item/reagent_containers/cup/coffeepot, +/obj/item/storage/box/coffeepack, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "mEv" = ( /obj/structure/lattice/catwalk, /obj/effect/landmark/firealarm_sanity, @@ -44275,27 +44761,38 @@ }, /turf/open/floor/iron/checker, /area/station/ai_monitored/command/storage/satellite) +"mER" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/landmark/start/chemist, +/obj/structure/chair/office/light, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) +"mFk" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 + }, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "mFA" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/dim/directional/south, /turf/open/floor/iron, /area/station/service/kitchen/abandoned) -"mFR" = ( -/obj/effect/turf_decal/tile/red/opposingcorners{ +"mFS" = ( +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/effect/landmark/start/depsec/medical, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) -"mFU" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/south, -/obj/machinery/air_sensor/plasma_tank, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos/upper) +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "mGb" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 @@ -44356,10 +44853,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/smooth, /area/station/science/robotics) -"mHt" = ( +"mHu" = ( /obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/directional/north, /turf/open/openspace, -/area/station/medical/chemistry) +/area/station/engineering/atmos/project) "mHx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, @@ -44423,15 +44924,6 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"mHY" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tcomms) "mHZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/power/apc/auto_name/directional/east, @@ -44551,16 +45043,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/maintenance/starboard/lesser) -"mJg" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/light/directional/west, -/obj/machinery/camera/autoname/directional/west{ - c_tag = "Medbay - Lower South Hallway" - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "mJl" = ( /obj/machinery/door/firedoor, /turf/open/floor/engine/hull/air, @@ -44590,10 +45072,6 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating/airless, /area/station/maintenance/port/aft) -"mJQ" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/upper) "mKk" = ( /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, @@ -44612,36 +45090,11 @@ /obj/effect/mapping_helpers/airlock/access/any/science/ordnance_storage, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) -"mKs" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 8 - }, -/obj/structure/bed/pod{ - desc = "An old medical bed, just waiting for replacement with something up to date."; - name = "medical bed" - }, -/obj/machinery/defibrillator_mount/directional/south, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) -"mKv" = ( -/obj/effect/landmark/firealarm_sanity, -/turf/open/floor/engine/hull/air, -/area/station/medical/chemistry) "mKF" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"mKK" = ( -/obj/machinery/light/directional/west, -/obj/effect/mapping_helpers/burnt_floor, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "mKN" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44686,6 +45139,20 @@ "mLm" = ( /turf/closed/wall, /area/station/hallway/secondary/construction) +"mLG" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/table/wood/fancy/blue, +/obj/effect/spawner/random/aimodule/neutral{ + pixel_y = 10 + }, +/obj/effect/spawner/random/aimodule/neutral{ + pixel_x = 3; + pixel_y = -3 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/turret_protected/ai_upload) "mLH" = ( /obj/effect/turf_decal/siding/brown, /obj/structure/table/reinforced, @@ -44711,14 +45178,6 @@ "mLS" = ( /turf/open/openspace, /area/station/engineering/break_room) -"mLZ" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/item/kirbyplants/random, -/obj/machinery/light_switch/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tcomms) "mMb" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -44726,6 +45185,27 @@ }, /turf/open/openspace, /area/station/command/bridge) +"mMk" = ( +/obj/structure/sign/clock/directional/north, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/siding/dark_blue{ + dir = 8 + }, +/turf/open/floor/carpet/blue, +/area/station/medical/break_room) +"mMp" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 8 + }, +/obj/structure/chair/office/light{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "mMx" = ( /obj/structure/window/reinforced/tinted/spawner/directional/south, /obj/structure/window/reinforced/tinted/spawner/directional/east, @@ -44767,6 +45247,10 @@ /obj/effect/decal/cleanable/blood/oil, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"mNg" = ( +/obj/machinery/holopad, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "mNj" = ( /obj/structure/sign/warning/vacuum/external/directional/south, /turf/open/floor/plating, @@ -44782,6 +45266,13 @@ }, /turf/open/floor/iron/checker, /area/station/service/janitor) +"mNo" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/closet/l3closet, +/turf/open/floor/iron/textured_large, +/area/station/medical/virology) "mNp" = ( /obj/structure/lattice/catwalk, /obj/structure/ladder, @@ -44839,22 +45330,6 @@ /obj/item/kirbyplants/random/fullysynthetic, /turf/open/floor/iron/smooth, /area/station/engineering/atmos/upper) -"mOx" = ( -/obj/structure/bed/dogbed/runtime, -/obj/item/toy/figure/cmo{ - pixel_x = -7; - pixel_y = -4 - }, -/mob/living/basic/pet/cat/runtime, -/obj/structure/cable, -/obj/machinery/firealarm/directional/west, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/camera/autoname/directional/south{ - c_tag = "Medbay - Upper Chief Medical Office South"; - network = list("ss13","medbay") - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "mOE" = ( /obj/effect/turf_decal/trimline/yellow/warning, /obj/structure/railing, @@ -44944,6 +45419,13 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) +"mPS" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "mPV" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -44959,6 +45441,14 @@ /obj/machinery/door/firedoor, /turf/open/floor/engine/hull/air, /area/station/hallway/secondary/construction) +"mQz" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "mQS" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -44997,13 +45487,6 @@ /obj/effect/landmark/firealarm_sanity, /turf/open/openspace, /area/station/hallway/secondary/entry) -"mRn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/cigbutt/cigarbutt, -/obj/effect/spawner/random/trash/mess, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/abandoned) "mRq" = ( /obj/machinery/door/airlock/public/glass{ name = "Laundromat" @@ -45111,32 +45594,18 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/openspace, /area/station/hallway/primary/fore) +"mSZ" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, +/obj/structure/closet/l3closet, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "mTi" = ( /obj/item/banhammer, /obj/effect/turf_decal/tile/purple/opposingcorners, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/aft) -"mTp" = ( -/obj/structure/table, -/obj/machinery/status_display/evac/directional/north, -/obj/item/paper{ - pixel_y = 4 - }, -/obj/item/phone{ - pixel_x = -5; - pixel_y = 11 - }, -/obj/item/pen/blue{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/item/stamp{ - pixel_x = 13; - pixel_y = 12 - }, -/obj/machinery/computer/security/telescreen/aiupload/directional/west, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload_foyer) "mTq" = ( /obj/structure/chair{ dir = 1 @@ -45152,6 +45621,15 @@ }, /turf/open/floor/wood/large, /area/station/service/kitchen) +"mTE" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "mTH" = ( /obj/structure/sign/warning/secure_area/directional/south, /turf/open/floor/plating/airless, @@ -45165,29 +45643,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"mUi" = ( -/obj/structure/closet/emcloset, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/sepia, -/area/station/hallway/secondary/construction) -"mUm" = ( -/obj/machinery/chem_heater/withbuffer, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) -"mUv" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/openspace, -/area/station/medical/storage) "mUC" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -45231,15 +45686,17 @@ /obj/structure/cable, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) -"mVa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ +"mVd" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) +/obj/machinery/shower/directional/east, +/obj/effect/turf_decal/siding/blue/end{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/full, +/turf/open/floor/iron/showroomfloor, +/area/station/medical/chemistry) "mVm" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, @@ -45274,18 +45731,20 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/space/openspace, /area/space/nearstation) +"mVE" = ( +/obj/structure/transport/linear{ + radial_travel = 0 + }, +/obj/machinery/elevator_control_panel/directional/south{ + linked_elevator_id = "catwalk_engi"; + preset_destination_names = list("2"="Lower Engine","3"="Upper Engine.") + }, +/turf/open/openspace, +/area/station/engineering/break_room) "mVM" = ( /obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/monitored/air_output, /turf/open/floor/engine/air, /area/station/engineering/atmos/upper) -"mVX" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/directional/north, -/turf/open/openspace, -/area/station/engineering/atmos/project) "mWu" = ( /obj/effect/spawner/random/maintenance, /turf/open/floor/glass, @@ -45356,13 +45815,6 @@ dir = 8 }, /area/station/science/cytology) -"mWX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/poster/ripped/directional/south, -/obj/structure/cable, -/turf/open/floor/iron/smooth_large, -/area/station/maintenance/department/medical) "mXl" = ( /obj/structure/broken_flooring/singular/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -45379,6 +45831,16 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel/office) +"mXw" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/blue, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "mXL" = ( /obj/effect/turf_decal/weather/snow, /turf/open/floor/plating, @@ -45447,17 +45909,6 @@ }, /turf/open/openspace, /area/station/engineering/break_room) -"mYk" = ( -/obj/structure/table, -/obj/item/wirecutters, -/obj/item/screwdriver{ - pixel_y = 16 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "mYm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -45487,39 +45938,16 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"mYN" = ( -/obj/structure/closet/firecloset, -/obj/effect/landmark/start/hangover, +"mYU" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, /turf/open/floor/iron, -/area/station/commons/fitness/recreation) +/area/station/hallway/primary/aft) "mYV" = ( /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/floor/grass, /area/station/science/cytology) -"mYZ" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/item/reagent_containers/syringe/epinephrine{ - pixel_x = -3; - pixel_y = 6 - }, -/obj/item/reagent_containers/cup/bottle/morphine{ - pixel_x = -1; - pixel_y = 4 - }, -/obj/item/reagent_containers/cup/bottle/toxin{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/effect/turf_decal/tile/yellow/full, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 1; - id = "chemshutters"; - name = "Chemistry Shutters" - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/pharmacy) "mZc" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/railing{ @@ -45572,15 +46000,6 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/openspace, /area/station/hallway/primary/central) -"mZZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "naa" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -45630,11 +46049,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/service/kitchen) -"naJ" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/turf/open/space/basic, -/area/space/nearstation) "naR" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/glass, @@ -45660,6 +46074,11 @@ }, /turf/open/floor/wood, /area/station/security/detectives_office) +"naX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "nbb" = ( /obj/structure/table/reinforced, /obj/item/flashlight/lamp{ @@ -45690,6 +46109,16 @@ }, /turf/open/floor/wood/large, /area/station/commons/lounge) +"nbP" = ( +/obj/structure/rack, +/obj/item/circuitboard/machine/oven{ + pixel_y = -3 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "nbY" = ( /obj/structure/table, /obj/effect/turf_decal/siding/wood{ @@ -45714,12 +46143,6 @@ /obj/item/storage/box/lights/mixed, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"ncB" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/obj/machinery/meter, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "ncF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, /obj/structure/lattice/catwalk, @@ -45734,6 +46157,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"ncJ" = ( +/obj/effect/turf_decal/siding/brown, +/obj/structure/closet/athletic_mixed, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation) "ncO" = ( /turf/open/floor/glass/reinforced, /area/station/hallway/secondary/entry) @@ -45754,9 +46183,11 @@ dir = 4 }, /area/station/engineering/main) -"nde" = ( -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) +"ndg" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/turf/open/floor/iron/dark/textured_large, +/area/station/engineering/atmos/upper) "ndl" = ( /obj/item/radio/intercom/directional/north, /obj/machinery/module_duplicator, @@ -45789,19 +46220,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) -"ndT" = ( -/obj/machinery/door/airlock/command{ - name = "Chief Engineer's Office" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/engineering/ce, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "ndY" = ( /obj/effect/turf_decal/siding/purple, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -45811,6 +46229,17 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/science/lab) +"neb" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/light_switch/directional/south, +/obj/machinery/computer/operating{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_corner{ + dir = 4 + }, +/area/station/medical/surgery) "nec" = ( /obj/effect/spawner/random/structure/steam_vent, /obj/structure/cable, @@ -45826,22 +46255,13 @@ /turf/open/floor/iron/dark, /area/station/command/corporate_showroom) "nek" = ( -/obj/machinery/light/directional/east, -/obj/machinery/atmospherics/components/unary/thermomachine/heater{ - dir = 4 +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 }, -/turf/open/floor/glass/reinforced/plasma, -/area/station/engineering/atmos/project) -"nen" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Medbay Maintenance" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port) +/obj/structure/cable, +/turf/open/floor/iron/dark/textured, +/area/station/medical/morgue) "ney" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/warning{ dir = 1 @@ -46020,6 +46440,17 @@ "ngH" = ( /turf/closed/wall/r_wall, /area/station/engineering/break_room) +"ngP" = ( +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/showcase/machinery/cloning_pod{ + desc = "An old prototype cloning pod, permanently decommissioned following the incident."; + name = "decommissioned cloner" + }, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "ngQ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -46046,6 +46477,25 @@ /obj/effect/mapping_helpers/mail_sorting/service/law_office, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"nho" = ( +/obj/item/construction/plumbing{ + pixel_x = -7; + pixel_y = 6 + }, +/obj/item/construction/plumbing, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/structure/table, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) +"nhz" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/engineering/lobby) "nhE" = ( /obj/structure/sign/poster/contraband/communist_state/directional/north, /obj/effect/decal/cleanable/crayon{ @@ -46117,14 +46567,26 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"niq" = ( -/obj/structure/rack, -/obj/effect/spawner/random/techstorage/custom_shuttle, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ +"nic" = ( +/obj/structure/transport/linear{ + radial_travel = 0 + }, +/obj/structure/railing/corner/end{ + dir = 8 + }, +/turf/open/openspace, +/area/station/engineering/atmos/project) +"nif" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "nir" = ( /obj/machinery/status_display/ai/directional/east, /turf/open/floor/iron/dark, @@ -46133,29 +46595,6 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"niv" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/openspace, -/area/station/medical/storage) -"niy" = ( -/obj/structure/rack, -/obj/item/plunger, -/turf/open/floor/wood, -/area/station/medical/medbay/central) -"niF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/hfr_room) "niN" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -46221,6 +46660,15 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) +"nkv" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "nky" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/warning{ dir = 8 @@ -46321,6 +46769,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"nlS" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "nmf" = ( /obj/structure/cable, /turf/open/floor/iron/textured_large, @@ -46381,27 +46840,17 @@ }, /turf/open/floor/wood/large, /area/station/service/library) -"nng" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/effect/landmark/start/depsec/medical, -/obj/machinery/requests_console/directional/north{ - department = "Security"; - name = "Security Requests Console"; - pixel_x = -30; - pixel_y = 0 - }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/supplies, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) "nns" = ( /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"nnx" = ( +/obj/machinery/light_switch/directional/west, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "nny" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment, @@ -46543,18 +46992,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"noH" = ( -/obj/structure/rack, -/obj/item/circuitboard/computer/apc_control{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/stock_parts/power_store/cell{ - pixel_x = -3; - pixel_y = -2 - }, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/aft) "noI" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -46592,6 +47029,12 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/lab) +"noM" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2o{ + dir = 8 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "noU" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /obj/effect/turf_decal/siding/red{ @@ -46623,6 +47066,12 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/storage_shared) +"npk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "npx" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, @@ -46672,9 +47121,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"npR" = ( -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) "npS" = ( /obj/item/stack/sheet/mineral/wood{ pixel_x = -12; @@ -46690,6 +47136,10 @@ }, /turf/open/floor/iron/dark, /area/station/security/evidence) +"nqf" = ( +/obj/machinery/light/directional/south, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) "nqg" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -46790,6 +47240,12 @@ /obj/machinery/holopad, /turf/open/floor/carpet, /area/station/command/corporate_showroom) +"nrj" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/plasma{ + dir = 8 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "nrw" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -46820,6 +47276,10 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"nrZ" = ( +/obj/effect/spawner/random/engineering/tracking_beacon, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "nsp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /obj/machinery/meter, @@ -46827,14 +47287,11 @@ /obj/machinery/portable_atmospherics/canister, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"nsx" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, +"nsD" = ( +/obj/machinery/power/tracker, /obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/station/engineering/atmos/project) +/turf/open/space/basic, +/area/station/solars/starboard/fore) "nsI" = ( /obj/structure/disposalpipe/trunk/multiz{ dir = 8 @@ -46894,6 +47351,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/textured_large, /area/station/security/prison) +"ntm" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "ntn" = ( /obj/effect/turf_decal/siding/wood/end{ dir = 8 @@ -46992,12 +47461,6 @@ dir = 4 }, /area/station/hallway/primary/fore) -"nuU" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "nuZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -47019,13 +47482,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"nvn" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/openspace, -/area/station/medical/chemistry) "nvp" = ( /obj/structure/lattice/catwalk, /obj/structure/railing, @@ -47149,12 +47605,27 @@ /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"nwO" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +"nwN" = ( +/obj/effect/turf_decal/trimline/blue/warning, +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/co2{ dir = 8 }, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 4 + }, +/area/station/medical/cryo) +"nwO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/structure/cable, /turf/open/floor/iron/dark, -/area/station/engineering/break_room) +/area/station/security/checkpoint/medical) "nwQ" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 5 @@ -47163,12 +47634,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/iron/textured, /area/station/cargo/storage) -"nwR" = ( -/obj/effect/turf_decal/tile/dark/half{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "nwT" = ( /obj/structure/table/glass, /obj/item/storage/box/shipping{ @@ -47363,17 +47828,15 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) -"nzj" = ( -/obj/machinery/chem_master, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 +"nzr" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 4 +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/pharmacy) +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "nzy" = ( /obj/structure/closet/crate/trashcart/filled, /obj/structure/sign/poster/contraband/random/directional/west, @@ -47396,6 +47859,18 @@ }, /turf/open/openspace, /area/station/engineering/break_room) +"nzL" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/airlock/public/glass{ + name = "Medbay" + }, +/obj/effect/turf_decal/tile/blue/full, +/obj/effect/landmark/navigate_destination/med, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "nzZ" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, @@ -47435,6 +47910,18 @@ /obj/structure/closet/crate/trashcart/filled, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"nAy" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/medical, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "nAA" = ( /obj/structure/sign/poster/random/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -47551,6 +48038,19 @@ }, /turf/open/floor/iron/white/smooth_corner, /area/station/hallway/secondary/entry) +"nBH" = ( +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/engine, +/area/station/engineering/atmos/upper) +"nBS" = ( +/obj/structure/closet, +/obj/effect/landmark/start/hangover, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/construction) "nCc" = ( /obj/effect/decal/cleanable/blood/drip, /turf/open/floor/plating, @@ -47582,15 +48082,6 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"nCr" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tcomms) "nCt" = ( /obj/machinery/modular_computer/preset/civilian{ dir = 1 @@ -47607,22 +48098,6 @@ /obj/item/storage/toolbox/emergency, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"nCw" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/rack, -/obj/effect/spawner/random/aimodule/harmless{ - pixel_x = 2; - pixel_y = 4 - }, -/obj/effect/spawner/random/aimodule/harmless{ - pixel_x = -3; - pixel_y = -2 - }, -/obj/effect/decal/cleanable/generic, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) "nCx" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/sorting/mail/flip{ @@ -47645,6 +48120,19 @@ /obj/effect/turf_decal/bot_white, /turf/open/floor/iron/dark/smooth_large, /area/station/science/lab) +"nCK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/structure/rack, +/obj/item/clothing/gloves/color/blue{ + desc = "An old pair of nitrile gloves, with no sterile properties."; + name = "old nitrile gloves" + }, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "nCM" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, @@ -47657,6 +48145,15 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"nCR" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "nDe" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -47693,18 +48190,6 @@ /obj/item/pai_card, /turf/open/floor/wood, /area/station/commons/fitness/recreation) -"nDK" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/vending/wardrobe/medi_wardrobe, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/north{ - c_tag = "Medbay - Upper Medical Storage North" - }, -/obj/machinery/light_switch/directional/north, -/turf/open/openspace, -/area/station/medical/storage) "nDS" = ( /obj/effect/turf_decal/siding/blue, /obj/effect/turf_decal/siding/blue{ @@ -47729,6 +48214,15 @@ /obj/effect/landmark/start/hangover, /turf/open/openspace, /area/station/hallway/primary/fore) +"nEc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "nEq" = ( /obj/structure/table/wood, /obj/item/food/grown/harebell, @@ -47738,13 +48232,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured, /area/station/maintenance/starboard/lesser) -"nEH" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/trimline/yellow/filled/warning/corner{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "nEM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -47770,6 +48257,17 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"nFs" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/computer/crew{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/office) "nFx" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -47791,13 +48289,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) -"nFD" = ( -/obj/machinery/holopad, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/medical/break_room) "nFE" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/multiz/yellow/visible{ @@ -47842,6 +48333,12 @@ /obj/structure/sign/poster/contraband/random/directional/south, /turf/open/floor/engine/hull/air, /area/station/construction/storage_wing) +"nGa" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/sepia, +/area/station/hallway/secondary/construction) "nGm" = ( /obj/effect/turf_decal/bot, /obj/effect/spawner/random/structure/billboard/nanotrasen{ @@ -47976,6 +48473,16 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_recreation) +"nIi" = ( +/obj/machinery/atmospherics/pipe/multiz/cyan/visible{ + dir = 8; + name = "Air Mix Multideck Adapter" + }, +/obj/machinery/meter{ + name = "Mix Meter" + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "nIo" = ( /obj/machinery/door/airlock/command{ name = "Captain's Quarters" @@ -48006,6 +48513,17 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/lab) +"nIy" = ( +/obj/structure/table/reinforced/rglass, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 4 + }, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "nIA" = ( /obj/structure/table/wood, /obj/item/folder/red, @@ -48029,30 +48547,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_recreation) -"nIR" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/status_display/evac/directional/north, -/obj/structure/rack, -/obj/item/encryptionkey/headset_sci{ - pixel_x = -6; - pixel_y = 1 - }, -/obj/item/encryptionkey/headset_med, -/obj/item/encryptionkey/headset_eng{ - pixel_x = 6; - pixel_y = -1 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tcomms) -"nIT" = ( -/mob/living/basic/parrot/poly, -/obj/structure/filingcabinet/chestdrawer, -/turf/open/floor/engine, -/area/station/command/heads_quarters/ce) "nIW" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -48099,6 +48593,10 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/wood, /area/station/command/heads_quarters/hos) +"nJJ" = ( +/obj/structure/table, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "nJN" = ( /obj/structure/showcase/cyborg/old{ dir = 4; @@ -48126,6 +48624,24 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/iron/dark/smooth_large, /area/station/security/execution/transfer) +"nJZ" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/right/directional/east{ + name = "Pharmacy Desk" + }, +/obj/effect/turf_decal/tile/yellow/full, +/obj/machinery/door/window/right/directional/west{ + name = "Pharmacy Desk"; + req_access = list("pharmacy") + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "chemshutters"; + name = "Pharmacy Shutters" + }, +/turf/open/floor/plating, +/area/station/medical/pharmacy) "nKj" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/barricade/sandbags, @@ -48148,16 +48664,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"nKB" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/table/glass, -/obj/item/storage/box/bodybags{ - pixel_x = 5; - pixel_y = 10 - }, -/obj/item/pen, -/turf/open/floor/wood, -/area/station/medical/medbay/central) "nKD" = ( /obj/effect/landmark/start/station_engineer, /obj/structure/cable/layer1, @@ -48225,15 +48731,6 @@ dir = 4 }, /area/station/science/robotics/lab) -"nLU" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron/white/textured_corner{ - dir = 4 - }, -/area/station/medical/surgery) "nMp" = ( /obj/effect/turf_decal/siding/brown, /obj/structure/chair/sofa/corp/left{ @@ -48242,19 +48739,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"nMr" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/structure/rack, -/obj/item/circuitboard/machine/telecomms/bus{ - pixel_y = -3 - }, -/obj/item/circuitboard/machine/telecomms/broadcaster{ - pixel_y = 2 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tcomms) "nMC" = ( /obj/structure/disposalpipe/segment{ dir = 2 @@ -48344,27 +48828,12 @@ dir = 4 }, /area/station/ai_monitored/turret_protected/aisat/foyer) -"nNO" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, -/turf/open/space/basic, -/area/space/nearstation) "nNY" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 }, /turf/open/floor/iron/smooth, /area/station/engineering/main) -"nNZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron/white/textured_corner{ - dir = 1 - }, -/area/station/medical/surgery) "nOe" = ( /obj/structure/statue/sandstone/venus, /turf/open/floor/wood, @@ -48409,6 +48878,23 @@ /obj/effect/landmark/start/head_of_personnel, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) +"nOU" = ( +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/item/stack/package_wrap, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"nPa" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_green{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "nPb" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/watertank, @@ -48439,32 +48925,20 @@ /obj/machinery/suit_storage_unit/security, /turf/open/floor/iron/dark/smooth_large, /area/station/security/eva) -"nPA" = ( -/obj/item/storage/medkit/regular{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/storage/medkit/brute{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/medkit/brute, -/obj/item/storage/medkit/brute{ - pixel_x = -4; - pixel_y = -3 - }, -/obj/structure/table/reinforced, -/obj/structure/lattice/catwalk, -/obj/machinery/door/window/right/directional/west{ - name = "First Aid Supplies"; - req_access = list("medical") - }, -/turf/open/openspace, -/area/station/medical/storage) "nPB" = ( /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"nPC" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/firealarm/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "nPN" = ( /turf/open/floor/wood/large, /area/station/hallway/secondary/service) @@ -48531,6 +49005,13 @@ }, /turf/open/floor/iron/smooth, /area/station/engineering/atmos/upper) +"nQu" = ( +/obj/machinery/light_switch/directional/east, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "nQw" = ( /obj/structure/railing/corner/end{ dir = 4 @@ -48561,11 +49042,6 @@ }, /turf/open/floor/iron, /area/station/science/research) -"nQV" = ( -/obj/structure/cable/multilayer/multiz, -/obj/structure/lattice/catwalk, -/turf/open/space/basic, -/area/station/solars/starboard/fore) "nRg" = ( /obj/structure/flora/tree/jungle/small, /obj/structure/flora/bush/sparsegrass/style_random, @@ -48623,13 +49099,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, /area/station/engineering/transit_tube) -"nSk" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 9 - }, -/obj/machinery/vending/drugs, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/medbay/central) "nSp" = ( /obj/structure/closet/radiation, /turf/open/floor/iron, @@ -48650,19 +49119,6 @@ /obj/effect/turf_decal/trimline/red/warning, /turf/open/floor/iron, /area/station/hallway/primary/port) -"nSu" = ( -/obj/structure/table/reinforced, -/obj/item/storage/box/bodybags{ - pixel_x = 4; - pixel_y = 14 - }, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = -1; - pixel_y = 7 - }, -/obj/machinery/status_display/ai/directional/south, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/morgue) "nSx" = ( /obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt, @@ -48698,6 +49154,10 @@ }, /turf/open/floor/iron, /area/station/science/explab) +"nTg" = ( +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "nTj" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/effect/turf_decal/siding/dark{ @@ -48779,13 +49239,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/engine/hull/air, /area/station/construction/storage_wing) -"nTZ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "nUd" = ( /obj/machinery/firealarm/directional/south, /obj/effect/decal/cleanable/wrapping, @@ -48892,6 +49345,16 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"nVf" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/dark_blue/corner, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "nVg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /turf/closed/wall/r_wall, @@ -48915,6 +49378,27 @@ "nVE" = ( /turf/closed/wall/r_wall, /area/station/service/abandoned_gambling_den) +"nVH" = ( +/obj/structure/closet/emcloset, +/obj/effect/landmark/start/hangover, +/obj/machinery/light/directional/west, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation) +"nVU" = ( +/obj/machinery/iv_drip, +/obj/effect/turf_decal/trimline/blue/filled/corner, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) +"nVZ" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "medbay-office"; + name = "Medbay Shutters"; + dir = 1 + }, +/turf/open/floor/plating, +/area/station/medical/office) "nWe" = ( /obj/structure/cable, /obj/machinery/power/emitter/welded{ @@ -49105,10 +49589,6 @@ dir = 8 }, /area/station/hallway/primary/fore) -"nYq" = ( -/obj/machinery/light_switch/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "nYu" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -49168,6 +49648,10 @@ /obj/structure/flora/bush/pale/style_random, /turf/open/floor/grass, /area/station/maintenance/starboard/fore) +"nZc" = ( +/obj/machinery/status_display/evac/directional/north, +/turf/open/openspace, +/area/station/medical/medbay/central) "nZd" = ( /obj/machinery/mass_driver/ordnance{ dir = 4; @@ -49188,6 +49672,13 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) +"nZD" = ( +/obj/machinery/light/floor, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "nZF" = ( /obj/effect/turf_decal/tile/dark_blue{ dir = 1 @@ -49283,6 +49774,37 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/qm) +"oaH" = ( +/obj/structure/railing{ + dir = 9 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/cigbutt/cigarbutt{ + pixel_x = 6; + pixel_y = -4 + }, +/obj/item/bodypart/head/robot{ + pixel_x = -6; + pixel_y = -5 + }, +/obj/structure/lattice/catwalk, +/obj/item/pen{ + pixel_x = 6; + pixel_y = 9 + }, +/turf/open/openspace, +/area/station/ai_monitored/turret_protected/ai_upload) +"oaI" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 4 + }, +/obj/machinery/iv_drip, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "oaQ" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -49292,6 +49814,16 @@ "obn" = ( /turf/closed/wall/r_wall, /area/station/hallway/primary/central) +"obr" = ( +/obj/machinery/chem_heater/withbuffer, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/medical/chemistry) "obu" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /obj/effect/turf_decal/trimline/yellow, @@ -49326,15 +49858,6 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"obQ" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark/textured_edge{ - dir = 4 - }, -/area/station/medical/morgue) "oca" = ( /obj/structure/chair/office/light{ dir = 1 @@ -49352,12 +49875,10 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/wood, /area/station/commons/storage/tools) -"ocq" = ( -/obj/machinery/plumbing/receiver{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/medical/medbay/central) +"ocx" = ( +/obj/structure/sign/departments/medbay/alt/directional/south, +/turf/open/openspace, +/area/station/medical/abandoned) "ocy" = ( /obj/machinery/door/airlock/silver{ name = "Freezer" @@ -49390,6 +49911,17 @@ }, /turf/open/floor/iron/grimy, /area/station/security/detectives_office/private_investigators_office) +"ocI" = ( +/obj/structure/plasticflaps/kitchen, +/obj/machinery/door/airlock/medical{ + name = "Medical Cold Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/surgery, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/medical/coldroom) "ocL" = ( /obj/structure/table/wood, /obj/machinery/computer/security/wooden_tv{ @@ -49428,13 +49960,23 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden/abandoned) -"odd" = ( -/obj/structure/railing{ +"ocW" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line, +/turf/open/floor/holofloor/dark, +/area/station/command/heads_quarters/cmo) +"ocZ" = ( +/obj/effect/turf_decal/tile/purple/half{ dir = 1 }, -/obj/structure/ladder, -/turf/open/floor/engine/hull/air, -/area/station/maintenance/port) +/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ + name = "Plasma Multideck Adapter"; + dir = 4 + }, +/obj/machinery/meter{ + name = "Plasma meter" + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "odg" = ( /obj/effect/turf_decal/bot, /turf/open/floor/engine/hull, @@ -49480,6 +50022,15 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) +"oef" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/ce) "oey" = ( /obj/structure/broken_flooring/singular/directional/east, /turf/open/floor/plating, @@ -49541,28 +50092,6 @@ dir = 8 }, /area/station/hallway/primary/fore) -"ofr" = ( -/obj/structure/closet, -/obj/item/clothing/gloves/radio, -/obj/item/clothing/suit/jacket/straight_jacket, -/obj/item/clothing/glasses/eyepatch, -/obj/item/clothing/glasses/blindfold, -/obj/item/clothing/glasses/blindfold, -/obj/item/clothing/ears/earmuffs{ - pixel_y = 3 - }, -/obj/item/clothing/ears/earmuffs{ - pixel_y = 3 - }, -/obj/item/storage/box/rxglasses, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/item/reagent_containers/cup/beaker/cryoxadone, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) "ofE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -49571,6 +50100,14 @@ /obj/machinery/door/firedoor, /turf/open/floor/wood/large, /area/station/service/bar) +"ofI" = ( +/obj/machinery/chem_master, +/obj/structure/sign/warning/secure_area/directional/west, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/medical/chemistry) "ofL" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -49587,6 +50124,15 @@ dir = 4 }, /area/station/science/robotics) +"ofY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "ogc" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -49605,6 +50151,24 @@ /obj/structure/sign/warning/yes_smoking/circle/directional/west, /turf/open/floor/iron, /area/station/science/research) +"ogg" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 8 + }, +/obj/machinery/chem_master, +/obj/machinery/button/door/directional/west{ + id = "chemshutters"; + name = "Chemistry Shutters"; + req_access = list("pharmacy") + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "ogn" = ( /obj/structure/bed, /obj/effect/decal/cleanable/dirt, @@ -49630,6 +50194,23 @@ /obj/item/newspaper, /turf/open/floor/wood, /area/station/commons/dorms) +"ogH" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/turf/open/floor/wood/large, +/area/station/medical/break_room) +"ogV" = ( +/obj/structure/table/reinforced/rglass, +/obj/effect/spawner/surgery_tray/full, +/turf/open/floor/iron/dark/textured, +/area/station/medical/surgery) "ohb" = ( /obj/machinery/airalarm/directional/south, /obj/item/toy/crayon/white{ @@ -49649,6 +50230,18 @@ "ohh" = ( /turf/open/floor/grass, /area/station/science/cytology) +"ohi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "ohp" = ( /obj/effect/spawner/random/trash/graffiti{ pixel_y = 32 @@ -49713,6 +50306,11 @@ /obj/structure/sign/departments/virology/directional/east, /turf/open/floor/plating, /area/station/medical/virology) +"oil" = ( +/obj/structure/ladder, +/obj/effect/turf_decal/stripes/box, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "oio" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/machinery/light/warm/directional/south, @@ -49735,15 +50333,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"oiH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) "oiM" = ( /obj/structure/table, /obj/item/stack/rods/fifty{ @@ -49940,6 +50529,20 @@ /obj/structure/railing, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) +"olr" = ( +/obj/machinery/firealarm/directional/west, +/obj/structure/rack, +/obj/item/radio{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/radio{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/radio, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "olv" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50003,6 +50606,16 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/medical/storage) +"onb" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 8 + }, +/obj/machinery/status_display/evac/directional/west, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "ong" = ( /obj/structure/steam_vent, /turf/open/floor/plating, @@ -50067,11 +50680,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/port) -"oob" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/layer1, -/turf/open/floor/catwalk_floor, -/area/station/engineering/main) "ood" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured_large, @@ -50094,14 +50702,15 @@ /obj/machinery/door/airlock/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"ooE" = ( -/obj/machinery/light/directional/east, -/obj/structure/lattice/catwalk, +"ooA" = ( +/obj/machinery/door/poddoor/preopen{ + id = "cmoprivacy"; + name = "Privacy Shutter" + }, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/openspace, -/area/station/engineering/atmos/project) +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/command/heads_quarters/cmo) "ooF" = ( /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ dir = 4 @@ -50123,13 +50732,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"ooL" = ( -/obj/structure/table/reinforced, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/mechanical, -/obj/item/stack/package_wrap, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "ooS" = ( /obj/effect/turf_decal/siding/dark/corner{ dir = 1 @@ -50188,15 +50790,6 @@ /obj/item/reagent_containers/cup/bucket, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"opJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/freezer/blood, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/item/reagent_containers/blood/random, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "opL" = ( /obj/machinery/door/airlock/mining{ name = "Deliveries" @@ -50213,12 +50806,6 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) -"opO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance, -/obj/effect/decal/cleanable/greenglow, -/turf/open/floor/iron/white, -/area/station/medical/abandoned) "opU" = ( /obj/structure/table, /obj/item/camera{ @@ -50252,11 +50839,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/textured_large, /area/station/medical/virology) -"oqb" = ( -/obj/machinery/camera/autoname/directional/west, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/dark/textured_large, -/area/station/engineering/atmos/upper) "oqd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/cafeteria, @@ -50352,23 +50934,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/service/chapel) -"orD" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/item/radio/intercom/directional/west, -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/iron/dark, -/area/station/engineering/hallway) -"orH" = ( -/obj/effect/spawner/random/techstorage/service_all, -/obj/structure/rack, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "orJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50425,17 +50990,6 @@ name = "Holodeck Projector Floor" }, /area/station/holodeck/rec_center) -"osQ" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/machinery/computer/security/telescreen/ce/directional/west, -/turf/open/floor/iron/dark/small, -/area/station/command/heads_quarters/ce) "osS" = ( /obj/structure/table/glass, /obj/item/clothing/head/costume/festive, @@ -50454,11 +51008,6 @@ }, /turf/open/space/openspace, /area/space/nearstation) -"osZ" = ( -/obj/machinery/suit_storage_unit/cmo, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "otb" = ( /obj/structure/sign/directions/command/directional/west{ dir = 2; @@ -50470,10 +51019,11 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"otf" = ( +"otg" = ( /obj/structure/cable, -/turf/closed/wall/r_wall, -/area/station/medical/cryo) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) "oti" = ( /obj/machinery/door/airlock/virology{ name = "Genetics Lab" @@ -50493,6 +51043,27 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/textured_large, /area/station/medical/abandoned) +"otE" = ( +/obj/machinery/requests_console/directional/north{ + department = "Chief Medical Officer's Desk"; + name = "Chief Medical Officer's Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/information, +/obj/structure/table/reinforced/rglass, +/obj/effect/turf_decal/trimline/dark_blue/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 1 + }, +/obj/machinery/fax{ + fax_name = "Chief Medical Officer's Office"; + name = "Chief Medical Officer's Fax Machine" + }, +/turf/open/floor/holofloor/dark, +/area/station/command/heads_quarters/cmo) "otO" = ( /obj/effect/turf_decal/siding/dark, /obj/effect/turf_decal/siding/dark{ @@ -50500,13 +51071,6 @@ }, /turf/open/floor/iron/dark/herringbone, /area/station/ai_monitored/turret_protected/aisat_interior) -"ouo" = ( -/obj/machinery/holopad, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "ouq" = ( /obj/structure/lattice/catwalk, /obj/machinery/vending/cigarette, @@ -50518,6 +51082,19 @@ }, /turf/open/openspace, /area/station/hallway/secondary/construction) +"ouw" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Medbay Maintenance" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/port) "ouE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50532,6 +51109,17 @@ }, /turf/open/floor/iron/kitchen, /area/station/hallway/secondary/service) +"ouG" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/machinery/holopad, +/turf/open/openspace, +/area/station/medical/medbay/central) "ouH" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -50565,15 +51153,6 @@ /obj/structure/disposalpipe/segment, /turf/closed/wall, /area/station/maintenance/port) -"ovz" = ( -/obj/structure/chair/office, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/floor, -/turf/open/floor/iron/dark/small, -/area/station/command/heads_quarters/ce) "ovE" = ( /obj/effect/decal/cleanable/crayon{ icon_state = "n"; @@ -50622,14 +51201,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/hallway/primary/starboard) -"ows" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Medbay Maintenance" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/turf/open/floor/plating, -/area/station/medical/cryo) "owv" = ( /obj/machinery/status_display/door_timer{ id = "brig3"; @@ -50650,6 +51221,13 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/glass, /area/station/commons/fitness/recreation) +"owE" = ( +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/machinery/holopad, +/turf/open/floor/iron/dark/textured_edge{ + dir = 1 + }, +/area/station/medical/morgue) "owK" = ( /obj/structure/mineral_door/wood, /turf/open/floor/plating, @@ -50678,6 +51256,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/glass, /area/station/maintenance/starboard/aft) +"oxf" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/port) "oxg" = ( /obj/machinery/photocopier/prebuilt, /obj/structure/railing{ @@ -50710,14 +51297,6 @@ /obj/effect/landmark/navigate_destination/atmos, /turf/open/floor/iron/freezer, /area/station/engineering/main) -"oxp" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Medbay Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port) "oxu" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -50768,13 +51347,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"oyi" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners{ +"oyo" = ( +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner, +/obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "oyy" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/turf_decal/box/white, @@ -50804,6 +51386,27 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"oyI" = ( +/obj/machinery/light/small/directional/south, +/obj/structure/table, +/obj/item/paper_bin/carbon{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/item/book/manual/wiki/tcomms{ + pixel_x = 14; + pixel_y = 5 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/machinery/computer/security/telescreen/tcomms/directional/south{ + name = "Telecomms Camera Monitor" + }, +/obj/item/pen, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tcomms) "ozh" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -50856,12 +51459,19 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"ozE" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/poster/contraband/random/directional/east, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) +"ozF" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "ozK" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 1 @@ -50905,12 +51515,30 @@ /obj/item/kirbyplants/photosynthetic, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) +"oAu" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/arrow_ccw{ + dir = 4 + }, +/obj/structure/chair{ + dir = 4; + pixel_y = -2 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "oAz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/ai_upload_foyer) +"oAA" = ( +/obj/effect/landmark/firealarm_sanity, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) "oAL" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -50988,6 +51616,15 @@ /obj/machinery/light/directional/south, /turf/open/floor/wood/large, /area/station/service/library) +"oBN" = ( +/obj/effect/landmark/start/medical_doctor, +/obj/effect/turf_decal/siding/dark_blue{ + dir = 8 + }, +/obj/effect/landmark/event_spawn, +/obj/machinery/light/floor, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "oBT" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -51077,6 +51714,10 @@ /obj/item/clothing/head/cone, /turf/open/floor/engine/hull, /area/space/nearstation) +"oCW" = ( +/obj/machinery/vending/cigarette, +/turf/open/floor/wood/large, +/area/station/medical/break_room) "oCX" = ( /obj/structure/railing{ dir = 1 @@ -51096,6 +51737,11 @@ }, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) +"oDa" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/light/directional/east, +/turf/open/openspace, +/area/station/hallway/primary/aft) "oDc" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -51164,6 +51810,11 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark/textured_large, /area/station/science/robotics/lab) +"oEl" = ( +/obj/structure/closet/secure_closet/atmospherics, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/glass/reinforced/plasma, +/area/station/engineering/atmos/project) "oEw" = ( /obj/machinery/vending/cigarette, /obj/effect/decal/cleanable/dirt, @@ -51202,13 +51853,6 @@ /obj/machinery/vending/games, /turf/open/openspace, /area/station/construction/storage_wing) -"oFg" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/light_switch/directional/east, -/turf/open/floor/iron/textured_large, -/area/station/medical/virology) "oFh" = ( /obj/structure/rack, /obj/item/tattoo_kit, @@ -51263,15 +51907,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"oGj" = ( -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "oGu" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -51287,6 +51922,14 @@ }, /turf/open/floor/iron/textured_large, /area/station/medical/virology) +"oGy" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing, +/obj/machinery/camera/autoname/directional/east, +/turf/open/openspace, +/area/station/medical/medbay/central) "oGG" = ( /obj/structure/railing{ dir = 8 @@ -51333,6 +51976,18 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/office) +"oHr" = ( +/obj/effect/mapping_helpers/airlock/access/all/medical/cmo, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Chief Medical Officer's Quarters" + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/cmo) "oHs" = ( /obj/structure/closet/wardrobe/grey, /turf/open/floor/iron/cafeteria, @@ -51351,6 +52006,18 @@ /obj/machinery/newscaster/directional/south, /turf/open/floor/iron/textured_large, /area/station/security/prison/rec) +"oHD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "oHE" = ( /obj/machinery/holopad/secure, /obj/structure/disposalpipe/segment, @@ -51386,12 +52053,27 @@ }, /turf/open/floor/wood/large, /area/station/medical/psychology) +"oID" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "oII" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/crate, /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark/textured, /area/station/cargo/warehouse) +"oIM" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; + id = "chemshutters"; + name = "Pharmacy Shutters" + }, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/medical/pharmacy) "oIR" = ( /obj/machinery/camera/autoname/directional/west, /turf/open/openspace, @@ -51432,13 +52114,6 @@ /obj/machinery/keycard_auth/wall_mounted/directional/east, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) -"oJe" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 9 - }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "oJh" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 @@ -51465,17 +52140,6 @@ }, /turf/open/floor/glass/reinforced, /area/station/ai_monitored/command/nuke_storage) -"oJr" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/openspace, -/area/station/medical/storage) "oJs" = ( /obj/structure/table/reinforced, /obj/structure/displaycase/forsale{ @@ -51493,13 +52157,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/lobby) -"oJv" = ( -/obj/effect/turf_decal/siding/blue/corner, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "oJy" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 4 @@ -51522,6 +52179,12 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/wood, /area/station/commons/dorms) +"oJL" = ( +/obj/effect/turf_decal/siding/dark_blue/inner_corner{ + dir = 1 + }, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "oJX" = ( /obj/structure/cable, /turf/open/floor/catwalk_floor/iron_dark, @@ -51563,14 +52226,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/explab) -"oKI" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) "oKN" = ( /obj/structure/broken_flooring/singular/directional/north, /turf/open/floor/plating, @@ -51790,6 +52445,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"oNI" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 6 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "oNM" = ( /obj/effect/turf_decal/siding/white{ dir = 10 @@ -51802,21 +52464,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) -"oNU" = ( -/obj/structure/table, -/obj/item/flashlight{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/item/flashlight{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "oOc" = ( /obj/machinery/light/floor, /turf/open/floor/iron/dark/smooth_large, @@ -51833,6 +52480,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/lesser) +"oOn" = ( +/obj/machinery/light/directional/west, +/obj/effect/mapping_helpers/burnt_floor, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "oOs" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -51876,19 +52529,6 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) -"oOS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","medbay"); - c_tag = "Medbay - Lower Central Hallway" - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "oOY" = ( /obj/structure/cable, /turf/closed/wall/r_wall, @@ -51915,11 +52555,31 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) +"oPk" = ( +/obj/effect/turf_decal/siding/dark_blue, +/turf/open/floor/carpet/blue, +/area/station/medical/break_room) "oPu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/freezer, /area/station/engineering/atmos/pumproom) +"oPH" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen/blue{ + pixel_x = -1; + pixel_y = 5 + }, +/obj/item/pen/red{ + pixel_x = -6 + }, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/wood/large, +/area/station/medical/break_room) "oPM" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -51939,6 +52599,13 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"oPS" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, +/obj/effect/turf_decal/tile/neutral/half{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "oPW" = ( /obj/effect/mob_spawn/corpse/human/assistant, /obj/structure/closet/crate/trashcart, @@ -51961,6 +52628,16 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"oQm" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "oQn" = ( /obj/effect/landmark/firealarm_sanity, /turf/open/openspace, @@ -51979,9 +52656,19 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/station/maintenance/port/aft) -"oRp" = ( -/turf/open/floor/iron/textured_large, -/area/space/nearstation) +"oRd" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"oRh" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "oRs" = ( /obj/structure/chair/plastic{ dir = 1 @@ -52064,6 +52751,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"oSs" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "oSt" = ( /obj/structure/broken_flooring/singular/directional, /obj/effect/decal/cleanable/dirt, @@ -52120,13 +52814,6 @@ }, /turf/open/floor/glass, /area/station/science/zoo) -"oTn" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/medbay/central) "oTp" = ( /obj/structure/sign/warning/yes_smoking/circle/directional/east, /turf/open/floor/plating, @@ -52168,26 +52855,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/command/gateway) -"oTO" = ( -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ - dir = 4 - }, -/obj/effect/landmark/start/chemist, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/pharmacy) -"oTQ" = ( -/obj/machinery/chem_master, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) "oTR" = ( /obj/structure/table/reinforced, /obj/item/storage/box/bodybags{ @@ -52199,6 +52866,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/service/chapel/office) +"oTS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/clothing/gloves/color/blue{ + desc = "An old pair of nitrile gloves, with no sterile properties."; + name = "old nitrile gloves" + }, +/obj/structure/rack, +/obj/item/wrench/medical, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "oTZ" = ( /obj/structure/table, /obj/structure/railing{ @@ -52236,6 +52917,14 @@ }, /turf/open/floor/plating, /area/station/science/genetics) +"oUg" = ( +/obj/structure/closet/crate/freezer/blood, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 5 + }, +/obj/effect/turf_decal/weather/snow, +/turf/open/floor/iron/kitchen_coldroom/freezerfloor, +/area/station/medical/coldroom) "oUn" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /turf/open/floor/iron/dark, @@ -52293,6 +52982,15 @@ /obj/effect/turf_decal/tile/green/fourcorners, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) +"oVb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/cryo) "oVg" = ( /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{ dir = 4 @@ -52333,6 +53031,13 @@ /obj/structure/displaycase/trophy, /turf/open/floor/wood/large, /area/station/service/library) +"oVX" = ( +/obj/effect/spawner/random/food_or_drink/snack, +/obj/structure/table, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/glass, +/area/station/medical/patients_rooms/room_a) "oVY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -52345,15 +53050,6 @@ /obj/item/book/manual/wiki/engineering_construction, /turf/open/floor/iron, /area/station/engineering/lobby) -"oWp" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "oWy" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/engine/hull/reinforced/air, @@ -52411,13 +53107,6 @@ }, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"oXE" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "oXJ" = ( /obj/structure/railing{ dir = 1 @@ -52505,33 +53194,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"oYs" = ( -/obj/structure/railing{ - dir = 10 - }, -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/item/phone{ - pixel_x = -3; - pixel_y = 2 - }, -/obj/item/pen{ - pixel_x = 6; - pixel_y = 9 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) -"oYy" = ( -/obj/machinery/chem_heater/withbuffer, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/pharmacy) "oYE" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/green/opposingcorners{ @@ -52553,19 +53215,20 @@ /obj/structure/rack, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"oZn" = ( -/obj/structure/chair/sofa/corp/right{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/medical/break_room) "oZt" = ( /obj/vehicle/ridden/wheelchair, /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"oZu" = ( +/obj/machinery/light_switch/directional/east, +/obj/machinery/flasher/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/turret_protected/ai_upload) "oZA" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -52581,23 +53244,6 @@ /obj/effect/landmark/firealarm_sanity, /turf/open/openspace, /area/station/science/explab) -"oZD" = ( -/obj/structure/rack, -/obj/item/reagent_containers/cup/bottle/mercury{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/reagent_containers/cup/bottle/nitrogen{ - pixel_x = 7; - pixel_y = 3 - }, -/obj/item/reagent_containers/cup/bottle/oxygen{ - pixel_x = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/medbay/central) "oZG" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/table, @@ -52609,16 +53255,6 @@ "oZJ" = ( /turf/open/floor/glass/reinforced, /area/station/service/library) -"oZN" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/openspace, -/area/station/medical/storage) "oZO" = ( /obj/structure/railing/corner/end{ dir = 8 @@ -52663,6 +53299,10 @@ /obj/machinery/vending/cigarette, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"paE" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/nitrous_input, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos/upper) "paI" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -52674,18 +53314,12 @@ /obj/structure/curtain/bounty/start_closed, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) -"paV" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/atmos/project) +"paP" = ( +/obj/effect/spawner/random/structure/closet_maintenance, +/obj/effect/spawner/random/maintenance/two, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/port) "paY" = ( /obj/structure/window/reinforced/tinted/spawner/directional/north, /turf/open/openspace, @@ -52710,34 +53344,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) -"pbp" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Medbay Maintenance" - }, -/obj/effect/mapping_helpers/airlock/abandoned, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/medical/abandoned) "pbq" = ( /obj/structure/railing, /obj/effect/turf_decal/trimline/yellow/warning, /obj/structure/table/reinforced, /turf/open/floor/engine/hull, /area/space/nearstation) -"pbs" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/engineering, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/lobby) "pbt" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/machinery/atmospherics/components/unary/portables_connector/visible, @@ -52836,6 +53448,15 @@ }, /turf/open/floor/grass, /area/station/science/genetics) +"pck" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "pcv" = ( /obj/machinery/door/airlock{ id_tag = "courtlockdown"; @@ -52890,6 +53511,15 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"pdc" = ( +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/trimline/dark_blue/filled/line, +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 1 + }, +/obj/item/kirbyplants/organic/plant10, +/turf/open/floor/holofloor/dark, +/area/station/command/heads_quarters/cmo) "pdf" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -52947,6 +53577,19 @@ "pdO" = ( /turf/closed/wall, /area/station/medical/pharmacy) +"pdR" = ( +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/effect/landmark/start/coroner, +/turf/open/floor/iron/dark/textured_edge{ + dir = 1 + }, +/area/station/medical/morgue) +"pea" = ( +/obj/structure/rack, +/obj/item/toy/basketball, +/obj/item/poster/random_official, +/turf/open/floor/plating, +/area/station/maintenance/port) "pec" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -52988,23 +53631,6 @@ }, /turf/open/floor/plating/elevatorshaft, /area/station/service/kitchen) -"pem" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Cryogenics Room" - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) "pen" = ( /obj/structure/extinguisher_cabinet/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -53043,16 +53669,6 @@ /obj/structure/cable, /turf/open/floor/iron/textured, /area/station/cargo/storage) -"peS" = ( -/obj/structure/railing/corner/end/flip{ - dir = 8 - }, -/obj/item/radio/intercom/directional/north, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/morgue) "peX" = ( /obj/structure/railing, /turf/open/floor/iron/stairs/medium{ @@ -53078,11 +53694,6 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"pfp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/dim/directional/south, -/turf/open/floor/iron/textured_large, -/area/station/medical/abandoned) "pfu" = ( /obj/effect/landmark/event_spawn, /obj/effect/turf_decal/trimline/yellow/arrow_cw, @@ -53096,14 +53707,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"pfF" = ( -/obj/structure/bed, -/obj/item/bedsheet/ce, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/carpet/orange, -/area/station/command/heads_quarters/ce) "pfK" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -53172,24 +53775,17 @@ dir = 4 }, /area/station/maintenance/starboard/aft) +"pgF" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/suit_storage_unit/cmo, +/turf/open/floor/carpet/cyan, +/area/station/command/heads_quarters/cmo) "pgI" = ( /obj/effect/decal/cleanable/dirt, /obj/item/clothing/suit/apron/surgical, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_recreation) -"pgJ" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/valve, -/obj/machinery/light_switch/directional/east, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","medbay"); - c_tag = "Medbay - Upper Cryo" - }, -/turf/open/openspace, -/area/station/medical/cryo) "pgM" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -53197,16 +53793,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"pgN" = ( -/obj/machinery/chem_dispenser, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 1 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/pharmacy) "pgQ" = ( /obj/structure/table, /obj/effect/spawner/random/bureaucracy/paper, @@ -53217,6 +53803,16 @@ /obj/item/storage/toolbox/emergency, /turf/open/floor/wood, /area/station/commons/dorms) +"pha" = ( +/obj/machinery/atmospherics/pipe/smart/simple/pink/visible/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/supply{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/engine, +/area/station/maintenance/disposal/incinerator) "phc" = ( /obj/item/radio/intercom/directional/west, /obj/machinery/light/small/directional/west, @@ -53264,11 +53860,8 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/break_room) -"phh" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/engine/hull/air, +"phq" = ( +/turf/closed/wall/r_wall, /area/station/medical/chemistry) "phu" = ( /obj/structure/transit_tube, @@ -53277,16 +53870,20 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark/small, /area/station/ai_monitored/aisat/exterior) -"phy" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 4 +"phz" = ( +/obj/structure/table/reinforced, +/obj/item/flashlight/lamp{ + pixel_y = 10 }, -/obj/effect/turf_decal/siding/blue/corner{ - dir = 1 +/obj/item/toy/figure/ce{ + pixel_y = 4 }, -/turf/open/openspace, -/area/station/medical/medbay/central) +/obj/item/clothing/glasses/meson, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/ce) "phE" = ( /obj/structure/lattice/catwalk, /obj/structure/table, @@ -53306,15 +53903,6 @@ }, /turf/open/floor/wood, /area/station/service/chapel) -"phP" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/obj/structure/filingcabinet/chestdrawer{ - pixel_y = 2 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/customs) "phT" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -53324,6 +53912,13 @@ }, /turf/open/floor/iron/white/textured_large, /area/station/ai_monitored/turret_protected/aisat_interior) +"phX" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/office) "pim" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/blue/full, @@ -53340,6 +53935,12 @@ /obj/machinery/light/small/blacklight/directional/north, /turf/open/floor/eighties/red, /area/station/maintenance/hallway/abandoned_recreation) +"piT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/fore) "pjd" = ( /obj/machinery/camera/directional/west{ c_tag = "Kitchen" @@ -53374,11 +53975,14 @@ "pjN" = ( /turf/open/floor/iron/kitchen, /area/station/maintenance/port/aft) -"pkc" = ( -/obj/structure/sink/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/virology) +"pkl" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/camera/autoname/directional/north, +/turf/open/openspace, +/area/station/engineering/atmos/project) "pko" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/vending/coffee, @@ -53433,11 +54037,10 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /turf/open/space/basic, /area/space/nearstation) -"plS" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) +"plX" = ( +/obj/machinery/status_display/ai/directional/west, +/turf/open/floor/carpet/black, +/area/station/ai_monitored/turret_protected/ai_upload) "pma" = ( /obj/structure/chair, /obj/item/cigbutt, @@ -53450,12 +54053,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"pmf" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/medbay/central) "pmg" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -53507,20 +54104,6 @@ /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, /area/station/maintenance/port) -"pmL" = ( -/obj/machinery/chem_dispenser, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/pharmacy) "pmN" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -53594,22 +54177,6 @@ "pnd" = ( /turf/open/floor/wood, /area/station/commons/toilet/restrooms) -"pni" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ - name = "N20 Multideck Adapter"; - dir = 4 - }, -/obj/machinery/meter{ - name = "N20 meter" - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "pno" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -53648,6 +54215,16 @@ }, /turf/open/floor/iron, /area/station/science/robotics) +"pnN" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/structure/sign/warning/radiation/rad_area/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "pnS" = ( /obj/machinery/hydroponics/soil, /obj/item/cultivator, @@ -53668,16 +54245,15 @@ /obj/machinery/gateway/centerstation, /turf/open/floor/iron/dark, /area/station/command/gateway) -"pom" = ( -/obj/machinery/door/airlock/engineering/glass{ - name = "Supermatter Engine Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"pok" = ( +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor/heavy, -/turf/open/floor/engine, -/area/station/engineering/main) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/engine/hull/air, +/area/station/maintenance/port) "por" = ( /obj/effect/turf_decal/siding/wood, /turf/open/floor/glass, @@ -53700,23 +54276,19 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/maintenance/starboard/fore) -"poZ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/lattice/catwalk, -/turf/open/water, -/area/station/maintenance/starboard/fore) -"ppa" = ( -/obj/machinery/iv_drip, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 +"poD" = ( +/obj/structure/transport/linear{ + radial_travel = 0 }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 4 +/obj/machinery/elevator_control_panel/directional/south{ + linked_elevator_id = "catwalk_atmos"; + preset_destination_names = list("2"="Lower Atmos","3"="Upper Atmos") }, -/obj/structure/cable, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) +/obj/effect/landmark/transport/transport_id{ + specific_transport_id = "catwalk_atmos" + }, +/turf/open/openspace, +/area/station/engineering/atmos/project) "ppp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/dark_blue, @@ -53726,6 +54298,14 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"ppA" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/engineering/lobby) "ppL" = ( /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark/textured_large, @@ -53763,6 +54343,16 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) +"prv" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/hfr_room) "prB" = ( /obj/effect/turf_decal/box/white{ color = "#CCDCFF" @@ -53797,25 +54387,30 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"prV" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 9 - }, -/obj/machinery/stasis, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ +"prQ" = ( +/obj/structure/railing{ dir = 1 }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/defibrillator_mount/directional/east, -/obj/machinery/light/directional/east, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) +/obj/structure/bodycontainer/morgue{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) +"prX" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/railing/corner, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "psi" = ( /obj/structure/table/wood/poker, /obj/item/toy/cards/deck{ @@ -53843,6 +54438,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"psw" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/computer/station_alert, +/turf/open/floor/engine/hull/reinforced/air, +/area/station/engineering/atmos/project) "psC" = ( /turf/open/openspace, /area/station/hallway/primary/fore) @@ -53880,33 +54482,6 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"psQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/airalarm/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","medbay"); - c_tag = "Medbay - Lower Virology Entrance" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/virology) -"ptk" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/obj/machinery/vending/wardrobe/chem_wardrobe, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) "ptt" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, @@ -53918,26 +54493,6 @@ /obj/machinery/light/dim/directional/north, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/commissary) -"ptC" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/openspace, -/area/station/medical/storage) -"ptH" = ( -/obj/structure/ladder, -/obj/effect/turf_decal/stripes/box, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/fore) -"ptI" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/lattice/catwalk, -/turf/open/openspace/coldroom, -/area/station/medical/coldroom) "ptT" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -53988,6 +54543,19 @@ /obj/structure/sign/poster/contraband/eat/directional/west, /turf/open/floor/wood, /area/station/hallway/primary/central) +"puN" = ( +/obj/machinery/flasher/directional/west, +/obj/structure/table/wood/fancy/black, +/obj/item/ai_module/supplied/freeform{ + pixel_x = -2; + pixel_y = -2 + }, +/obj/item/ai_module/reset{ + pixel_x = 2; + pixel_y = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/turret_protected/ai_upload) "puR" = ( /obj/structure/filingcabinet, /obj/machinery/light/directional/south, @@ -54007,6 +54575,28 @@ /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, /area/station/engineering/main) +"pvu" = ( +/obj/machinery/airalarm/directional/west, +/obj/structure/table/reinforced, +/obj/item/storage/box/beakers{ + pixel_y = 7; + pixel_x = -5 + }, +/obj/item/storage/box/gloves{ + pixel_x = 10; + pixel_y = 9 + }, +/obj/item/assembly/igniter{ + pixel_y = -3 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/chem_storage) "pvC" = ( /obj/structure/table/glass, /obj/effect/turf_decal/siding/blue{ @@ -54040,6 +54630,31 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/dark, /area/station/security/brig) +"pvP" = ( +/obj/structure/safe/floor{ + name = "Critical Supplies Safe" + }, +/obj/item/reagent_containers/cup/glass/bottle/wine_voltaic{ + pixel_y = 5; + pixel_x = 7 + }, +/obj/item/reagent_containers/cup/glass/shaker{ + pixel_y = 6; + pixel_x = -6 + }, +/obj/item/reagent_containers/cup/glass/bottle/vodka{ + pixel_y = 15; + pixel_x = 6 + }, +/obj/item/reagent_containers/cup/glass/bottle/juice/orangejuice{ + pixel_x = -5; + pixel_y = 15 + }, +/obj/item/reagent_containers/cup/glass/flask{ + pixel_x = -6 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "pvQ" = ( /obj/structure/closet/firecloset, /turf/open/floor/engine, @@ -54059,6 +54674,13 @@ /obj/structure/sign/warning/radiation/rad_area/directional/east, /turf/open/floor/catwalk_floor, /area/station/engineering/main) +"pwr" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/white, +/area/station/medical/office) "pwy" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -54095,11 +54717,6 @@ }, /turf/open/floor/glass, /area/station/science/zoo) -"pwP" = ( -/obj/structure/ladder, -/obj/effect/turf_decal/stripes/box, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "pwQ" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 @@ -54145,6 +54762,15 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/security/prison/mess) +"pxT" = ( +/obj/machinery/door/airlock/virology/glass{ + name = "Entrance to Malpractice Tower" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/access/all/medical/virology, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/textured_large, +/area/station/medical/virology) "pxZ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -54166,13 +54792,6 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"pyf" = ( -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron/white/textured, -/area/station/medical/surgery) "pyh" = ( /obj/machinery/computer/records/security{ dir = 4 @@ -54202,6 +54821,11 @@ }, /turf/open/openspace, /area/station/hallway/primary/central) +"pzd" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/camera/autoname/directional/north, +/turf/open/openspace, +/area/station/engineering/atmos/project) "pzg" = ( /obj/structure/grille, /turf/open/floor/plating, @@ -54253,13 +54877,6 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) -"pzQ" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/openspace, -/area/station/medical/medbay/central) "pzU" = ( /obj/machinery/chem_dispenser/drinks/beer{ pixel_y = 14 @@ -54288,18 +54905,6 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat/foyer) -"pAn" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/medical/medbay/central) "pAz" = ( /obj/machinery/light/directional/east, /turf/open/floor/iron, @@ -54312,13 +54917,28 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/wood, /area/station/service/chapel) -"pAU" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner{ +"pAO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) +/obj/machinery/light/cold/dim/directional/east, +/obj/machinery/light_switch/directional/east, +/obj/structure/showcase/machinery/oldpod{ + desc = "An old NT branded sleeper, decommissioned after the lead acetate incident. None of the functional machinery remains inside."; + dir = 8; + name = "decommissioned sleeper" + }, +/obj/item/surgicaldrill, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) +"pAR" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/medical/cryo) "pBa" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -54404,6 +55024,10 @@ }, /turf/open/floor/grass, /area/station/hallway/secondary/entry) +"pCh" = ( +/obj/machinery/status_display/evac/directional/west, +/turf/open/floor/carpet/black, +/area/station/ai_monitored/turret_protected/ai_upload) "pCw" = ( /obj/structure/table/reinforced/rglass, /obj/item/storage/briefcase/secure{ @@ -54416,6 +55040,9 @@ }, /turf/open/floor/glass, /area/station/security/brig) +"pCP" = ( +/turf/open/floor/engine/hull/air, +/area/station/medical/medbay/central) "pDa" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/decal/cleanable/dirt, @@ -54437,6 +55064,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"pDm" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "pDp" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -54506,10 +55139,6 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"pED" = ( -/obj/structure/cable, -/turf/closed/wall, -/area/station/medical/medbay/central) "pEG" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 4 @@ -54603,6 +55232,15 @@ }, /turf/open/floor/iron/checker, /area/station/service/bar) +"pFS" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "pFX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -54640,6 +55278,14 @@ }, /turf/open/floor/wood/large, /area/station/medical/psychology) +"pGp" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "pGs" = ( /obj/structure/table/reinforced, /obj/item/folder/red{ @@ -54666,6 +55312,11 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"pGy" = ( +/obj/machinery/flasher/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/turret_protected/ai_upload) "pGD" = ( /obj/machinery/camera/directional/west{ c_tag = "Science - Xenobiology South"; @@ -54693,6 +55344,23 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) +"pGP" = ( +/obj/structure/grille, +/turf/closed/wall/r_wall, +/area/station/engineering/atmos/upper) +"pGR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/structure/showcase/machinery/cloning_pod{ + desc = "An old decommissioned scanner, permanently scuttled."; + icon_state = "scanner"; + name = "decommissioned cloning scanner" + }, +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "pGV" = ( /obj/effect/turf_decal/plaque{ icon_state = "L5" @@ -54773,15 +55441,6 @@ /obj/structure/table, /turf/open/floor/iron/cafeteria, /area/station/maintenance/starboard/lesser) -"pHV" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 9 - }, -/obj/effect/turf_decal/tile/dark/half{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "pIf" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -54918,16 +55577,6 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/aisat/foyer) -"pJK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/showcase/machinery/cloning_pod{ - desc = "An old decommissioned scanner, permanently scuttled."; - icon_state = "scanner"; - name = "decommissioned cloning scanner" - }, -/obj/effect/decal/cleanable/greenglow, -/turf/open/floor/iron/white, -/area/station/medical/abandoned) "pJM" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 6 @@ -55051,6 +55700,13 @@ }, /turf/open/openspace, /area/station/construction/storage_wing) +"pLt" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/obj/machinery/iv_drip, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "pLv" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/airlock/abandoned, @@ -55076,14 +55732,16 @@ }, /turf/open/floor/iron, /area/station/science/research) -"pLG" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 6 +"pLz" = ( +/obj/effect/turf_decal/trimline/blue/warning{ + dir = 1 + }, +/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 }, /turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) +/area/station/medical/surgery) "pLN" = ( /obj/structure/falsewall, /turf/open/floor/plating, @@ -55114,29 +55772,6 @@ /obj/effect/turf_decal/tile/green/full, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"pLV" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/right/directional/west{ - name = "Pharmacy Desk"; - req_access = list("pharmacy") - }, -/obj/item/paper_bin{ - pixel_x = -2; - pixel_y = 6 - }, -/obj/item/pen{ - pixel_x = -3; - pixel_y = 9 - }, -/obj/effect/turf_decal/tile/yellow/full, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "chemshutters"; - name = "Chemistry Shutters" - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/pharmacy) "pMd" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -55147,25 +55782,11 @@ /obj/structure/filingcabinet/chestdrawer, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"pMi" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "pMk" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/carpet, /area/station/hallway/secondary/exit/departure_lounge) -"pMm" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "pMn" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/vending/cigarette, @@ -55248,19 +55869,6 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"pNg" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/rack, -/obj/effect/spawner/random/aimodule/harmless{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/ai_module/supplied/quarantine, -/obj/item/screwdriver, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) "pNh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -55313,6 +55921,16 @@ }, /turf/open/openspace, /area/station/maintenance/port/aft) +"pOf" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/openspace, +/area/station/medical/abandoned) "pOh" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -55324,12 +55942,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/station/maintenance/hallway/abandoned_recreation) -"pOD" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/iron/textured_large, -/area/station/medical/virology) "pOF" = ( /obj/structure/closet/secure_closet/personal, /obj/item/clothing/suit/hooded/wintercoat, @@ -55409,13 +56021,6 @@ }, /turf/open/floor/iron/freezer, /area/station/maintenance/port) -"pPn" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/medbay/central) "pPt" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -55462,19 +56067,6 @@ /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"pPO" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Medbay Maintenance" - }, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/port) "pPS" = ( /obj/structure/lattice/catwalk, /obj/structure/closet/secure_closet/medical1, @@ -55508,6 +56100,16 @@ }, /turf/open/floor/wood, /area/station/ai_monitored/command/storage/eva) +"pPY" = ( +/obj/structure/table/reinforced, +/obj/item/storage/crayons{ + pixel_x = -1; + pixel_y = 11 + }, +/obj/effect/spawner/random/bureaucracy/crayon, +/obj/item/poster/random_contraband, +/turf/open/floor/plating, +/area/station/maintenance/port) "pQa" = ( /obj/machinery/door/firedoor, /turf/open/floor/engine/hull/air, @@ -55575,6 +56177,17 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) +"pQu" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "pQF" = ( /obj/structure/closet/secure_closet/freezer/kitchen, /obj/machinery/light/directional/west, @@ -55585,15 +56198,6 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, /area/station/maintenance/port) -"pQK" = ( -/obj/structure/railing/corner, -/obj/machinery/door/airlock/medical{ - name = "Medbay Storage" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/medbay/central) "pQQ" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -55620,10 +56224,6 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"pQV" = ( -/obj/machinery/smartfridge/chemistry/preloaded, -/turf/open/floor/plating, -/area/station/medical/pharmacy) "pRm" = ( /obj/structure/lattice/catwalk, /obj/structure/disposalpipe/segment{ @@ -55698,24 +56298,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/construction/storage_wing) -"pRW" = ( -/obj/effect/turf_decal/stripes/line{ +"pRT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 }, -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/turf/open/openspace, -/area/station/engineering/atmos/project) +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "pSj" = ( /obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2, /obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4, /turf/open/floor/plating, /area/station/security/interrogation) -"pSx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/holopad, -/turf/open/floor/iron/textured_large, -/area/station/medical/abandoned) "pSz" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -55754,6 +56348,21 @@ /obj/item/storage/cans/sixbeer, /turf/open/floor/plating, /area/station/service/kitchen/abandoned) +"pSP" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/obj/structure/filingcabinet/chestdrawer{ + pixel_y = 2 + }, +/obj/machinery/requests_console/directional/north{ + department = "Security"; + name = "Security Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/customs) "pSQ" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -55766,39 +56375,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/smooth_large, /area/station/security/brig) -"pSV" = ( -/obj/structure/table, -/obj/item/phone{ - pixel_x = 6; - pixel_y = 1 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/engineering/gravity_generator) "pSY" = ( /obj/structure/railing/corner/end{ dir = 8 }, /turf/open/floor/iron/kitchen, /area/station/maintenance/port/aft) -"pTa" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/item/stack/rods{ - amount = 25 - }, -/obj/item/stack/sheet/glass{ - amount = 30 - }, -/obj/item/stack/sheet/iron{ - amount = 30 - }, -/obj/structure/closet/crate, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/obj/structure/sign/poster/contraband/grey_tide/directional/west, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "pTi" = ( /obj/structure/railing, /obj/machinery/door/firedoor/border_only, @@ -55867,11 +56449,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/wood, /area/station/maintenance/starboard/aft) -"pUb" = ( -/obj/effect/landmark/start/chief_medical_officer, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "pUe" = ( /obj/effect/turf_decal/trimline/dark_green/filled/line{ dir = 10 @@ -55879,17 +56456,21 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/cytology) +"pUf" = ( +/obj/effect/turf_decal/siding/dark_blue/corner{ + dir = 1 + }, +/obj/machinery/iv_drip, +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "pUj" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/bed/medical/emergency, /obj/effect/decal/cleanable/blood/old, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) -"pUr" = ( -/obj/structure/closet/emcloset, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit/departure_lounge) "pUE" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -55907,6 +56488,12 @@ }, /turf/open/floor/carpet/black, /area/station/commons/lounge) +"pUU" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "pUV" = ( /obj/effect/turf_decal/trimline/dark_green/filled/line, /obj/machinery/light/cold/directional/south, @@ -55951,13 +56538,6 @@ /obj/machinery/door/firedoor/heavy, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"pVF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/item/stack/rods/two, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "pWh" = ( /obj/machinery/button/door/directional/west{ id = "Cabin6"; @@ -56006,12 +56586,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/textured_large, /area/station/medical/abandoned) -"pWR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron/white, -/area/station/medical/abandoned) "pWZ" = ( /obj/machinery/door/airlock{ name = "Toilet" @@ -56046,23 +56620,26 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark/diagonal, /area/station/service/theater) +"pXL" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "pXM" = ( /obj/structure/railing/corner, /turf/open/floor/iron/dark, /area/station/engineering/break_room) -"pXO" = ( -/obj/structure/closet/crate, -/obj/item/gps, -/obj/item/assembly/timer, -/obj/item/gps, -/obj/item/assembly/signaler, -/obj/item/analyzer{ - pixel_x = 7; - pixel_y = 3 +"pYe" = ( +/obj/machinery/medical_kiosk, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron, -/area/station/commons/storage/primary) +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "pYI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -56074,18 +56651,11 @@ /obj/effect/landmark/navigate_destination/aiupload, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/ai_upload_foyer) -"pZQ" = ( -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 1 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) +"pYX" = ( +/obj/machinery/light/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/carpet/black, +/area/station/ai_monitored/turret_protected/ai_upload) "pZT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock/maintenance, @@ -56178,6 +56748,12 @@ dir = 1 }, /area/station/medical/virology) +"qaS" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/office) "qaV" = ( /obj/structure/sign/poster/contraband/random/directional/north, /obj/structure/bed/maint, @@ -56189,10 +56765,6 @@ }, /turf/open/floor/wood, /area/station/service/lawoffice) -"qbl" = ( -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "qbm" = ( /obj/structure/closet/secure_closet/engineering_welding, /turf/open/floor/iron/smooth, @@ -56209,27 +56781,35 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/storage_shared) -"qbO" = ( -/obj/structure/sign/warning/radiation/rad_area, -/turf/closed/wall/r_wall, -/area/station/engineering/gravity_generator) "qbT" = ( /turf/closed/wall/r_wall, /area/station/security/prison/mess) -"qbY" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "qcb" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/science/xenobiology) +"qch" = ( +/obj/item/storage/medkit/regular{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/storage/medkit/brute{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/medkit/brute, +/obj/item/storage/medkit/brute{ + pixel_x = -4; + pixel_y = -3 + }, +/obj/machinery/door/window/right/directional/west{ + name = "First Aid Supplies"; + req_access = list("medical") + }, +/obj/structure/table/reinforced/rglass, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "qcx" = ( /obj/structure/stairs/south, /turf/open/floor/iron/stairs/medium{ @@ -56255,30 +56835,39 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/central) +"qcI" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/structure/table, +/obj/item/stack/rods{ + amount = 25; + pixel_x = 2 + }, +/obj/item/stack/rods{ + amount = 25; + pixel_y = 4 + }, +/obj/item/stack/sheet/iron/fifty{ + pixel_x = 5 + }, +/obj/item/stack/sheet/iron/fifty, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "qcT" = ( /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/engineering/break_room) -"qdd" = ( -/obj/structure/table/glass, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 +"qdb" = ( +/obj/structure/railing/corner, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, -/obj/item/retractor, -/obj/item/retractor{ - pixel_x = -1; - pixel_y = 7 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/item/bonesetter{ - pixel_x = -4 - }, -/obj/item/bonesetter{ - pixel_x = 2; - pixel_y = 3 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "qdi" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine/hull, @@ -56362,17 +56951,6 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"qep" = ( -/obj/structure/sink/directional/west, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/effect/landmark/start/paramedic, -/obj/machinery/atmospherics/pipe/smart/manifold/general/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) "qeq" = ( /obj/effect/mapping_helpers/trapdoor_placer, /obj/machinery/camera/autoname/directional/south, @@ -56418,20 +56996,13 @@ "qeX" = ( /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) -"qeZ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, +"qfe" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner, +/obj/machinery/holopad, /obj/structure/disposalpipe/segment, -/turf/open/floor/iron/large, -/area/station/hallway/primary/central) -"qfh" = ( -/obj/effect/turf_decal/tile/red/half/contrasted, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured_edge{ - dir = 1 - }, -/area/station/medical/morgue) +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "qfi" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/shipping_container, @@ -56471,24 +57042,6 @@ /obj/structure/table/reinforced/rglass, /turf/open/floor/glass, /area/station/security/brig) -"qgd" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) "qgj" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -56545,6 +57098,19 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/storage) +"qgU" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/door/window/left/directional/east{ + name = "Cyborg Upload Console Window"; + req_access = list("ai_upload") + }, +/obj/machinery/computer/upload/borg{ + dir = 4 + }, +/turf/open/floor/circuit/green, +/area/station/ai_monitored/turret_protected/ai_upload) "qgV" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/decal/cleanable/blood/old, @@ -56561,13 +57127,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/engineering/main) -"qhn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/fore) "qhq" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -56656,12 +57215,14 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/engineering) -"qhZ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/engineering/lobby) +"qic" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/landmark/start/chief_engineer, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/ce) "qid" = ( /obj/machinery/door/airlock/research{ name = "Research Division Backdoor" @@ -56750,15 +57311,6 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"qjm" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 9 - }, -/obj/effect/turf_decal/tile/purple/half{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "qjn" = ( /obj/item/toy/plush/moth{ name = "Spanner"; @@ -56805,20 +57357,35 @@ }, /turf/open/space/basic, /area/space) +"qjP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/table, +/obj/machinery/reagentgrinder, +/obj/item/reagent_containers/cup/beaker/large{ + pixel_y = 4; + pixel_x = 5 + }, +/obj/item/reagent_containers/cup/beaker{ + pixel_x = 8; + pixel_y = 7 + }, +/obj/item/reagent_containers/dropper{ + pixel_y = -4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "qjQ" = ( /obj/structure/railing/corner/end{ dir = 1 }, /turf/open/openspace, /area/station/maintenance/port/aft) -"qjU" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/openspace, -/area/station/medical/storage) "qjV" = ( /obj/structure/disposalpipe/segment, /turf/closed/wall, @@ -56855,11 +57422,6 @@ }, /turf/open/floor/glass, /area/station/security/brig) -"qkm" = ( -/obj/machinery/light/directional/west, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) "qkv" = ( /obj/structure/railing{ dir = 4 @@ -56875,15 +57437,6 @@ /obj/effect/turf_decal/trimline/green/filled/line, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/commissary) -"qkG" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/machinery/firealarm/directional/east, -/obj/structure/table, -/obj/item/folder, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tcomms) "qkU" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -56891,6 +57444,21 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/service/library) +"qld" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "qle" = ( /obj/structure/table, /obj/item/clothing/head/cone{ @@ -56918,27 +57486,20 @@ /obj/machinery/mech_bay_recharge_port, /turf/open/floor/iron/smooth, /area/station/science/robotics) -"qlk" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/openspace, -/area/station/medical/storage) -"qln" = ( -/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ - name = "N2 Multideck Adapter"; +"qlw" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 }, -/obj/machinery/meter{ - name = "N2 meter" +/obj/effect/turf_decal/trimline/green/filled/mid_joiner{ + dir = 8 }, -/obj/effect/turf_decal/tile/red/half{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/sorting/mail, +/obj/effect/mapping_helpers/mail_sorting/medbay/virology, +/obj/structure/cable, +/turf/open/floor/iron/textured_large, +/area/station/medical/virology) "qlx" = ( /obj/structure/closet/crate/engineering{ name = "Basic Materials" @@ -56972,6 +57533,11 @@ }, /turf/open/floor/iron/stairs/left, /area/station/engineering/lobby) +"qlH" = ( +/obj/item/kirbyplants/random, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) "qlI" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/textured_large, @@ -56986,6 +57552,19 @@ }, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) +"qlO" = ( +/obj/effect/turf_decal/trimline/blue/filled/end{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "qlP" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -57035,14 +57614,6 @@ /obj/machinery/light_switch/directional/east, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/ai) -"qmD" = ( -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/structure/closet/crate/freezer, -/obj/item/food/chocolatebar, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "qmI" = ( /obj/structure/cable, /obj/effect/spawner/random/trash/garbage, @@ -57064,6 +57635,17 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"qnn" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/mail_sorting/engineering/ce_office, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/ce) "qnt" = ( /obj/structure/table/wood, /obj/item/storage/photo_album{ @@ -57214,24 +57796,6 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/plating, /area/station/maintenance/port) -"qpw" = ( -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 6 - }, -/obj/machinery/light_switch/directional/east, -/turf/open/floor/wood/parquet, -/area/station/medical/break_room) -"qpA" = ( -/obj/machinery/power/emitter{ - dir = 4 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/engine, -/area/station/engineering/break_room) "qpD" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -57277,6 +57841,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/construction/storage_wing) +"qqe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/landmark/start/hangover, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "qqi" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -57318,17 +57889,6 @@ }, /turf/open/floor/iron/white/textured_corner, /area/station/ai_monitored/turret_protected/aisat_interior) -"qqD" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 8 - }, -/obj/machinery/shower/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/pharmacy) "qqJ" = ( /obj/structure/chair/office{ dir = 4 @@ -57343,9 +57903,32 @@ /obj/structure/cable, /turf/open/floor/engine/hull, /area/space/nearstation) +"qrb" = ( +/obj/machinery/door/airlock/medical/glass{ + id_tag = "MedbayExit"; + name = "Medbay Exit" + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue/full, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "qrd" = ( /turf/open/openspace, /area/station/medical/abandoned) +"qrk" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/medical/medbay/central) +"qrt" = ( +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "qrz" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -57373,6 +57956,14 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) +"qrK" = ( +/obj/structure/rack, +/obj/effect/spawner/random/techstorage/medical_all, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "qrN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/green, @@ -57431,6 +58022,19 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) +"qsm" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Security E.V.A. Storage" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/effect/mapping_helpers/airlock/access/all/security/armory, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/red_alert_access, +/turf/open/floor/iron/dark, +/area/station/security/eva) "qsv" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating/airless, @@ -57439,16 +58043,6 @@ /obj/structure/ladder, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) -"qsD" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Medbay Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/medical/coldroom) "qsM" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -57502,6 +58096,38 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/wood/large, /area/station/service/library/private) +"qtO" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner, +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ + dir = 4 + }, +/obj/item/hand_labeler{ + pixel_y = 7 + }, +/obj/item/storage/pill_bottle/epinephrine{ + pixel_x = 8; + pixel_y = 5 + }, +/obj/item/stack/package_wrap{ + pixel_x = -11; + pixel_y = 2 + }, +/obj/item/stack/package_wrap{ + pixel_x = -7; + pixel_y = -1 + }, +/obj/structure/table, +/obj/machinery/button/door/directional/east{ + id = "chemshutters"; + name = "Chemistry Shutters"; + req_access = list("pharmacy") + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "qtR" = ( /obj/machinery/door/poddoor{ id = "abandonedcargo"; @@ -57522,6 +58148,10 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"qud" = ( +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/medical/medbay/central) "quB" = ( /obj/structure/chair/comfy/brown{ color = "#596479"; @@ -57652,16 +58282,6 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"qwb" = ( -/obj/structure/rack, -/obj/item/storage/belt/utility, -/obj/item/airlock_painter, -/obj/item/storage/belt/utility, -/obj/item/clothing/gloves/color/fyellow, -/obj/item/clothing/gloves/color/fyellow, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "qwn" = ( /obj/structure/window/reinforced/spawner/directional/east, /turf/open/space/openspace, @@ -57714,6 +58334,14 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"qxD" = ( +/obj/machinery/shower/directional/west, +/obj/effect/turf_decal/siding/blue/end{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/full, +/turf/open/floor/iron/showroomfloor, +/area/station/medical/medbay/central) "qxE" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating/airless, @@ -57742,6 +58370,11 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/ai_monitored/turret_protected/ai) +"qxT" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/obj/machinery/meter, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "qye" = ( /obj/machinery/suit_storage_unit/standard_unit, /obj/structure/sign/nanotrasen{ @@ -57832,12 +58465,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"qze" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/smooth_large, -/area/station/maintenance/department/medical) "qzf" = ( /obj/machinery/door/airlock{ name = "Kitchen" @@ -57872,20 +58499,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"qzF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron/textured_large, -/area/station/medical/abandoned) -"qzL" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/emcloset, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "qzN" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/decal/cleanable/dirt, @@ -57957,32 +58570,6 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"qAC" = ( -/obj/structure/closet{ - name = "Coldroom Wearcloset" - }, -/obj/structure/railing{ - dir = 10 - }, -/obj/item/clothing/suit/hooded/wintercoat/medical/cmo{ - pixel_x = -5; - pixel_y = 9 - }, -/obj/item/clothing/suit/hooded/wintercoat/medical/viro{ - pixel_x = -2; - pixel_y = 6 - }, -/obj/item/clothing/suit/hooded/wintercoat/medical/chemistry{ - pixel_x = 1; - pixel_y = 3 - }, -/obj/item/clothing/suit/hooded/wintercoat/medical{ - pixel_x = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/lattice/catwalk, -/turf/open/openspace/coldroom, -/area/station/medical/coldroom) "qAI" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -58003,6 +58590,15 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/dark/smooth_large, /area/station/security/courtroom) +"qAQ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 9 + }, +/obj/effect/turf_decal/tile/dark/half{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "qBe" = ( /obj/machinery/door/airlock/wood{ name = "Curator Office" @@ -58030,6 +58626,17 @@ /obj/structure/cable, /turf/open/floor/wood/large, /area/station/hallway/secondary/service) +"qBi" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/light_switch/directional/west, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "qBm" = ( /obj/structure/disposalpipe/junction/flip, /obj/effect/turf_decal/tile/dark_blue{ @@ -58056,6 +58663,12 @@ /obj/structure/table/wood/fancy, /turf/open/openspace, /area/station/maintenance/port/fore) +"qBy" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/power/tracker, +/obj/structure/cable, +/turf/open/space/basic, +/area/station/solars/port/aft) "qBF" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -58065,6 +58678,18 @@ /obj/item/tank/internals/anesthetic, /turf/open/floor/iron/white, /area/station/maintenance/hallway/abandoned_recreation) +"qBX" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/machinery/door/window/left/directional/north{ + name = "Anti Assistant Protection Door"; + req_access = list("medical") + }, +/obj/machinery/portable_atmospherics/canister/anesthetic_mix, +/obj/effect/turf_decal/tile/dark_green/diagonal_centre, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/cryo) "qCe" = ( /obj/structure/chair/comfy/brown{ dir = 4 @@ -58088,6 +58713,57 @@ /obj/effect/landmark/start/security_officer, /turf/open/floor/iron/dark, /area/station/security/office) +"qCA" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 7 + }, +/obj/item/stack/ducts/fifty{ + pixel_y = -3 + }, +/obj/item/stack/ducts/fifty{ + pixel_y = -3 + }, +/obj/item/stack/ducts/fifty{ + pixel_y = -3 + }, +/obj/item/stack/ducts/fifty{ + pixel_y = -3 + }, +/obj/item/stack/ducts/fifty{ + pixel_y = -3 + }, +/obj/item/stack/ducts/fifty{ + pixel_y = -3 + }, +/obj/item/stack/ducts/fifty{ + pixel_y = -3 + }, +/obj/item/stack/ducts/fifty{ + pixel_y = -3 + }, +/obj/item/reagent_containers/dropper, +/obj/item/stack/cable_coil{ + pixel_x = -7; + pixel_y = 4 + }, +/obj/item/stack/cable_coil{ + pixel_x = -12 + }, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) +"qCH" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Science Store" + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/effect/landmark/navigate_destination/research, +/turf/open/floor/iron/dark, +/area/station/science/lobby) "qCN" = ( /obj/structure/railing{ dir = 1 @@ -58131,36 +58807,10 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"qDh" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "qDi" = ( /obj/effect/landmark/firealarm_sanity, /turf/open/openspace, /area/station/commons/dorms) -"qDn" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Storage Room" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/port) "qDM" = ( /obj/structure/chair, /obj/machinery/light/directional/west, @@ -58181,19 +58831,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison/safe) -"qEj" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) -"qEy" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/plasma{ - dir = 8 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "qEE" = ( /obj/structure/chair{ dir = 8 @@ -58249,20 +58886,6 @@ }, /turf/open/floor/iron/smooth, /area/station/engineering/atmos/upper) -"qFa" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/modular_computer/preset/cargochat/medical, -/turf/open/floor/wood, -/area/station/medical/medbay/central) -"qFj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/wood, -/area/station/medical/medbay/central) "qFr" = ( /obj/machinery/door/airlock/command{ name = "Teleport Access" @@ -58296,6 +58919,16 @@ /obj/effect/landmark/start/security_officer, /turf/open/floor/iron/dark, /area/station/security/medical) +"qFD" = ( +/obj/machinery/holopad, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/large, +/area/station/medical/break_room) "qFO" = ( /turf/open/floor/circuit/green/telecomms/mainframe, /area/station/tcommsat/server) @@ -58303,6 +58936,15 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/carpet/black, /area/station/maintenance/hallway/abandoned_recreation) +"qGm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "qGv" = ( /obj/structure/chair/sofa/right/brown{ dir = 1 @@ -58329,6 +58971,15 @@ /obj/structure/cable, /turf/open/floor/iron/smooth_half, /area/station/ai_monitored/turret_protected/aisat/foyer) +"qGQ" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; + id = "chemshutters"; + name = "Pharmacy Shutters" + }, +/turf/open/floor/plating, +/area/station/medical/pharmacy) "qGW" = ( /obj/machinery/door/airlock/command{ name = "E.V.A. Storage" @@ -58397,9 +59048,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"qHZ" = ( -/turf/open/openspace, -/area/station/medical/cryo) "qIa" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair{ @@ -58412,17 +59060,35 @@ /obj/effect/mapping_helpers/mail_sorting/science/ordnance, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"qIp" = ( -/obj/machinery/porta_turret/ai{ +"qIc" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/light/small/directional/east, +/obj/structure/closet{ + name = "janitorial supplies" + }, +/turf/open/floor/iron/dark/textured_edge{ dir = 4 }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) +/area/station/medical/morgue) "qIz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/iron/smooth, /area/station/science/robotics) +"qIB" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/medical/patients_rooms/room_a) "qIF" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -58438,6 +59104,19 @@ }, /turf/open/openspace, /area/station/hallway/primary/central) +"qIK" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/structure/chair{ + dir = 8; + pixel_y = -2 + }, +/turf/open/floor/glass, +/area/station/medical/medbay/central) "qJb" = ( /obj/machinery/disposal/bin, /obj/item/radio/intercom/directional/south, @@ -58465,6 +59144,16 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) +"qJA" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/item/weldingtool/empty{ + pixel_x = -5; + pixel_y = -6 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "qJB" = ( /obj/effect/turf_decal/bot_white/right, /turf/open/floor/iron/dark/textured_large, @@ -58487,10 +59176,16 @@ /turf/open/floor/iron/white/smooth_large, /area/station/hallway/secondary/entry) "qJN" = ( -/obj/machinery/photocopier/prebuilt, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/engine, -/area/station/command/heads_quarters/ce) +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/structure/table/reinforced/rglass, +/obj/item/reagent_containers/spray/cleaner, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "qJS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -58517,6 +59212,9 @@ "qKq" = ( /turf/open/openspace, /area/station/science/zoo) +"qKu" = ( +/turf/closed/wall, +/area/station/medical/patients_rooms/room_a) "qKA" = ( /obj/structure/railing{ dir = 6 @@ -58629,6 +59327,12 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"qMh" = ( +/obj/item/food/sandwich/cheese, +/obj/structure/table/wood, +/obj/machinery/computer/records/medical/laptop, +/turf/open/floor/carpet/cyan, +/area/station/command/heads_quarters/cmo) "qMi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -58650,17 +59354,6 @@ }, /turf/open/floor/wood, /area/station/security/courtroom) -"qMz" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark/textured_edge{ - dir = 8 - }, -/area/station/medical/morgue) "qMC" = ( /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, @@ -58740,6 +59433,15 @@ /obj/structure/sign/poster/contraband/kss13/directional/west, /turf/open/floor/wood, /area/station/commons/dorms) +"qNp" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "qNq" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/fluff/paper/stack, @@ -58754,23 +59456,6 @@ }, /turf/open/floor/wood, /area/station/hallway/primary/central) -"qNy" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"qNF" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, -/obj/effect/turf_decal/tile/neutral/half{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "qNK" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/portable_atmospherics/canister/air, @@ -58812,6 +59497,51 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"qOb" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","medbay"); + c_tag = "Medbay - Lower Operating Room" + }, +/obj/structure/table/reinforced/rglass, +/obj/item/storage/box/masks{ + pixel_x = -6; + pixel_y = 2 + }, +/obj/item/storage/box/bodybags{ + pixel_x = 6; + pixel_y = 2 + }, +/obj/item/storage/box/gloves{ + pixel_y = 10 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 8 + }, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) +"qOe" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L10" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/central) +"qOm" = ( +/obj/structure/closet/crate, +/obj/item/gps, +/obj/item/assembly/timer, +/obj/item/gps, +/obj/item/assembly/signaler, +/obj/item/analyzer{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "qOv" = ( /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, @@ -58823,6 +59553,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) +"qOF" = ( +/obj/structure/cable, +/obj/effect/spawner/random/trash/graffiti, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/port) "qOS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -58846,6 +59583,21 @@ /obj/item/stack/sheet/cloth/five, /turf/open/floor/iron, /area/station/maintenance/starboard/central) +"qPv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/door/airlock/engineering{ + name = "Tech Storage" + }, +/obj/effect/landmark/navigate_destination/techstorage, +/obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "qPw" = ( /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, @@ -58860,10 +59612,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden/abandoned) -"qPB" = ( -/obj/structure/mannequin/skeleton, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/morgue) "qPD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59006,6 +59754,13 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/engineering/lobby) +"qRi" = ( +/obj/effect/turf_decal/siding/dark_blue{ + dir = 4 + }, +/obj/machinery/light/floor, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "qRp" = ( /turf/open/floor/glass/reinforced/plasma, /area/station/engineering/atmos/project) @@ -59218,15 +59973,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/central) -"qUW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "qVd" = ( /obj/effect/turf_decal/siding/brown{ dir = 8 @@ -59342,6 +60088,10 @@ /obj/machinery/status_display/evac/directional/north, /turf/open/openspace, /area/station/command/bridge) +"qWn" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, +/turf/closed/wall, +/area/station/medical/cryo) "qWv" = ( /obj/structure/table/wood/poker, /obj/item/toy/cards/deck{ @@ -59350,16 +60100,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) -"qWy" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white/textured, -/area/station/medical/surgery) "qWV" = ( /obj/structure/lattice/catwalk, /obj/effect/turf_decal/stripes/line{ @@ -59413,13 +60153,6 @@ /obj/effect/turf_decal/trimline/yellow, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"qXB" = ( -/obj/machinery/vending/assist, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "qXH" = ( /obj/structure/cable, /obj/effect/landmark/start/depsec/engineering, @@ -59543,6 +60276,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, /area/station/engineering/break_room) +"qZd" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/all/medical/pharmacy, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/medical/chem_storage) "qZv" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/generic_maintenance_landmark, @@ -59558,16 +60299,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"qZD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "qZE" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/machinery/computer/telecomms/server{ - dir = 8; - network = "tcommsat" - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tcomms) +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/lobby) "qZH" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -59625,24 +60367,6 @@ }, /turf/open/floor/engine/vacuum, /area/station/maintenance/disposal/incinerator) -"rah" = ( -/obj/structure/rack, -/obj/item/reagent_containers/cup/bottle/iron{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/reagent_containers/cup/bottle/lithium{ - pixel_x = 7; - pixel_y = 3 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","medbay"); - c_tag = "Medbay - Lower Chemistry Storage" - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/medbay/central) "ran" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -59717,10 +60441,24 @@ /obj/structure/spider/stickyweb, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"rbx" = ( -/obj/machinery/newscaster/directional/west, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/medbay/central) +"rbl" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 1 + }, +/turf/closed/wall/r_wall, +/area/station/engineering/atmos/upper) +"rbs" = ( +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow, +/obj/structure/plasticflaps/kitchen, +/obj/machinery/door/airlock/maintenance{ + name = "Medbay Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/surgery, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/kitchen_coldroom/freezerfloor, +/area/station/medical/coldroom) "rbE" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -59729,31 +60467,16 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/prison/mess) -"rbF" = ( -/obj/effect/turf_decal/siding/yellow{ - dir = 9 - }, -/obj/structure/table, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty{ - pixel_x = 5 - }, -/obj/item/stack/rods{ - amount = 25; - pixel_x = 2 - }, -/obj/item/stack/rods{ - amount = 25; - pixel_y = 4 - }, -/obj/structure/railing{ - dir = 9 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ +"rbG" = ( +/obj/effect/turf_decal/trimline/blue/warning{ dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/surgery) "rbQ" = ( /obj/structure/railing{ dir = 4 @@ -59802,20 +60525,6 @@ "rcG" = ( /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/ai) -"rcM" = ( -/obj/machinery/door/airlock/command{ - name = "Chief Medical Officer's Office" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/cmo, -/obj/machinery/door/firedoor, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "rdb" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -59891,13 +60600,21 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"rea" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Virology Maintenance" +"reb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/mapping_helpers/airlock/access/all/medical/virology, -/turf/open/floor/plating, -/area/station/maintenance/port) +/obj/structure/cable, +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "rec" = ( /obj/machinery/light/small/directional/west, /obj/structure/chair/comfy/beige{ @@ -59958,6 +60675,21 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) +"rfi" = ( +/obj/structure/cable, +/turf/open/floor/carpet/black, +/area/station/ai_monitored/turret_protected/ai_upload) +"rfn" = ( +/obj/machinery/camera/autoname/directional/north{ + network = list("ss13","medbay"); + c_tag = "Medbay - Lower North Treatment Center" + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/medical_kiosk, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "rfr" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm/directional/west, @@ -59976,6 +60708,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"rfw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/medical{ + name = "Abandoned Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/turf/open/floor/iron/textured_large, +/area/station/maintenance/department/medical) "rfE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/lattice/catwalk, @@ -59989,12 +60729,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/large, /area/station/hallway/primary/central) -"rfZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/medbay/central) "rga" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -60028,17 +60762,22 @@ }, /turf/open/floor/carpet, /area/station/command/meeting_room/council) -"rgH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) -"rhx" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ +"rgD" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/medical/glass{ + name = "Chemistry" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/chemistry, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, -/turf/open/floor/iron/white/textured, -/area/station/medical/surgery) +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "rhz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/plasma, @@ -60077,6 +60816,13 @@ /obj/effect/turf_decal/tile/purple/opposingcorners, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"rhL" = ( +/obj/effect/decal/cleanable/generic, +/obj/structure/railing{ + dir = 5 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/turret_protected/ai_upload) "rhM" = ( /obj/effect/turf_decal/trimline/white/corner{ dir = 8 @@ -60092,15 +60838,6 @@ "rih" = ( /turf/open/floor/plating, /area/station/maintenance/central) -"rii" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "riv" = ( /obj/item/trash/shok_roks/berry, /obj/structure/cable, @@ -60185,6 +60922,38 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/dark, /area/station/maintenance/port) +"rjj" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) +"rju" = ( +/obj/structure/sign/warning/gas_mask/directional/west, +/obj/structure/table/reinforced/plasmarglass, +/obj/machinery/reagentgrinder{ + pixel_x = -8; + pixel_y = 8 + }, +/obj/item/paper_bin{ + pixel_x = 6; + pixel_y = 12 + }, +/obj/item/pen{ + pixel_x = 6; + pixel_y = 12 + }, +/obj/item/folder/white{ + pixel_x = 6 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/engine, +/area/station/medical/chemistry) "rjz" = ( /obj/structure/table, /obj/effect/spawner/random/entertainment/drugs, @@ -60225,11 +60994,6 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/carpet/black, /area/station/service/library/private) -"rkg" = ( -/obj/machinery/camera/autoname/directional/north, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "rki" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/engine, @@ -60372,17 +61136,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/office) -"rmd" = ( -/obj/structure/table, -/obj/item/book/manual/wiki/atmospherics, -/obj/machinery/requests_console/directional/south{ - department = "Engineering"; - name = "Engineering Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, -/turf/open/floor/engine/hull/reinforced/air, -/area/station/engineering/atmos/project) "rmg" = ( /obj/structure/stairs/north, /obj/machinery/airalarm/directional/east, @@ -60448,6 +61201,22 @@ }, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/fore) +"rmK" = ( +/obj/structure/table/reinforced, +/obj/item/book/manual/wiki/engineering_hacking{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/book/manual/wiki/engineering_guide, +/obj/item/book/manual/wiki/engineering_construction{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/trash/can{ + pixel_x = -8 + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "rmM" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -60459,6 +61228,21 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/command) +"rmN" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "rmO" = ( /obj/effect/turf_decal/siding/dark/corner, /obj/effect/turf_decal/trimline/dark_blue/filled/line{ @@ -60514,28 +61298,26 @@ }, /turf/closed/wall, /area/station/maintenance/starboard/fore) -"rnC" = ( -/obj/structure/closet/emcloset, -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"rnP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/item/clothing/gloves/color/blue{ - desc = "An old pair of nitrile gloves, with no sterile properties."; - name = "old nitrile gloves" +"rnF" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/table, +/obj/item/reagent_containers/cup/glass/mug{ + pixel_x = -5; + pixel_y = -15 + }, +/obj/item/ai_module/toy_ai{ + pixel_x = -8; + pixel_y = 9 }, -/turf/open/floor/iron/white, -/area/station/medical/abandoned) -"rnQ" = ( -/obj/structure/ladder, -/obj/structure/railing, -/obj/effect/decal/cleanable/dirt, /obj/structure/lattice/catwalk, -/turf/open/openspace/coldroom, -/area/station/medical/coldroom) +/obj/item/clipboard{ + pixel_x = 1; + pixel_y = -2 + }, +/turf/open/openspace, +/area/station/ai_monitored/turret_protected/ai_upload) "rnR" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /obj/machinery/camera/autoname/directional/east, @@ -60551,6 +61333,12 @@ /obj/structure/table/reinforced, /turf/open/floor/iron/dark, /area/station/engineering/storage) +"roi" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "roj" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -60561,17 +61349,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"ror" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "N2O to Port" - }, -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "rot" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -60594,6 +61371,12 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) +"roz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/pipe_scrubber, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "roB" = ( /obj/structure/lattice/catwalk, /obj/machinery/firealarm/directional/east, @@ -60660,12 +61443,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/starboard/aft) -"rpz" = ( -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/fore) "rpB" = ( /turf/closed/wall/r_wall, /area/station/command/corporate_showroom) @@ -60696,6 +61473,25 @@ "rpU" = ( /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"rpY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/yellow/full, +/obj/effect/mapping_helpers/airlock/access/all/medical/pharmacy, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical{ + name = "Chemical Storage" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock_note_placer{ + note_info = "Looking for your chem factory area? Go upstairs and you will find it above the Pharmacy. You also have a new Controlled Hazard Chamber"; + note_name = "Projects" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/chem_storage) "rqc" = ( /obj/structure/closet/secure_closet/freezer/meat, /obj/machinery/camera/autoname/directional/south, @@ -60733,14 +61529,6 @@ "rqo" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos/project) -"rqp" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/engineering/lobby) "rqq" = ( /obj/structure/table/wood, /obj/item/storage/photo_album/chapel, @@ -60784,6 +61572,24 @@ /obj/structure/ladder, /turf/open/openspace, /area/station/maintenance/port/aft) +"rrd" = ( +/obj/structure/rack, +/obj/item/reagent_containers/cup/bottle/iron{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bottle/lithium{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","medbay"); + c_tag = "Medbay - Lower Chemistry Storage" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/chem_storage) "rrj" = ( /obj/machinery/door/airlock/public/glass{ id_tag = "courtlockdown"; @@ -60800,6 +61606,13 @@ }, /turf/open/floor/wood, /area/station/security/courtroom) +"rrn" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "rro" = ( /obj/structure/lattice/catwalk, /obj/structure/railing, @@ -60873,14 +61686,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/central) -"rsU" = ( -/obj/item/radio/intercom/directional/north, -/obj/machinery/medical_kiosk, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "rtb" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/machinery/conveyor{ @@ -60919,14 +61724,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"rto" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/item/toy/figure/cmo{ - pixel_y = 10; - pixel_x = -1 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "rtx" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -60949,6 +61746,18 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/hallway/secondary/entry) +"rtM" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/cmo) "rtO" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -60975,24 +61784,29 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat/foyer) -"ruD" = ( -/obj/item/kirbyplants, +"ruy" = ( /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/camera/autoname/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"ruB" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/ce) "ruE" = ( /obj/effect/decal/cleanable/dirt, /obj/item/cigbutt, /turf/open/floor/iron, /area/station/maintenance/starboard/central) -"ruJ" = ( -/obj/item/kirbyplants/random, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/textured_large, -/area/station/medical/abandoned) "ruK" = ( /obj/machinery/door/airlock/public/glass{ name = "Abandoned Hallway" @@ -61105,15 +61919,6 @@ "rwh" = ( /turf/closed/wall/r_wall, /area/station/security/medical) -"rwy" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "rwG" = ( /obj/machinery/door/airlock/mining/glass{ name = "Mining Dock" @@ -61171,22 +61976,10 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) -"rxd" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron/dark, -/area/station/medical/pharmacy) "rxk" = ( /obj/machinery/holopad, /turf/open/floor/iron, /area/station/cargo/storage) -"rxm" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/engineering/lobby) "rxo" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -61195,18 +61988,6 @@ /obj/structure/railing/corner, /turf/open/openspace, /area/station/commons/fitness/recreation) -"rxx" = ( -/obj/structure/table, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, -/obj/item/folder/white{ - pixel_x = -1; - pixel_y = 3 - }, -/obj/machinery/light/directional/south, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/pharmacy) "rxH" = ( /turf/open/floor/engine, /area/station/engineering/supermatter/room) @@ -61241,6 +62022,15 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"ryr" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/landmark/firealarm_sanity, +/turf/open/floor/iron/stairs/medium{ + dir = 4 + }, +/area/station/medical/abandoned) "ryJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -61330,22 +62120,36 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/maintenance/hallway/abandoned_recreation) -"rAg" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/bot, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "rAl" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/wood, /area/station/maintenance/hallway/abandoned_recreation) +"rAq" = ( +/obj/structure/table, +/obj/item/phone{ + pixel_x = 6; + pixel_y = 1 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) "rAs" = ( /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/science/lab) +"rAy" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/blue{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "rAD" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -61385,15 +62189,6 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/carpet, /area/station/hallway/secondary/exit/departure_lounge) -"rBd" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/openspace, -/area/station/medical/storage) "rBh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment{ @@ -61426,6 +62221,10 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/openspace, /area/station/command/bridge) +"rBG" = ( +/obj/machinery/digital_clock/directional/south, +/turf/open/floor/glass/reinforced, +/area/station/medical/chemistry) "rBI" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/decal/cleanable/confetti, @@ -61524,25 +62323,6 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"rCQ" = ( -/obj/effect/decal/cleanable/generic, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/east, -/obj/structure/rack, -/obj/effect/spawner/round_default_module, -/obj/effect/spawner/random/aimodule/neutral{ - pixel_x = 3; - pixel_y = 3 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) -"rDc" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 8 - }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) "rDd" = ( /obj/structure/chair/office{ dir = 1 @@ -61585,24 +62365,6 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/cargo/bitrunning/den) -"rDD" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/computer/crew{ - dir = 1 - }, -/obj/machinery/status_display/evac/directional/south, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/medbay/central) -"rDN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/white/textured, -/area/station/medical/surgery) "rEd" = ( /obj/structure/ladder, /obj/effect/decal/cleanable/dirt, @@ -61615,15 +62377,6 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/security/prison) -"rEt" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/grunge{ - name = "Morgue" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/airlock/access/all/medical/morgue, -/turf/open/floor/iron/dark/small, -/area/station/medical/morgue) "rEv" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/stairs/medium, @@ -61637,12 +62390,14 @@ /obj/structure/sink/directional/south, /turf/open/floor/iron/freezer, /area/station/commons/dorms) -"rEL" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 8 +"rET" = ( +/obj/machinery/door/airlock/command{ + name = "Chief Engineer's Quarters" }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) +/obj/effect/mapping_helpers/airlock/access/all/engineering/ce, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/ce) "rFi" = ( /obj/structure/chair{ dir = 4; @@ -61658,24 +62413,17 @@ }, /turf/open/floor/plating, /area/station/science/ordnance) -"rFk" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/thermomachine/freezer, -/obj/machinery/camera/autoname/directional/north{ - network = list("ss13","medbay"); - c_tag = "Medbay - Lower Cryo" - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) "rFm" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/disposalpipe/trunk, /obj/machinery/disposal/bin, /turf/open/floor/wood, /area/station/hallway/secondary/service) +"rFp" = ( +/obj/machinery/door/firedoor, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "rFq" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -61756,6 +62504,12 @@ }, /turf/open/floor/iron/textured_large, /area/station/security/prison/rec) +"rGq" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/glass/reinforced, +/area/station/solars/starboard/fore) "rGw" = ( /obj/structure/cable, /obj/machinery/door/airlock/maintenance_hatch, @@ -61769,6 +62523,17 @@ /obj/structure/fake_stairs/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"rGR" = ( +/obj/structure/closet/crate/freezer/blood, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 9 + }, +/obj/effect/turf_decal/weather/snow, +/obj/machinery/light_switch/directional/west, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/iron/kitchen_coldroom/freezerfloor, +/area/station/medical/coldroom) "rHk" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -61794,12 +62559,9 @@ /obj/effect/landmark/navigate_destination/bridge, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/command) -"rHB" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/white, +"rHx" = ( +/obj/structure/sign/departments/medbay/alt/directional/south, +/turf/open/openspace, /area/station/medical/medbay/central) "rHD" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -61829,16 +62591,6 @@ /obj/machinery/vending/cigarette, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"rHP" = ( -/obj/machinery/computer/atmos_control/carbon_tank, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/obj/effect/turf_decal/tile/dark/half{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "rHS" = ( /obj/structure/lattice/catwalk, /obj/machinery/door/window/left/directional/west{ @@ -61883,21 +62635,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/service/chapel) -"rIr" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/door/airlock/engineering{ - name = "Tech Storage" - }, -/obj/effect/landmark/navigate_destination/techstorage, -/obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "rIw" = ( /obj/machinery/vending/tool, /turf/open/floor/iron, @@ -61910,6 +62647,18 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"rII" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "rIS" = ( /obj/machinery/wall_healer/directional/west{ pixel_x = 27 @@ -61966,6 +62715,18 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"rJb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/modular_computer/preset/cargochat/medical{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "rJe" = ( /obj/effect/turf_decal/siding/brown{ dir = 10 @@ -61980,6 +62741,10 @@ /obj/machinery/duct, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) +"rJj" = ( +/obj/machinery/light/floor, +/turf/open/floor/iron/dark/textured_half, +/area/station/medical/surgery) "rJo" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -62041,6 +62806,10 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"rJQ" = ( +/obj/structure/sign/departments/medbay/alt/directional/south, +/turf/open/floor/iron/large, +/area/station/hallway/primary/central) "rKn" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -62050,11 +62819,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, /area/station/service/chapel) -"rKq" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/medical/cryo) "rKA" = ( /turf/closed/wall, /area/station/maintenance/starboard/lesser) @@ -62163,12 +62927,6 @@ "rMj" = ( /turf/open/floor/engine/hull/air, /area/station/maintenance/starboard/lesser) -"rMv" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "rMS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -62203,6 +62961,9 @@ "rNe" = ( /turf/open/openspace, /area/station/commons/fitness/recreation) +"rNq" = ( +/turf/open/floor/glass/reinforced, +/area/station/medical/chemistry) "rNx" = ( /obj/structure/table, /obj/item/stamp/denied{ @@ -62237,6 +62998,34 @@ }, /turf/open/floor/iron/smooth, /area/station/engineering/atmos/upper) +"rNE" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "rear_surgery"; + name = "Surgery Shutters" + }, +/turf/open/floor/plating, +/area/station/medical/surgery) +"rNM" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) +"rNN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/medical/pharmacy, +/obj/machinery/door/airlock/medical/glass{ + name = "Pharmacy" + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/yellow/full, +/obj/effect/mapping_helpers/airlock_note_placer{ + note_info = "Looking for your chem factory area? Go upstairs and you will find it above the Pharmacy. You also have a new Controlled Hazard Chamber"; + note_name = "Projects" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "rNT" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -62320,13 +63109,6 @@ }, /turf/open/floor/engine/vacuum, /area/station/maintenance/disposal/incinerator) -"rOM" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "rOQ" = ( /obj/machinery/skill_station, /turf/open/floor/engine/hull/air, @@ -62430,6 +63212,21 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"rQn" = ( +/obj/effect/turf_decal/trimline/blue/filled/end{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "rQq" = ( /obj/structure/table/reinforced, /obj/item/taperecorder, @@ -62458,13 +63255,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/medical) -"rQU" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "rRd" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/table/reinforced, @@ -62493,12 +63283,6 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"rRy" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted, -/turf/open/floor/iron/dark/smooth_edge{ - dir = 1 - }, -/area/station/medical/pharmacy) "rRJ" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 9 @@ -62564,12 +63348,9 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) -"rSj" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark/smooth_edge{ - dir = 4 - }, -/area/station/medical/pharmacy) +"rSk" = ( +/turf/open/floor/plating/elevatorshaft, +/area/station/engineering/atmos/upper) "rSu" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -62597,29 +63378,11 @@ "rTo" = ( /turf/open/floor/iron/dark, /area/station/security/office) -"rTp" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/yellow, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/iron/white/textured_corner, -/area/station/medical/surgery) "rTz" = ( /obj/effect/turf_decal/tile/red/opposingcorners, /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, /area/station/security/brig) -"rTD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/effect/mapping_helpers/apc/unlocked, -/obj/effect/mapping_helpers/apc/no_charge, -/obj/effect/mapping_helpers/apc/cut_AI_wire, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "rTF" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -62726,10 +63489,19 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/commissary) -"rUH" = ( -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/iron, -/area/station/commons/storage/primary) +"rUM" = ( +/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ + name = "N2 Multideck Adapter"; + dir = 8 + }, +/obj/machinery/meter{ + name = "N2 meter" + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "rVc" = ( /obj/effect/turf_decal/siding/dark{ dir = 4 @@ -62741,17 +63513,50 @@ dir = 1 }, /area/station/ai_monitored/turret_protected/aisat_interior) +"rVd" = ( +/obj/machinery/light/small/directional/south, +/obj/structure/table/reinforced, +/obj/item/storage/briefcase/secure{ + pixel_x = -1; + pixel_y = 4 + }, +/obj/item/paper/monitorkey, +/obj/item/clipboard, +/obj/machinery/camera/autoname/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/ce) "rVf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"rVl" = ( +/obj/machinery/suit_storage_unit/medical, +/obj/effect/turf_decal/bot_white{ + color = "#52B4E9" + }, +/obj/machinery/status_display/evac/directional/south, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "rVs" = ( /obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) +"rVw" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; + id = "chemshutters"; + name = "Pharmacy Shutters" + }, +/obj/effect/spawner/structure/window, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "rVx" = ( /obj/structure/closet/crate/coffin, /turf/open/floor/plating, @@ -62773,13 +63578,6 @@ }, /turf/open/floor/eighties/red, /area/station/maintenance/hallway/abandoned_recreation) -"rVM" = ( -/obj/structure/lattice/catwalk, -/obj/structure/table/reinforced, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/openspace, -/area/station/security/checkpoint/customs) "rVT" = ( /obj/effect/turf_decal/siding/brown{ dir = 1 @@ -62810,6 +63608,19 @@ }, /turf/open/floor/engine/hull, /area/station/maintenance/starboard/lesser) +"rWl" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "medbay-office"; + name = "Medbay Shutters"; + dir = 4 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plating, +/area/station/medical/medbay/central) "rWp" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, @@ -62870,6 +63681,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"rWX" = ( +/obj/structure/rack, +/obj/item/reagent_containers/cup/bottle/mercury{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bottle/nitrogen{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bottle/oxygen{ + pixel_x = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/chem_storage) "rXq" = ( /obj/effect/turf_decal/trimline/white/corner{ dir = 1 @@ -62879,13 +63709,6 @@ /obj/effect/turf_decal/tile/brown/full, /turf/open/floor/iron/large, /area/station/maintenance/starboard/lesser) -"rXw" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Atmospherics - co2 Cell"; - name = "atmospherics camera" - }, -/turf/open/floor/engine/n2o, -/area/station/engineering/atmos/upper) "rXD" = ( /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, @@ -62912,17 +63735,16 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology/hallway) -"rYd" = ( -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "rYf" = ( /obj/structure/grille, /obj/structure/lattice, /turf/open/space/openspace, /area/space/nearstation) +"rYj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) "rYu" = ( /obj/machinery/suit_storage_unit/standard_unit, /obj/machinery/status_display/evac/directional/west, @@ -62934,13 +63756,6 @@ }, /turf/open/floor/engine/hull/reinforced, /area/space/nearstation) -"rYF" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "rYH" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/disposalpipe/segment{ @@ -62985,29 +63800,25 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron/dark/smooth_large, /area/station/security/courtroom) -"rZv" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/parquet, -/area/station/medical/break_room) -"rZP" = ( -/obj/effect/turf_decal/tile/yellow, -/turf/open/floor/iron/white/textured_corner, -/area/station/medical/surgery) -"rZR" = ( -/obj/machinery/newscaster/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +"rZC" = ( +/obj/machinery/light/warm/dim/directional/north, +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/hallway/primary/central) +"rZM" = ( +/obj/structure/railing{ + dir = 1 }, -/turf/open/floor/iron, -/area/station/commons/storage/primary) +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "rZU" = ( /turf/open/floor/engine/hull/reinforced, /area/station/maintenance/port/aft) -"sag" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/morgue) "saq" = ( /obj/structure/flora/bush/fullgrass/style_random, /obj/effect/landmark/start/hangover, @@ -63163,13 +63974,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"sbT" = ( -/obj/structure/flora/bush/large/style_random, -/obj/effect/turf_decal/siding/blue{ - dir = 4 - }, -/turf/open/floor/grass, -/area/station/medical/medbay/central) "scc" = ( /obj/effect/turf_decal/siding{ dir = 6 @@ -63414,26 +64218,6 @@ "sfh" = ( /turf/closed/wall, /area/station/maintenance/disposal) -"sfj" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 1 - }, -/obj/structure/sink/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/north{ - network = list("ss13","medbay"); - c_tag = "Medbay - Lower North Treatment Center" - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "sfn" = ( /turf/open/floor/carpet, /area/station/command/bridge) @@ -63529,9 +64313,19 @@ /obj/item/radio/intercom, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"sgN" = ( +"sgP" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=2"; + location = "Medical" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, /turf/open/floor/iron/dark, -/area/station/maintenance/starboard/fore) +/area/station/medical/medbay/lobby) "sgQ" = ( /obj/structure/table/wood/poker, /obj/effect/spawner/random/entertainment/gambling, @@ -63585,6 +64379,10 @@ "shx" = ( /turf/closed/wall/r_wall, /area/station/maintenance/disposal/incinerator) +"shC" = ( +/obj/machinery/light/directional/east, +/turf/open/openspace, +/area/station/ai_monitored/turret_protected/ai_upload) "shG" = ( /obj/structure/railing{ dir = 8 @@ -63664,6 +64462,14 @@ "siP" = ( /turf/open/floor/iron/dark/smooth_large, /area/station/commons/lounge) +"siS" = ( +/obj/structure/sink/directional/west, +/obj/machinery/iv_drip, +/obj/structure/mirror/directional/east, +/turf/open/floor/iron/dark/textured_corner{ + dir = 8 + }, +/area/station/medical/surgery) "siX" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt, @@ -63683,6 +64489,13 @@ }, /turf/open/floor/wood/large, /area/station/commons/lounge) +"sjk" = ( +/obj/machinery/door/airlock/grunge{ + name = "Morgue" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/small, +/area/station/medical/morgue) "sjq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -63705,6 +64518,20 @@ "sjE" = ( /turf/open/floor/carpet/stellar, /area/station/service/library) +"sjG" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/light/directional/north, +/obj/machinery/camera/autoname/directional/north{ + c_tag = "Medbay - Upper Hallway"; + network = list("ss13","medbay") + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "sjI" = ( /obj/machinery/light/directional/west, /turf/open/openspace, @@ -63836,6 +64663,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/port) +"slh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "slj" = ( /obj/structure/lattice/catwalk, /obj/structure/disposalpipe/segment{ @@ -63904,6 +64739,35 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/lobby) +"smq" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/computer/crew{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 6 + }, +/turf/open/floor/holofloor/dark, +/area/station/command/heads_quarters/cmo) +"smt" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/status_display/evac/directional/north, +/obj/structure/rack, +/obj/item/encryptionkey/headset_sci{ + pixel_x = -6; + pixel_y = 1 + }, +/obj/item/encryptionkey/headset_med, +/obj/item/encryptionkey/headset_eng{ + pixel_x = 6; + pixel_y = -1 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tcomms) "smz" = ( /obj/machinery/hydroponics/soil, /obj/effect/decal/cleanable/dirt, @@ -63915,10 +64779,6 @@ /obj/structure/closet/secure_closet/atmospherics, /turf/open/floor/glass/reinforced/plasma, /area/station/engineering/atmos/project) -"smV" = ( -/obj/machinery/holopad, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/morgue) "snd" = ( /obj/machinery/mecha_part_fabricator{ drop_direction = 4 @@ -63936,12 +64796,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) -"snE" = ( -/obj/structure/disposalpipe/trunk/multiz{ - dir = 4 - }, -/turf/closed/wall, -/area/station/medical/pharmacy) "snQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -64019,12 +64873,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/engine/hull/air, /area/station/engineering/storage_shared) -"spl" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/textured_large, -/area/station/medical/abandoned) "spr" = ( /obj/structure/table, /obj/item/hand_labeler{ @@ -64053,6 +64901,14 @@ }, /turf/open/floor/iron/cafeteria, /area/station/maintenance/starboard/lesser) +"spx" = ( +/obj/structure/mannequin/skeleton, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/light_switch/directional/east, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "spC" = ( /obj/machinery/teleport/station, /obj/effect/turf_decal/tile/green/opposingcorners{ @@ -64096,13 +64952,6 @@ }, /turf/open/floor/engine/hull/air, /area/station/maintenance/starboard/lesser) -"sqp" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/dark/smooth_edge, -/area/station/medical/pharmacy) "sqq" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 9 @@ -64115,6 +64964,9 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/medical/virology) +"sqs" = ( +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/surgery) "sqz" = ( /obj/structure/cable, /obj/item/cigbutt{ @@ -64139,6 +64991,16 @@ /obj/structure/window/spawner/directional/south, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_recreation) +"sqU" = ( +/obj/structure/table/wood, +/obj/machinery/light_switch/directional/north, +/obj/machinery/light/small/directional/west, +/obj/effect/spawner/random/food_or_drink/donkpockets{ + pixel_y = 4; + pixel_x = 4 + }, +/turf/open/floor/wood/large, +/area/station/medical/break_room) "src" = ( /obj/structure/table, /obj/machinery/microwave/engineering/cell_included, @@ -64220,6 +65082,15 @@ /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, /area/station/construction/storage_wing) +"ssy" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "ssz" = ( /obj/structure/lattice, /obj/structure/grille, @@ -64336,27 +65207,39 @@ /obj/effect/turf_decal/tile/brown/full, /turf/open/floor/iron/large, /area/station/maintenance/starboard/lesser) -"stW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","medbay"); - c_tag = "Medbay - Upper Plumbing Area East" - }, -/turf/open/floor/engine/hull/air, -/area/station/medical/chemistry) "stY" = ( /obj/item/storage/box/lights/mixed, /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/maintenance/starboard/lesser) -"suq" = ( -/obj/machinery/holopad, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/dark/small, -/area/station/command/heads_quarters/ce) +"suf" = ( +/obj/machinery/door/airlock/engineering/glass{ + name = "Supermatter Engine Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/engine, +/area/station/engineering/main) +"sul" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/structure/table, +/obj/item/book/manual/wiki/medicine{ + pixel_x = -7; + pixel_y = 7 + }, +/obj/item/reagent_containers/dropper{ + pixel_y = 7 + }, +/obj/item/clothing/neck/stethoscope{ + pixel_x = 5; + pixel_y = 6 + }, +/obj/item/storage/pill_bottle/mannitol{ + pixel_x = -5; + pixel_y = 3 + }, +/turf/open/floor/iron/dark/textured, +/area/station/medical/cryo) "sus" = ( /turf/open/floor/plating, /area/station/engineering/storage_shared) @@ -64379,20 +65262,6 @@ /obj/structure/sign/poster/official/moth_meth/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"suP" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/machinery/requests_console/directional/north{ - department = "Medbay"; - name = "Medbay Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "svh" = ( /obj/machinery/door/airlock/external, /obj/effect/mapping_helpers/airlock/access/all/engineering/external, @@ -64430,6 +65299,15 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/engineering/lobby) +"svJ" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "rear_surgery"; + name = "Surgery Shutters"; + dir = 1 + }, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/medical/surgery) "svL" = ( /obj/machinery/door/poddoor/massdriver_ordnance, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -64468,6 +65346,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) +"sws" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/fore) "swH" = ( /obj/item/gun/ballistic/shotgun/doublebarrel, /obj/structure/table/wood, @@ -64496,6 +65380,26 @@ dir = 1 }, /area/station/ai_monitored/turret_protected/aisat_interior) +"swU" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tcomms) +"swW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "swZ" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/decal/cleanable/dirt, @@ -64575,6 +65479,12 @@ /obj/structure/transit_tube/diagonal, /turf/open/space/openspace, /area/space/nearstation) +"syl" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/surgery) "syw" = ( /obj/structure/flora/bush/pale/style_random, /obj/structure/flora/bush/fullgrass/style_random, @@ -64665,6 +65575,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/storage) +"szT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) "sAa" = ( /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/wood, @@ -64674,6 +65589,11 @@ /obj/machinery/light/warm/dim/directional/west, /turf/open/openspace, /area/station/hallway/primary/central) +"sAl" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/medical) "sAm" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -64697,6 +65617,10 @@ /obj/effect/mapping_helpers/broken_machine, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) +"sAw" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine/hull/reinforced, +/area/station/ai_monitored/turret_protected/ai_upload) "sAB" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -64712,13 +65636,6 @@ /obj/structure/sign/poster/contraband/missing_gloves/directional/south, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) -"sAG" = ( -/obj/effect/spawner/random/contraband/narcotics, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port) "sAT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -64742,6 +65659,15 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"sBp" = ( +/obj/machinery/door/poddoor/preopen{ + id = "ceprivacy"; + name = "Chief Engineers Privacy Shutters" + }, +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/command/heads_quarters/ce) "sBr" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -64763,38 +65689,21 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"sBO" = ( -/obj/machinery/meter{ - name = "Plasma meter" +"sBT" = ( +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ - name = "Plasma Multideck Adapter"; - dir = 8 - }, -/obj/effect/turf_decal/tile/purple/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) +"sCl" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/port) "sCx" = ( /turf/open/openspace, /area/station/command/meeting_room/council) -"sCA" = ( -/obj/machinery/computer/operating{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","medbay"); - c_tag = "Medbay - Lower Operating Room" - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) "sCD" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/junction, /obj/effect/spawner/structure/window/reinforced/plasma, @@ -64809,6 +65718,10 @@ /obj/structure/table/wood/fancy/red, /turf/open/floor/wood/tile, /area/station/maintenance/port/aft) +"sDh" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/turret_protected/ai_upload) "sDo" = ( /turf/open/floor/iron/freezer, /area/station/ai_monitored/turret_protected/aisat/foyer) @@ -64820,6 +65733,11 @@ }, /turf/open/floor/wood, /area/station/service/library) +"sDA" = ( +/obj/structure/cable, +/obj/structure/filingcabinet/medical, +/turf/open/floor/carpet/cyan, +/area/station/command/heads_quarters/cmo) "sDX" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, @@ -64970,40 +65888,25 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/zoo) +"sFN" = ( +/obj/structure/closet/secure_closet/medical3, +/obj/item/clothing/gloves/latex/nitrile, +/obj/item/defibrillator/loaded, +/obj/item/clothing/glasses/hud/health{ + pixel_y = 13 + }, +/obj/item/clothing/gloves/latex/nitrile, +/obj/effect/turf_decal/bot_white{ + color = "#52B4E9" + }, +/obj/machinery/newscaster/directional/south, +/obj/item/clothing/gloves/latex/nitrile, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "sFQ" = ( /obj/machinery/light/floor, /turf/open/floor/iron/textured_large, /area/station/security/prison/rec) -"sFR" = ( -/obj/structure/rack, -/obj/item/circuitboard/machine/oven{ - pixel_y = -3 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"sFS" = ( -/obj/effect/turf_decal/siding/yellow{ - dir = 8 - }, -/obj/structure/table, -/obj/item/stack/sheet/mineral/plasma{ - pixel_x = 7; - pixel_y = 3 - }, -/obj/structure/railing{ - dir = 8 - }, -/obj/item/clothing/glasses/science, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) "sFU" = ( /obj/structure/rack, /obj/item/storage/box/lights/mixed, @@ -65043,13 +65946,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"sGy" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "sGQ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/blue/full, @@ -65084,6 +65980,13 @@ /obj/structure/ladder, /turf/open/floor/glass/reinforced/airless, /area/station/solars/starboard/aft) +"sHD" = ( +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/structure/table/reinforced, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) "sHG" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/generic, @@ -65111,20 +66014,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_recreation) -"sHY" = ( -/obj/structure/table/reinforced, -/obj/item/flashlight/lamp{ - pixel_y = 10 - }, -/obj/item/toy/figure/ce{ - pixel_y = 4 - }, -/obj/item/clothing/glasses/meson, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/carpet/orange, -/area/station/command/heads_quarters/ce) "sIf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -65189,12 +66078,6 @@ /obj/structure/closet/secure_closet/security/sec, /turf/open/floor/iron/dark/smooth_large, /area/station/security/lockers) -"sIv" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 9 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "sIB" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 5 @@ -65302,6 +66185,17 @@ "sJR" = ( /turf/closed/wall, /area/station/service/theater_dressing) +"sJV" = ( +/obj/machinery/light/floor{ + color = "#66ccff" + }, +/obj/structure/tank_holder/extinguisher, +/obj/structure/cable, +/obj/machinery/light_switch/directional/west{ + pixel_x = -22 + }, +/turf/open/floor/iron/dark, +/area/station/medical/cryo) "sJX" = ( /obj/structure/window/reinforced/plasma/spawner/directional/west, /obj/structure/window/reinforced/plasma/spawner/directional/south, @@ -65314,19 +66208,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) -"sKC" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/bed/medical/emergency{ - dir = 4 - }, -/obj/machinery/iv_drip, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/morgue) "sKD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/fluff/paper/stack{ @@ -65334,13 +66215,6 @@ }, /turf/open/floor/carpet/black, /area/station/maintenance/hallway/abandoned_recreation) -"sKF" = ( -/obj/machinery/computer/upload/ai{ - dir = 4 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/carpet/purple, -/area/station/ai_monitored/turret_protected/ai_upload) "sKH" = ( /obj/structure/table, /obj/machinery/computer/arcade/orion_trail{ @@ -65351,6 +66225,16 @@ }, /turf/open/floor/engine/hull/air, /area/station/maintenance/starboard/lesser) +"sKI" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/computer/atmos_control/plasma_tank, +/obj/effect/turf_decal/tile/purple/half{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "sKL" = ( /obj/structure/chair/stool/bar/directional/south, /obj/effect/landmark/start/hangover, @@ -65387,6 +66271,11 @@ }, /turf/open/floor/iron/dark, /area/station/science/cytology) +"sLt" = ( +/obj/structure/closet/toolcloset, +/obj/effect/landmark/start/hangover, +/turf/open/floor/wood, +/area/station/commons/storage/tools) "sLx" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 1 @@ -65407,10 +66296,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden/abandoned) -"sLC" = ( -/obj/structure/lattice/catwalk, -/turf/open/floor/engine/hull/air, -/area/station/hallway/primary/aft) "sLG" = ( /obj/structure/railing{ dir = 8 @@ -65426,6 +66311,14 @@ }, /turf/open/floor/iron/textured, /area/station/cargo/storage) +"sLQ" = ( +/obj/machinery/suit_storage_unit/ce, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/ce) "sLS" = ( /obj/structure/table/reinforced, /obj/item/paper_bin{ @@ -65472,6 +66365,11 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/prison) +"sMv" = ( +/obj/structure/cable, +/obj/machinery/power/smes, +/turf/open/floor/glass/reinforced, +/area/station/maintenance/solars/port/aft) "sMw" = ( /obj/machinery/door/airlock/highsecurity{ name = "Gravity Generator Room" @@ -65482,6 +66380,24 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/construction, /turf/open/floor/iron, /area/station/engineering/gravity_generator) +"sMy" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/item/clothing/gloves/color/black, +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_x = 5 + }, +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_x = 5 + }, +/obj/item/clothing/gloves/color/black, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, +/obj/structure/table/reinforced, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "sMQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -65506,12 +66422,16 @@ dir = 1 }, /area/station/ai_monitored/turret_protected/aisat/teleporter) -"sNv" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/power/tracker, -/obj/structure/cable, -/turf/open/space/basic, -/area/station/solars/starboard/fore) +"sNt" = ( +/obj/machinery/door/airlock/atmos/glass{ + name = "Atmospherics" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "sNC" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -65531,6 +66451,19 @@ /obj/effect/decal/cleanable/blood/oil, /turf/open/floor/plating, /area/station/maintenance/disposal) +"sNJ" = ( +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/obj/item/radio/intercom/directional/north, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "sNN" = ( /obj/machinery/camera/directional/east{ c_tag = "Science - Xenobiology Cells 2 & 4"; @@ -65544,16 +66477,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/transit_tube) -"sOa" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/siding/blue/corner{ - dir = 8 - }, -/turf/open/floor/engine/hull/air, -/area/station/medical/medbay/central) "sOn" = ( /turf/open/floor/engine, /area/station/science/auxlab/firing_range) @@ -65665,6 +66588,23 @@ /obj/machinery/holopad, /turf/open/floor/iron/cafeteria, /area/station/commons/locker) +"sPN" = ( +/obj/item/emergency_bed, +/obj/item/emergency_bed{ + pixel_y = 3 + }, +/obj/item/emergency_bed{ + pixel_y = 3 + }, +/obj/structure/rack, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/bot_white{ + color = "#52B4E9" + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/medbay/central) "sPT" = ( /obj/structure/rack, /obj/effect/spawner/random/food_or_drink, @@ -65694,6 +66634,10 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/wood, /area/station/service/lawoffice) +"sQp" = ( +/obj/structure/broken_flooring/singular/directional/east, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "sQu" = ( /turf/open/floor/wood, /area/station/maintenance/hallway/abandoned_recreation) @@ -65755,6 +66699,10 @@ }, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) +"sRa" = ( +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/iron/freezer, +/area/station/engineering/atmos/pumproom) "sRd" = ( /obj/machinery/power/turbine/turbine_outlet{ dir = 8 @@ -65820,6 +66768,12 @@ "sRE" = ( /turf/closed/wall, /area/station/command/heads_quarters/ce) +"sRF" = ( +/obj/effect/decal/cleanable/blood/oil, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/sign/poster/official/state_laws/directional/east, +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/turret_protected/ai_upload) "sRG" = ( /obj/machinery/camera/autoname/directional/north, /turf/open/openspace, @@ -65849,6 +66803,11 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/command/bridge) +"sSk" = ( +/obj/structure/closet/firecloset, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation) "sSs" = ( /obj/structure/chair/office/light, /obj/effect/landmark/start/research_director, @@ -65872,16 +66831,6 @@ }, /turf/open/floor/iron/grimy, /area/station/security/interrogation) -"sSF" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/disposalpipe/sorting/mail{ - dir = 2 - }, -/obj/effect/mapping_helpers/mail_sorting/medbay/cmo_office, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "sSG" = ( /obj/effect/turf_decal/trimline/yellow/corner{ dir = 4 @@ -65903,6 +66852,26 @@ /obj/structure/window/spawner/directional/west, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"sSU" = ( +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/trimline/dark_blue/filled/line, +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 1 + }, +/obj/structure/table/wood, +/obj/item/storage/briefcase/secure{ + pixel_x = 5; + pixel_y = 9 + }, +/obj/item/clothing/head/soft/blue{ + pixel_x = 10; + pixel_y = 1 + }, +/obj/item/toy/figure/cmo{ + pixel_x = -5 + }, +/turf/open/floor/holofloor/dark, +/area/station/command/heads_quarters/cmo) "sSW" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -65945,23 +66914,19 @@ "sTv" = ( /turf/closed/wall, /area/station/security/courtroom) +"sTO" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/iron/dark/textured_large, +/area/station/engineering/atmos/upper) "sTS" = ( /obj/machinery/firealarm/directional/west, /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"sTT" = ( -/obj/structure/railing/corner/end/flip{ - dir = 4 - }, -/obj/structure/broken_flooring/pile/directional/east, -/obj/effect/turf_decal/trimline/yellow/warning{ - dir = 4 - }, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, +"sTU" = ( +/obj/structure/sign/warning/no_smoking/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/aft) "sUa" = ( @@ -66111,6 +67076,12 @@ }, /turf/open/floor/iron/dark, /area/station/construction/storage_wing) +"sWs" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/secondary/construction) "sWI" = ( /obj/machinery/camera/autoname/directional/south, /obj/structure/disposalpipe/segment{ @@ -66145,6 +67116,17 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/disposal) +"sWZ" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "sXd" = ( /obj/structure/railing, /obj/machinery/door/firedoor/border_only, @@ -66174,6 +67156,11 @@ "sXq" = ( /turf/open/floor/iron/dark/smooth_large, /area/station/security/execution/transfer) +"sXv" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/cyan/visible, +/obj/machinery/meter, +/turf/closed/wall/r_wall, +/area/station/engineering/atmos/upper) "sXI" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/public/glass{ @@ -66188,11 +67175,6 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/security/prison) -"sXU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/smartfridge/organ, -/turf/open/floor/iron/dark/textured_large, -/area/station/maintenance/port) "sYc" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -66223,9 +67205,21 @@ /obj/structure/flora/bush/flowers_br, /turf/open/floor/grass, /area/station/command/heads_quarters/hos) +"sYH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "sYL" = ( /turf/open/floor/iron, /area/station/construction/storage_wing) +"sYU" = ( +/obj/item/kirbyplants/organic/plant9{ + pixel_x = 4 + }, +/turf/open/floor/carpet/black, +/area/station/ai_monitored/turret_protected/ai_upload) "sYX" = ( /obj/effect/turf_decal/box/corners, /turf/open/floor/iron/dark/smooth_large, @@ -66244,25 +67238,6 @@ dir = 1 }, /area/station/science/xenobiology) -"sZn" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, -/obj/structure/table/glass, -/obj/machinery/light/directional/south, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","medbay"); - c_tag = "Medbay - Lower South Treatment Center" - }, -/obj/item/wrench/medical{ - pixel_x = -1; - pixel_y = 2 - }, -/obj/item/assembly/timer{ - pixel_x = 3; - pixel_y = 3 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "sZr" = ( /obj/structure/lattice/catwalk, /obj/effect/turf_decal/stripes/line{ @@ -66326,34 +67301,9 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"tai" = ( -/obj/structure/rack, -/obj/item/ai_module/reset{ - pixel_x = 2; - pixel_y = 4 - }, -/obj/item/ai_module/supplied/freeform{ - pixel_x = -2; - pixel_y = -2 - }, -/obj/item/multitool{ - pixel_x = -4; - pixel_y = -2 - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) "tas" = ( /turf/closed/wall, /area/station/command/heads_quarters/qm) -"taC" = ( -/obj/effect/spawner/random/structure/girder, -/obj/effect/spawner/structure/electrified_grille, -/obj/structure/sign/warning/radiation/rad_area/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "taF" = ( /obj/structure/railing{ dir = 4 @@ -66366,12 +67316,6 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) -"taG" = ( -/obj/structure/chair/sofa/corp/left, -/obj/item/pai_card, -/obj/machinery/light/directional/north, -/turf/open/floor/wood/parquet, -/area/station/medical/break_room) "taJ" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -66381,13 +67325,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"taS" = ( -/obj/structure/chair/office/light, -/obj/effect/landmark/start/chemist, -/turf/open/floor/iron/dark/smooth_corner{ - dir = 1 - }, -/area/station/medical/pharmacy) "taX" = ( /obj/item/vending_refill/boozeomat{ pixel_x = -4; @@ -66407,6 +67344,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"tbb" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 9 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "tbd" = ( /obj/machinery/door/poddoor/shutters/radiation/preopen{ id = "SM_shutters"; @@ -66429,16 +67372,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) -"tbu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "tbw" = ( /obj/effect/landmark/start/hangover, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66488,11 +67421,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/eighties/red, /area/station/maintenance/hallway/abandoned_recreation) -"tcd" = ( -/obj/effect/turf_decal/stripes/box, -/obj/structure/ladder, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) "tce" = ( /turf/closed/wall, /area/station/service/kitchen/abandoned) @@ -66527,13 +67455,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"tcw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/turf/open/openspace, -/area/station/engineering/atmos/project) "tcx" = ( /obj/structure/lattice/catwalk, /obj/structure/light_construct/directional/east, @@ -66548,6 +67469,15 @@ /obj/effect/spawner/random/structure/shipping_container, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"tcN" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/stairs/medium{ + dir = 4 + }, +/area/station/medical/abandoned) "tda" = ( /obj/item/pen, /obj/item/pen/blue, @@ -66602,6 +67532,20 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/station/command/corporate_showroom) +"tee" = ( +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/effect/landmark/start/depsec/medical, +/obj/structure/chair/office{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/med_sec/directional/north, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) "tel" = ( /obj/structure/table/reinforced, /obj/item/storage/backpack/duffelbag/drone{ @@ -66623,18 +67567,6 @@ }, /turf/open/openspace, /area/station/command/bridge) -"tep" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/purple/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) "ter" = ( /obj/effect/spawner/structure/window, /obj/structure/disposalpipe/segment{ @@ -66646,10 +67578,6 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/wood, /area/station/service/library) -"tey" = ( -/obj/structure/cable, -/turf/closed/wall/r_wall, -/area/station/command/heads_quarters/cmo) "teA" = ( /obj/structure/railing, /turf/open/openspace, @@ -66686,16 +67614,6 @@ /obj/structure/cable, /turf/closed/wall, /area/station/security/courtroom) -"tff" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/door/airlock/engineering/glass{ - name = "Grav Gen & Tech Storage" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/construction, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "tfp" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, @@ -66730,14 +67648,6 @@ "tfK" = ( /turf/open/floor/glass, /area/station/service/kitchen) -"tfP" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/landmark/start/chief_engineer, -/turf/open/floor/iron/dark/small, -/area/station/command/heads_quarters/ce) "tfR" = ( /obj/structure/chair/office{ dir = 8 @@ -66764,16 +67674,23 @@ /obj/effect/landmark/firealarm_sanity, /turf/open/openspace, /area/station/service/chapel) -"tgE" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 +"tgD" = ( +/obj/structure/table/wood, +/obj/item/pen{ + pixel_x = -5; + pixel_y = -1 }, -/obj/structure/disposalpipe/sorting/mail{ - dir = 2 +/obj/item/toy/cards/deck/wizoff{ + pixel_x = 6; + pixel_y = 5 }, -/obj/effect/mapping_helpers/mail_sorting/medbay/general, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/obj/effect/turf_decal/siding/dark_blue, +/obj/item/flashlight/lamp{ + pixel_y = 5; + pixel_x = -2 + }, +/turf/open/floor/carpet/blue, +/area/station/medical/break_room) "tgT" = ( /obj/machinery/holopad, /turf/open/floor/iron/dark, @@ -66873,11 +67790,33 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"tiG" = ( +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/red/line, +/obj/effect/landmark/start/hangover, +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "tiK" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"tiX" = ( +/obj/effect/turf_decal/trimline/purple/arrow_cw{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "tja" = ( /obj/machinery/light/cold/directional/north, /turf/open/floor/engine, @@ -66913,6 +67852,22 @@ /obj/structure/cable/layer1, /turf/open/floor/engine, /area/station/engineering/supermatter) +"tjy" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high{ + charge = 100; + maxcharge = 15000 + }, +/obj/item/clothing/glasses/meson{ + pixel_y = 8 + }, +/obj/item/clothing/glasses/meson{ + pixel_y = 8 + }, +/obj/structure/sign/warning/radiation/rad_area/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "tjA" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66974,13 +67929,6 @@ }, /turf/open/openspace, /area/station/ai_monitored/turret_protected/ai) -"tkr" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "tkz" = ( /obj/effect/decal/cleanable/blood/old, /obj/structure/railing/corner{ @@ -67014,12 +67962,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/break_room) -"tkX" = ( -/obj/structure/bodycontainer/morgue{ - dir = 8 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/morgue) "tkY" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 8 @@ -67122,6 +68064,19 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"tmP" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, +/obj/structure/rack, +/obj/item/plunger, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "tmS" = ( /obj/machinery/newscaster/directional/north, /obj/structure/table, @@ -67221,33 +68176,6 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/storage_shared) -"toh" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/green/filled/mid_joiner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/turf/open/floor/iron/textured_large, -/area/station/medical/virology) -"toj" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/item/radio/intercom/directional/west, -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ - dir = 1 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload_foyer) "tom" = ( /obj/machinery/computer/camera_advanced/xenobio{ dir = 4 @@ -67275,6 +68203,13 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/lockers) +"toG" = ( +/obj/item/kirbyplants/organic/plant9{ + pixel_y = 14; + pixel_x = 4 + }, +/turf/open/floor/carpet/black, +/area/station/ai_monitored/turret_protected/ai_upload) "toI" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/confetti, @@ -67289,10 +68224,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/large, /area/station/hallway/primary/central) -"toV" = ( -/obj/structure/grille, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/upper) "tpe" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -67335,18 +68266,30 @@ /obj/effect/turf_decal/stripes/end, /turf/open/floor/plating/elevatorshaft, /area/station/security/prison) -"tpt" = ( -/obj/effect/mapping_helpers/burnt_floor, -/obj/structure/broken_flooring/side/directional/east, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ +"tpx" = ( +/obj/machinery/light/red/directional/north, +/obj/structure/window/reinforced/plasma/spawner/directional/east, +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) +/turf/open/floor/engine, +/area/station/medical/chemistry) "tpA" = ( /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"tpE" = ( +/obj/machinery/camera/autoname/directional/south, +/obj/effect/landmark/event_spawn, +/turf/open/floor/glass, +/area/station/medical/medbay/central) +"tpI" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/machinery/vending/wardrobe/chem_wardrobe, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "tpO" = ( /obj/effect/turf_decal/trimline/red/filled/corner, /obj/structure/table, @@ -67366,12 +68309,48 @@ }, /turf/open/floor/wood, /area/station/hallway/primary/central) -"tqN" = ( +"tqg" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Medbay Maintenance" + }, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/port) +"tqr" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/chair/office/light{ + dir = 8 + }, +/obj/effect/landmark/start/paramedic, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"tqJ" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 6 + }, +/obj/effect/turf_decal/weather/snow, +/obj/machinery/airalarm/directional/south, +/obj/effect/mapping_helpers/airalarm/tlv_cold_room, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/structure/sign/warning/cold_temp/directional/east, +/obj/machinery/portable_atmospherics/canister/anesthetic_mix, +/turf/open/floor/iron/kitchen_coldroom/freezerfloor, +/area/station/medical/coldroom) "tqQ" = ( /turf/open/floor/iron/dark, /area/station/commons/dorms) @@ -67449,6 +68428,12 @@ /obj/effect/spawner/random/maintenance/no_decals/five, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"tsY" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/closed/wall, +/area/station/maintenance/port) "ttj" = ( /turf/open/floor/iron, /area/station/hallway/primary/port) @@ -67458,49 +68443,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) -"ttq" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"ttr" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/dropper{ - pixel_y = -4 - }, -/obj/machinery/airalarm/directional/west, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ - dir = 1 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/medbay/central) "ttA" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/carpet, /area/station/security/detectives_office) -"ttC" = ( -/obj/structure/table/reinforced, -/obj/item/storage/box/beakers{ - pixel_y = 7 - }, -/obj/item/assembly/igniter{ - pixel_y = -3 - }, -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ - dir = 1 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/medbay/central) "ttK" = ( /obj/machinery/conveyor/auto{ dir = 4; @@ -67589,14 +68537,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured, /area/station/maintenance/starboard/lesser) -"tuV" = ( -/obj/structure/table, -/obj/item/storage/box/donkpockets/donkpocketberry{ - pixel_y = 6 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/wood/parquet, -/area/station/medical/break_room) "tuY" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -67631,6 +68571,14 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) +"twm" = ( +/obj/effect/turf_decal/siding/blue/end{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/full, +/obj/machinery/shower/directional/west, +/turf/open/floor/iron/showroomfloor, +/area/station/medical/medbay/central) "twp" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -67639,14 +68587,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"twv" = ( -/obj/structure/closet, -/obj/effect/landmark/start/hangover, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/construction) "twz" = ( /obj/structure/lattice/catwalk, /turf/open/space/basic, @@ -67732,12 +68672,11 @@ /obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"txH" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/pharmacy) +"txI" = ( +/obj/machinery/light/directional/south, +/obj/machinery/vending/wardrobe/atmos_wardrobe, +/turf/open/floor/glass/reinforced/plasma, +/area/station/engineering/atmos/project) "txJ" = ( /obj/structure/railing, /obj/effect/turf_decal/trimline/purple/filled/line, @@ -67746,6 +68685,16 @@ /obj/effect/turf_decal/trimline/purple/filled/mid_joiner, /turf/open/floor/iron/dark/smooth_large, /area/station/science/xenobiology) +"txO" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/structure/rack, +/obj/effect/spawner/random/techstorage/engineering_all, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "txS" = ( /obj/structure/table/glass, /obj/item/stack/package_wrap, @@ -67758,6 +68707,16 @@ /obj/structure/fluff/paper/corner, /turf/open/floor/wood, /area/station/maintenance/starboard/aft) +"tyd" = ( +/obj/machinery/smartfridge/organ, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "rear_surgery"; + name = "Surgery Shutters"; + dir = 1 + }, +/turf/open/floor/plating, +/area/station/medical/surgery) "typ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -67794,11 +68753,24 @@ /obj/effect/spawner/random/food_or_drink/dinner, /turf/open/floor/engine/hull/air, /area/station/maintenance/starboard/lesser) +"tzg" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "tzi" = ( /obj/effect/spawner/random/trash/grime, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/port) +"tzk" = ( +/obj/structure/sign/directions/upload, +/turf/closed/wall, +/area/station/hallway/primary/aft) "tzv" = ( /obj/structure/chair{ dir = 8 @@ -67811,14 +68783,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"tzS" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/dark/smooth_edge{ - dir = 4 - }, -/area/station/medical/pharmacy) "tzU" = ( /obj/item/transfer_valve{ pixel_x = -5 @@ -67946,12 +68910,6 @@ /obj/effect/turf_decal/tile/brown/fourcorners, /turf/open/floor/iron/dark/textured, /area/station/cargo/warehouse) -"tBh" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) "tBn" = ( /obj/structure/chair/office{ dir = 8 @@ -68032,15 +68990,6 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/rd) -"tCh" = ( -/obj/structure/table, -/obj/machinery/status_display/ai/directional/north, -/obj/item/analyzer, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "tCs" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -68085,21 +69034,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"tCO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/door/airlock/medical{ - name = "Medbay Emergency Pod Hallway" - }, -/obj/effect/decal/cleanable/dirt, +"tCN" = ( /obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 }, -/turf/open/floor/iron/textured_large, -/area/station/medical/break_room) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tcomms) "tCX" = ( /obj/effect/turf_decal/bot, /obj/machinery/camera/autoname/directional/west, @@ -68118,13 +69060,6 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/dark, /area/station/command/bridge) -"tDc" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/openspace, -/area/station/medical/abandoned) "tDf" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -68146,6 +69081,12 @@ }, /turf/open/floor/iron, /area/station/science/robotics) +"tDw" = ( +/obj/effect/turf_decal/siding/dark_blue/inner_corner{ + dir = 4 + }, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "tDx" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/machinery/button/flasher{ @@ -68174,28 +69115,6 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"tDP" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 2; - pixel_y = 11 - }, -/obj/item/toy/figure/lawyer{ - pixel_x = 6; - pixel_y = 6 - }, -/turf/open/floor/iron/checker, -/area/station/maintenance/port/aft) -"tDT" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/departments/aisat/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "tDY" = ( /turf/closed/wall, /area/station/science/lobby) @@ -68208,6 +69127,21 @@ /obj/structure/lattice/catwalk, /turf/open/floor/engine/hull/air, /area/station/cargo/storage) +"tEq" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/mid_joiner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 2 + }, +/obj/structure/cable, +/turf/open/floor/iron/textured_large, +/area/station/medical/virology) "tEt" = ( /obj/structure/flora/bush/fullgrass/style_random, /turf/open/floor/grass, @@ -68306,13 +69240,6 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"tFq" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/engine, -/area/station/engineering/atmos/project) "tFv" = ( /obj/structure/chair{ dir = 1 @@ -68339,6 +69266,33 @@ /obj/effect/turf_decal/trimline/yellow/filled/line, /turf/open/floor/iron/smooth, /area/station/engineering/main) +"tFD" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/machinery/recharge_station, +/obj/effect/turf_decal/bot_white{ + color = "#52B4E9" + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) +"tFF" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/machinery/requests_console/directional/west{ + department = "Security"; + name = "Security Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/landmark/start/depsec/medical, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) "tFU" = ( /obj/item/clothing/suit/costume/chickensuit{ pixel_x = 4; @@ -68380,6 +69334,19 @@ /obj/effect/landmark/start/head_of_personnel, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) +"tGe" = ( +/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ + name = "O2 Multideck Adapter"; + dir = 8 + }, +/obj/machinery/meter{ + name = "O2 meter" + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "tGs" = ( /obj/effect/turf_decal/siding/dark{ dir = 8 @@ -68489,15 +69456,6 @@ }, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) -"tHG" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/structure/chair/office{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tcomms) "tHR" = ( /obj/structure/sign/warning/radiation/rad_area/directional/east, /turf/open/floor/iron/smooth, @@ -68538,6 +69496,19 @@ }, /turf/open/openspace, /area/station/ai_monitored/turret_protected/ai) +"tIt" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/engineering/main) +"tIx" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/table/reinforced/rglass, +/turf/open/floor/iron/white, +/area/station/medical/office) "tII" = ( /obj/structure/table, /obj/effect/spawner/random/trash/soap, @@ -68548,6 +69519,25 @@ /obj/machinery/vending/clothing, /turf/open/floor/wood/large, /area/station/service/theater_dressing) +"tJe" = ( +/obj/machinery/vending/medical, +/obj/effect/turf_decal/bot_white{ + color = "#52B4E9" + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) +"tJj" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/blue{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "tJk" = ( /obj/structure/chair{ dir = 1 @@ -68568,32 +69558,16 @@ }, /turf/open/floor/wood, /area/station/service/chapel) -"tJq" = ( -/obj/machinery/ai_slipper{ - uses = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) "tJt" = ( /obj/item/food/grown/sunflower, /turf/open/floor/iron/vaporwave, /area/station/maintenance/starboard/lesser) -"tJv" = ( -/obj/structure/table, -/obj/item/construction/plumbing{ - pixel_x = -7; - pixel_y = 6 - }, -/obj/item/construction/plumbing, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) +"tJw" = ( +/obj/effect/spawner/random/structure/girder, +/obj/effect/spawner/structure/electrified_grille, +/obj/structure/sign/warning/radiation/rad_area/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "tJD" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/wood/corner{ @@ -68612,6 +69586,10 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) +"tJK" = ( +/obj/machinery/holopad, +/turf/open/floor/glass, +/area/station/medical/patients_rooms/room_a) "tKa" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -68671,12 +69649,6 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"tKJ" = ( -/obj/structure/transport/linear{ - radial_travel = 0 - }, -/turf/open/openspace, -/area/station/engineering/atmos/project) "tKK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -68741,22 +69713,20 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/break_room) -"tLU" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 8 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "tLV" = ( /obj/machinery/teleport/station, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/aisat/teleporter) -"tMg" = ( -/turf/open/floor/wood, -/area/station/medical/medbay/central) +"tMf" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/item/clothing/glasses/welding{ + pixel_x = 6; + pixel_y = 7 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "tMj" = ( /obj/item/statuebust, /turf/open/floor/iron/vaporwave, @@ -68796,6 +69766,13 @@ /obj/structure/closet/secure_closet/engineering_electrical, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) +"tMG" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "tMJ" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/structure/railing{ @@ -68806,6 +69783,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/storage_shared) +"tMM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/machinery/light/floor{ + color = "#66ccff" + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/dark, +/area/station/medical/cryo) "tMS" = ( /obj/machinery/light/directional/west, /obj/effect/turf_decal/tile/red/opposingcorners{ @@ -68823,20 +69808,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"tNb" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) -"tNd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/iron/textured_large, -/area/station/medical/abandoned) "tNr" = ( /obj/structure/disposalpipe/segment{ dir = 2 @@ -68912,6 +69883,18 @@ dir = 1 }, /area/station/commons/lounge) +"tOq" = ( +/obj/structure/table/reinforced/rglass, +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/item/clothing/glasses/hud/health{ + pixel_y = 2 + }, +/obj/item/clothing/glasses/hud/health{ + pixel_y = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "tOr" = ( /obj/structure/closet/secure_closet/hydroponics, /obj/machinery/button/door/directional/north{ @@ -68944,6 +69927,11 @@ /obj/machinery/air_sensor/mix_tank, /turf/open/floor/engine/vacuum, /area/station/maintenance/disposal/incinerator) +"tOG" = ( +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/vending/assist, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "tOO" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner, /obj/structure/disposalpipe/segment{ @@ -68951,6 +69939,12 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) +"tOR" = ( +/obj/machinery/airalarm/directional/west, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/engine, +/area/station/command/heads_quarters/ce) "tOW" = ( /obj/effect/spawner/random/trash/graffiti, /obj/structure/disposalpipe/segment{ @@ -68993,10 +69987,6 @@ /obj/structure/cable, /turf/closed/wall, /area/station/science/research) -"tPC" = ( -/obj/structure/chair/office, -/turf/open/floor/carpet, -/area/station/ai_monitored/turret_protected/ai_upload) "tPF" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/generic, @@ -69032,23 +70022,6 @@ "tPU" = ( /turf/closed/wall, /area/station/commons/toilet/restrooms) -"tQa" = ( -/obj/structure/lattice/catwalk, -/obj/item/storage/box/syringes{ - pixel_x = -10; - pixel_y = 4 - }, -/obj/item/storage/box/syringes{ - pixel_x = -10; - pixel_y = -3 - }, -/obj/machinery/airalarm/directional/south, -/obj/machinery/camera/autoname/directional/south{ - c_tag = "Medbay - Upper Medical Storage South" - }, -/obj/structure/fireaxecabinet/jawsofrecovery/directional/east, -/turf/open/openspace, -/area/station/medical/storage) "tQf" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -69061,16 +70034,16 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) -"tQw" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 9 +"tQE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/effect/turf_decal/trimline/blue/warning, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 1 }, -/obj/effect/turf_decal/tile/red{ +/turf/open/floor/iron/dark/smooth_half{ dir = 4 }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) +/area/station/medical/cryo) "tQI" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -69078,6 +70051,15 @@ }, /turf/open/floor/wood, /area/station/command/gateway) +"tQX" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "tRc" = ( /obj/item/reagent_containers/cup/glass/bottle/beer/almost_empty{ pixel_x = -5; @@ -69126,44 +70108,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/port) -"tRR" = ( -/obj/structure/railing{ - dir = 9 - }, -/obj/structure/table, +"tRL" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/effect/decal/cleanable/dirt, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/cigbutt/cigarbutt{ - pixel_x = 6; - pixel_y = -4 - }, -/obj/item/bodypart/head/robot{ - pixel_x = -6; - pixel_y = -5 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) -"tRV" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/table, -/obj/item/reagent_containers/cup/glass/mug{ - pixel_x = -5; - pixel_y = -15 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) -"tRY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark/smooth_edge{ - dir = 8 - }, -/area/station/medical/pharmacy) +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/emcloset, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "tSa" = ( /obj/structure/bed, /obj/structure/sign/poster/official/no_erp/directional/east, @@ -69182,19 +70134,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured, /area/station/maintenance/starboard/lesser) -"tSo" = ( -/obj/structure/closet/crate/freezer/surplus_limbs, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) "tSp" = ( /obj/machinery/computer/piratepad_control/civilian{ dir = 4 @@ -69354,27 +70293,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"tUI" = ( -/obj/machinery/button/door/directional/south{ - id = "ceprivacy"; - name = "Privacy Shutters Control"; - pixel_y = -2; - pixel_x = -7 - }, -/obj/machinery/button/door/directional/west{ - id = "transitlockdown"; - name = "Transit Tube Lockdown"; - pixel_x = 7; - pixel_y = -2 - }, -/obj/machinery/button/door{ - id = "securestoragecw"; - name = "Secure Storage"; - pixel_y = 8 - }, -/obj/structure/table/reinforced/rglass, -/turf/open/floor/engine, -/area/station/command/heads_quarters/ce) "tUS" = ( /obj/effect/turf_decal/siding/wideplating_new{ dir = 4 @@ -69389,11 +70307,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"tVl" = ( -/obj/effect/spawner/random/structure/closet_maintenance, -/obj/effect/spawner/random/maintenance/two, +"tVj" = ( +/obj/machinery/smartfridge/chemistry/preloaded, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "chemshutters"; + name = "Chemistry Shutters" + }, /turf/open/floor/plating, -/area/station/maintenance/port) +/area/station/medical/pharmacy) "tVo" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -69501,6 +70424,24 @@ "tWT" = ( /turf/open/floor/iron/checker, /area/station/maintenance/hallway/abandoned_recreation) +"tWU" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/item/stack/rods{ + amount = 25 + }, +/obj/item/stack/sheet/glass{ + amount = 30 + }, +/obj/item/stack/sheet/iron{ + amount = 30 + }, +/obj/structure/closet/crate, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/structure/sign/poster/contraband/grey_tide/directional/west, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "tWY" = ( /obj/structure/chair/office{ dir = 1 @@ -69627,12 +70568,6 @@ /obj/item/stack/spacecash/c100, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"tYb" = ( -/obj/effect/turf_decal/siding/brown, -/obj/structure/closet/masks, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation) "tYh" = ( /turf/open/floor/plating/airless, /area/station/maintenance/space_hut) @@ -69670,41 +70605,10 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"tYC" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) -"tYE" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 1; - id = "chemshutters"; - name = "Chemistry Shutters" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/medical/pharmacy) "tYF" = ( /obj/machinery/light/directional/west, /turf/open/openspace, /area/station/command/gateway) -"tYN" = ( -/obj/machinery/door/airlock/medical/glass{ - id_tag = "MedbayFoyer"; - name = "Medbay" - }, -/obj/effect/mapping_helpers/airlock/unres, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "tYS" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/bonfire/prelit, @@ -69731,6 +70635,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) +"tZg" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","medbay"); + c_tag = "Medbay - Lower Pharmacy" + }, +/obj/item/radio/intercom/directional/south, +/obj/machinery/chem_master, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "tZj" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -69745,18 +70660,41 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"tZM" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/textured_large, +/area/station/medical/virology) "tZO" = ( /obj/effect/spawner/random/vending/snackvend, /obj/effect/mapping_helpers/broken_machine, /obj/structure/window/spawner/directional/north, /turf/open/floor/plating, /area/station/service/kitchen/abandoned) +"tZR" = ( +/obj/machinery/camera/autoname/directional/north, +/obj/structure/bodycontainer/morgue{ + dir = 2 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "tZV" = ( /obj/structure/lattice/catwalk, /obj/structure/railing, /obj/structure/sign/poster/official/random/directional/north, /turf/open/openspace, /area/station/commons/dorms) +"tZW" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrous_output, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos/upper) "tZY" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -69775,10 +70713,6 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/security/prison) -"uah" = ( -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/iron/textured_large, -/area/space/nearstation) "uaw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -69792,6 +70726,13 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/execution/transfer) +"uaD" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "uaO" = ( /obj/structure/disposalpipe/trunk/multiz/down, /obj/structure/railing{ @@ -69835,6 +70776,16 @@ }, /turf/open/floor/engine, /area/station/engineering/break_room) +"ubR" = ( +/obj/machinery/modular_computer/preset/id{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 4 + }, +/turf/open/floor/holofloor/dark, +/area/station/command/heads_quarters/cmo) "ubU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -69918,12 +70869,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/openspace, /area/station/science/xenobiology) -"ucN" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/dark/small, -/area/station/command/heads_quarters/ce) "ucO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -70007,22 +70952,6 @@ }, /turf/open/floor/wood, /area/station/engineering/lobby) -"uec" = ( -/obj/machinery/door/airlock/medical/glass{ - id_tag = "MedbayFoyer"; - name = "Medbay" - }, -/obj/effect/mapping_helpers/airlock/unres, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "uen" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -70039,6 +70968,14 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"ueF" = ( +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","medbay"); + c_tag = "Medbay - Upper Secure Morgue" + }, +/obj/structure/bodycontainer/morgue/beeper_off, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "ueH" = ( /obj/structure/lattice, /obj/structure/girder, @@ -70128,11 +71065,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"ugj" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/effect/mapping_helpers/dead_body_placer, -/turf/open/floor/iron/dark/textured, -/area/station/medical/morgue) "ugn" = ( /obj/structure/table/wood/poker, /turf/open/floor/carpet/stellar, @@ -70144,29 +71076,6 @@ }, /turf/open/floor/engine, /area/station/engineering/break_room) -"ugq" = ( -/obj/structure/table, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, -/obj/machinery/light_switch/directional/west, -/obj/item/stack/sheet/mineral/plasma{ - pixel_y = 5 - }, -/obj/item/stack/sheet/mineral/plasma{ - pixel_x = 2 - }, -/obj/item/reagent_containers/cup/beaker{ - pixel_x = 8; - pixel_y = 7 - }, -/obj/item/reagent_containers/dropper, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/pharmacy) "ugE" = ( /obj/effect/turf_decal/siding/dark, /obj/machinery/airalarm/directional/north, @@ -70231,6 +71140,11 @@ /obj/effect/turf_decal/trimline/yellow/filled/line, /turf/open/floor/iron/smooth, /area/station/engineering/atmos/upper) +"uhv" = ( +/mob/living/basic/parrot/poly, +/obj/structure/filingcabinet/chestdrawer, +/turf/open/floor/engine, +/area/station/command/heads_quarters/ce) "uhx" = ( /obj/structure/table/reinforced, /turf/open/floor/plating, @@ -70252,17 +71166,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/openspace, /area/station/engineering/lobby) -"uhV" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/mail_sorting/engineering/ce_office, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/iron/dark/small, -/area/station/command/heads_quarters/ce) "uhY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -70336,19 +71239,6 @@ dir = 8 }, /area/station/hallway/primary/fore) -"ujD" = ( -/obj/machinery/door/airlock/medical/glass{ - id_tag = "MedbayFoyer"; - name = "Medbay" - }, -/obj/effect/mapping_helpers/airlock/unres, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "ujI" = ( /turf/open/openspace, /area/station/science/explab) @@ -70418,6 +71308,11 @@ }, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) +"ukq" = ( +/obj/structure/closet/secure_closet/atmospherics, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/glass/reinforced/plasma, +/area/station/engineering/atmos/project) "ukt" = ( /obj/structure/railing{ dir = 9 @@ -70607,6 +71502,16 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"ume" = ( +/obj/machinery/light/floor, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "umq" = ( /obj/machinery/light/directional/east, /obj/structure/filingcabinet/chestdrawer{ @@ -70656,21 +71561,9 @@ }, /turf/open/floor/iron/textured_large, /area/station/medical/virology) -"umE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/dim/directional/north, -/turf/open/floor/iron/textured_large, -/area/station/medical/abandoned) "umH" = ( /turf/closed/wall, /area/station/medical/psychology) -"umN" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "ung" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -70720,6 +71613,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"uor" = ( +/obj/structure/disposalpipe/trunk/multiz, +/turf/closed/wall, +/area/station/medical/morgue) "uow" = ( /obj/structure/table/wood, /obj/item/coin/antagtoken{ @@ -70748,12 +71645,9 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"uoA" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/rnd/production/techfab/department/medical, -/obj/machinery/newscaster/directional/west, -/turf/open/openspace, -/area/station/medical/storage) +"uoB" = ( +/turf/closed/wall, +/area/station/medical/office) "uoF" = ( /obj/effect/spawner/structure/window/reinforced, /obj/effect/turf_decal/tile/blue{ @@ -70815,6 +71709,13 @@ dir = 1 }, /area/station/hallway/secondary/construction) +"upA" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "upL" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -70908,11 +71809,16 @@ /obj/effect/landmark/start/depsec/supply, /turf/open/floor/iron/dark, /area/station/security/checkpoint/supply) -"uqL" = ( -/obj/machinery/firealarm/directional/west, -/obj/structure/cable, +"uqJ" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Medbay Maintenance" + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) +/area/station/maintenance/department/medical) "uqR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/confetti, @@ -70932,23 +71838,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/science/xenobiology) +"urg" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/hfr_room) "urh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/circuit/green/telecomms/mainframe, /area/station/tcommsat/server) -"urk" = ( -/obj/structure/table/glass, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, -/obj/item/blood_filter{ - pixel_x = 4 - }, -/obj/item/blood_filter{ - pixel_x = -2; - pixel_y = 5 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) "uro" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/item/kirbyplants/random, @@ -70991,6 +71893,10 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/station/science/explab) +"urL" = ( +/obj/structure/cable/multilayer/multiz, +/turf/open/floor/plating, +/area/station/solars/starboard/fore) "urV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -71030,18 +71936,6 @@ /obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/catwalk_floor, /area/station/maintenance/starboard/fore) -"usD" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/junction{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "usK" = ( /obj/structure/lattice/catwalk, /obj/structure/table, @@ -71089,6 +71983,13 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/processing) +"utn" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/holopad, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "utq" = ( /obj/structure/sign/poster/official/random/directional/north, /obj/structure/table, @@ -71195,11 +72096,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/service) -"uuk" = ( -/obj/effect/decal/cleanable/blood/oil, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) "uum" = ( /obj/effect/turf_decal/siding/thinplating/dark/corner{ dir = 1 @@ -71291,17 +72187,16 @@ /obj/structure/table/wood, /turf/open/floor/iron/dark/smooth_large, /area/station/security/courtroom) -"uvu" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/cable, -/turf/open/floor/iron/white/textured, -/area/station/medical/surgery) "uvv" = ( /obj/structure/flora/bush/pale/style_random, /obj/structure/flora/bush/fullgrass/style_random, /obj/effect/landmark/start/hangover, /turf/open/floor/grass, /area/station/hallway/secondary/entry) +"uvy" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/air, +/area/station/medical/medbay/central) "uvF" = ( /obj/structure/railing/corner{ dir = 4 @@ -71333,6 +72228,13 @@ }, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/bomb) +"uvT" = ( +/obj/machinery/keycard_auth/wall_mounted/directional/west{ + pixel_x = 26 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/ce) "uwg" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/machinery/light/directional/south, @@ -71368,6 +72270,11 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/iron/dark, /area/station/hallway/secondary/service) +"uwm" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/obj/structure/sign/poster/official/anniversary_vintage_reprint/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "uwn" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, @@ -71422,6 +72329,18 @@ /obj/structure/sign/poster/official/science/directional/north, /turf/open/floor/iron/white/textured_half, /area/station/ai_monitored/turret_protected/aisat_interior) +"uwF" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "uwN" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/warning{ dir = 1 @@ -71437,6 +72356,28 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"uwT" = ( +/obj/item/storage/medkit/regular{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/storage/medkit/o2{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/medkit/o2, +/obj/item/storage/medkit/o2{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/machinery/door/window/right/directional/west{ + name = "First Aid Supplies"; + req_access = list("medical") + }, +/obj/structure/table/reinforced/rglass, +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "uxd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/chair{ @@ -71453,6 +72394,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"uxj" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/pump, +/turf/open/floor/iron/dark/textured_large, +/area/station/engineering/atmos/upper) "uxl" = ( /obj/structure/chair/stool/bar/directional/south, /obj/effect/turf_decal/siding/wood{ @@ -71525,6 +72471,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"uxD" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/computer/atmos_alert, +/turf/open/floor/engine/hull/reinforced/air, +/area/station/engineering/atmos/project) "uxG" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -71545,6 +72498,17 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/storage_shared) +"uxJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/cable, +/obj/structure/sign/departments/chemistry/pharmacy/directional/east, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "uxK" = ( /obj/structure/flora/bush/pale/style_random, /obj/structure/flora/bush/fullgrass/style_random, @@ -71566,13 +72530,6 @@ /obj/effect/turf_decal/tile/dark_green/fourcorners, /turf/open/floor/plating, /area/station/commons/vacant_room/office) -"uxY" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) "uyb" = ( /obj/structure/closet/crate/freezer, /obj/item/reagent_containers/blood/ethereal, @@ -71592,6 +72549,13 @@ }, /turf/open/floor/iron, /area/station/science/robotics) +"uyi" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "uyn" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -71679,12 +72643,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) -"uzh" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/obj/structure/holosign/barrier/engineering, -/turf/open/openspace, -/area/station/engineering/atmos/project) "uzj" = ( /obj/machinery/airalarm/directional/west, /turf/open/floor/iron, @@ -71726,16 +72684,13 @@ }, /turf/open/floor/iron/cafeteria, /area/station/commons/locker) -"uzQ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/item/weldingtool, -/obj/item/wrench, -/obj/item/clothing/head/utility/welding, -/obj/structure/rack, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +"uzY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/fore) "uAl" = ( /turf/closed/wall, /area/station/engineering/lobby) @@ -71757,6 +72712,11 @@ /obj/machinery/light/dim/directional/south, /turf/open/openspace, /area/station/cargo/storage) +"uAw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/holopad, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/surgery) "uAB" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -71832,6 +72792,9 @@ }, /turf/open/floor/glass/reinforced, /area/station/hallway/secondary/construction) +"uBr" = ( +/turf/open/openspace, +/area/station/maintenance/department/medical) "uBs" = ( /obj/structure/railing{ dir = 8 @@ -71868,6 +72831,19 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"uBQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/machinery/light/cold/dim/directional/west, +/obj/structure/showcase/machinery/oldpod{ + desc = "An old NT branded sleeper, decommissioned after the lead acetate incident. None of the functional machinery remains inside."; + dir = 4; + name = "decommissioned sleeper" + }, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "uCb" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -71901,15 +72877,6 @@ /obj/machinery/light/very_dim/directional/south, /turf/open/floor/plating, /area/station/maintenance/disposal) -"uCE" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/railing/corner/end{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "uCF" = ( /turf/open/floor/plating, /area/station/maintenance/port/fore) @@ -71920,15 +72887,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) -"uCP" = ( -/obj/machinery/door/airlock/external{ - name = "Medical Escape Pod" - }, -/obj/effect/landmark/navigate_destination/dockescpod1, -/turf/open/floor/iron/textured_half{ - dir = 8 - }, -/area/space/nearstation) "uCR" = ( /obj/effect/landmark/carpspawn, /turf/open/space/basic, @@ -71955,6 +72913,24 @@ /obj/effect/landmark/firealarm_sanity, /turf/open/openspace, /area/station/command/meeting_room/council) +"uDs" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/structure/table/reinforced/rglass, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/item/storage/box/rxglasses{ + pixel_x = -4; + pixel_y = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "uDv" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/iron, @@ -72009,6 +72985,26 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison/safe) +"uEf" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/item/paper_bin{ + pixel_y = 3; + pixel_x = 6 + }, +/obj/item/pen{ + pixel_y = 8; + pixel_x = -6 + }, +/obj/item/toy/figure/paramedic{ + pixel_x = -5; + pixel_y = -3 + }, +/obj/structure/fireaxecabinet/jawsofrecovery/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/office) "uEk" = ( /obj/structure/showcase/cyborg/old{ dir = 4; @@ -72038,14 +73034,6 @@ /obj/effect/turf_decal/tile/green/full, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"uEG" = ( -/obj/structure/reagent_dispensers/plumbed/storage, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) "uEL" = ( /obj/effect/turf_decal/caution/stand_clear, /turf/open/floor/iron/dark, @@ -72065,12 +73053,6 @@ /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/carbon_input, /turf/open/floor/engine/co2, /area/station/engineering/atmos/upper) -"uEZ" = ( -/obj/structure/ladder, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/pharmacy) "uFj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -72110,11 +73092,37 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/security/prison/mess) +"uFS" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/blue/full, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "medbay-office"; + name = "Medbay Shutters"; + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/right/directional/north{ + req_access = list("medical"); + name = "Medbay Reception" + }, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/office) "uFV" = ( /obj/structure/table/reinforced, /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/security/checkpoint/science) +"uFX" = ( +/obj/structure/table, +/obj/item/wirecutters, +/obj/item/screwdriver{ + pixel_y = 16 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "uFY" = ( /obj/effect/landmark/start/security_officer, /turf/open/floor/iron/dark, @@ -72126,6 +73134,17 @@ }, /turf/open/floor/iron/checker, /area/station/service/bar) +"uGg" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/button/elevator/directional/east{ + id = "catwalk_atmos"; + name = "Elevator Button" + }, +/turf/open/floor/engine, +/area/station/engineering/atmos/project) "uGj" = ( /obj/structure/lattice/catwalk, /obj/effect/landmark/start/hangover, @@ -72140,13 +73159,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"uGt" = ( -/obj/structure/tank_holder/extinguisher, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) "uGx" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /obj/effect/turf_decal/tile/green{ @@ -72290,16 +73302,6 @@ /obj/machinery/washing_machine, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) -"uHK" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/structure/rack, -/obj/effect/spawner/random/techstorage/engineering_all, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "uHL" = ( /obj/effect/turf_decal/tile/red/opposingcorners, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -72371,6 +73373,17 @@ "uIO" = ( /turf/closed/wall, /area/station/maintenance/department/medical) +"uIT" = ( +/obj/item/flashlight/lamp/green{ + pixel_y = 5 + }, +/obj/structure/table/wood, +/obj/structure/cable, +/obj/effect/spawner/random/food_or_drink/booze{ + pixel_x = -7 + }, +/turf/open/floor/carpet/cyan, +/area/station/command/heads_quarters/cmo) "uJa" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -72427,6 +73440,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"uJU" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Storage Room" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port) "uJX" = ( /obj/effect/turf_decal/siding/wood{ dir = 10 @@ -72445,11 +73469,6 @@ }, /turf/open/openspace, /area/station/construction/storage_wing) -"uKj" = ( -/obj/effect/turf_decal/stripes/box, -/obj/structure/ladder, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "uKm" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -72486,15 +73505,6 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/medical/virology) -"uKM" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "chemshutters"; - name = "Chemistry Shutters" - }, -/turf/open/floor/plating, -/area/station/medical/pharmacy) "uKN" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, @@ -72564,20 +73574,6 @@ /obj/effect/turf_decal/trimline/dark_blue/filled/corner, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"uLo" = ( -/obj/machinery/computer/operating{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted, -/obj/machinery/airalarm/directional/west, -/obj/structure/cable, -/obj/machinery/camera/autoname/directional/west{ - c_tag = "Medbay - Lower Morgue" - }, -/turf/open/floor/iron/dark/textured_edge{ - dir = 1 - }, -/area/station/medical/morgue) "uLt" = ( /obj/effect/turf_decal/tile/dark/half/contrasted{ dir = 8 @@ -72620,10 +73616,10 @@ }, /turf/open/floor/iron/dark/textured_corner, /area/station/science/ordnance) -"uMy" = ( -/obj/machinery/shower/directional/east, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/virology) +"uMm" = ( +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/glass/reinforced, +/area/station/medical/chemistry) "uMD" = ( /obj/structure/window/reinforced/plasma/spawner/directional/south, /obj/machinery/power/energy_accumulator/tesla_coil/anchored{ @@ -72677,36 +73673,6 @@ /obj/item/radio/intercom/prison/directional/north, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) -"uNV" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"uNY" = ( -/obj/structure/bed{ - dir = 4 - }, -/obj/item/bedsheet/cmo{ - dir = 1 - }, -/obj/machinery/light_switch/directional/west, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) -"uOh" = ( -/obj/structure/closet/firecloset, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/red/line, -/obj/effect/landmark/start/hangover, -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "uOo" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers{ dir = 10 @@ -72755,16 +73721,6 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/engine/hull/reinforced, /area/space/nearstation) -"uPn" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/effect/landmark/start/paramedic, -/obj/structure/disposalpipe/junction{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/medical/break_room) "uPq" = ( /obj/structure/railing/corner{ dir = 1 @@ -72814,14 +73770,18 @@ "uQh" = ( /turf/open/floor/iron/dark, /area/station/security/medical) -"uQv" = ( -/obj/effect/turf_decal/tile/yellow{ +"uQn" = ( +/obj/effect/turf_decal/siding/blue{ dir = 8 }, -/turf/open/floor/iron/white/textured_corner{ - dir = 8 +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 }, -/area/station/medical/surgery) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "uQy" = ( /obj/structure/closet/crate/bin, /turf/open/floor/plating, @@ -72839,6 +73799,14 @@ /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron, /area/station/construction/storage_wing) +"uRn" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/effect/turf_decal/trimline/white/filled/warning{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "uRs" = ( /obj/structure/lattice/catwalk, /turf/open/openspace, @@ -72888,6 +73856,12 @@ }, /turf/open/floor/plating, /area/station/security/interrogation) +"uRR" = ( +/obj/effect/turf_decal/stripes/end{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/medical/chemistry) "uRU" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -72929,16 +73903,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"uSa" = ( -/obj/structure/sign/clock/directional/west, -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "uSg" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate/freezer, @@ -73030,19 +73994,6 @@ }, /turf/open/space/basic, /area/space) -"uTl" = ( -/obj/structure/transport/linear{ - radial_travel = 0 - }, -/obj/machinery/elevator_control_panel/directional/south{ - linked_elevator_id = "catwalk_atmos"; - preset_destination_names = list("2"="Lower Atmos","3"="Upper Atmos") - }, -/obj/effect/landmark/transport/transport_id{ - specific_transport_id = "catwalk_atmos" - }, -/turf/open/openspace, -/area/station/engineering/atmos/project) "uTy" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair, @@ -73106,12 +74057,6 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/space/nearstation) -"uUK" = ( -/obj/machinery/light/directional/south, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/item/kirbyplants/random, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "uUL" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -73151,6 +74096,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/carpet/black, /area/station/maintenance/hallway/abandoned_recreation) +"uVe" = ( +/obj/machinery/button/door/directional/south{ + id = "cmoprivacy"; + name = "CMO Privacy Shutters"; + req_access = list("cmo"); + pixel_y = -7 + }, +/turf/closed/wall, +/area/station/command/heads_quarters/cmo) "uVf" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/directional/west, @@ -73164,14 +74118,6 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"uVL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/icecream_vat, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "uVN" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -73188,15 +74134,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood/tile, /area/station/science/robotics) -"uVX" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/openspace, -/area/station/medical/storage) "uVY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/landmark/start/assistant, @@ -73205,6 +74142,11 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"uWh" = ( +/obj/machinery/light/directional/north, +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/engineering/atmos/project) "uWi" = ( /turf/open/openspace, /area/station/ai_monitored/command/storage/eva) @@ -73227,15 +74169,6 @@ /obj/item/clothing/head/costume/mailman, /turf/open/floor/iron, /area/station/cargo/sorting) -"uWM" = ( -/obj/machinery/modular_computer/preset/id{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/engine, -/area/station/command/heads_quarters/ce) "uWO" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -73258,11 +74191,6 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/dark, /area/station/science/cytology) -"uXj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/white, -/area/station/medical/abandoned) "uXz" = ( /obj/structure/bed{ dir = 4 @@ -73330,6 +74258,12 @@ /obj/effect/spawner/random/medical/surgery_tool, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) +"uYl" = ( +/obj/machinery/airalarm/directional/north, +/obj/structure/ladder, +/obj/effect/turf_decal/stripes/white/box, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/office) "uYu" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -73384,17 +74318,6 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood/large, /area/station/service/library) -"uZQ" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/turf_decal/siding/blue, -/turf/open/floor/engine/hull/air, -/area/station/medical/medbay/central) "uZS" = ( /obj/effect/turf_decal/siding/purple, /obj/effect/turf_decal/siding/purple{ @@ -73430,10 +74353,6 @@ dir = 8 }, /area/station/hallway/primary/starboard) -"vas" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/dark/textured_large, -/area/station/engineering/atmos/upper) "vav" = ( /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/stairs/medium, @@ -73503,32 +74422,21 @@ }, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/service/kitchen/coldroom) -"vbx" = ( -/obj/structure/table, -/obj/item/t_scanner{ - pixel_y = 8 - }, -/obj/item/multitool{ - pixel_x = -5 - }, -/obj/item/multitool{ - pixel_x = 5 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "vbB" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) -"vbV" = ( -/obj/machinery/status_display/ai/directional/north, -/turf/open/openspace, -/area/station/ai_monitored/turret_protected/ai_upload) +"vbM" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "vbX" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/south, @@ -73536,17 +74444,6 @@ /obj/structure/flora/grass/jungle/a/style_5, /turf/open/floor/grass, /area/station/ai_monitored/turret_protected/aisat_interior) -"vcf" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/light/directional/north, -/obj/machinery/camera/autoname/directional/north{ - c_tag = "Medbay - Upper Hallway"; - network = list("ss13","medbay") - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/medbay/central) "vcm" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/airless, @@ -73564,17 +74461,6 @@ /obj/structure/sign/warning/hot_temp, /turf/closed/wall/r_wall, /area/station/maintenance/disposal/incinerator) -"vcH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=5-Litterbox"; - location = "4-RnD" - }, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) "vcI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -73660,6 +74546,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) +"vdG" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "vdI" = ( /obj/structure/table, /obj/item/folder/red{ @@ -73772,15 +74670,6 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/wood, /area/station/service/library/printer) -"veT" = ( -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "vfb" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/effect/mapping_helpers/broken_machine, @@ -73790,16 +74679,6 @@ "vfe" = ( /turf/open/floor/iron, /area/station/commons/dorms) -"vfo" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/item/clothing/glasses/welding{ - pixel_x = 6; - pixel_y = 7 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "vfp" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -73821,10 +74700,32 @@ /obj/structure/cable, /turf/open/floor/iron/white/textured_large, /area/station/ai_monitored/turret_protected/aisat/foyer) +"vfF" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 9 + }, +/obj/effect/turf_decal/tile/purple/half{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "vfV" = ( /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"vfX" = ( +/obj/structure/table, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tcomms) "vfZ" = ( /obj/structure/broken_flooring/side/directional/north, /turf/open/floor/plating, @@ -73883,12 +74784,6 @@ /obj/structure/sign/poster/contraband/grey_tide/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"vgD" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) "vgF" = ( /obj/structure/closet/firecloset, /obj/effect/spawner/random/maintenance, @@ -73998,6 +74893,11 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"vil" = ( +/obj/item/kirbyplants/random, +/obj/structure/sign/departments/medbay/alt/directional/east, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) "viy" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/fluff/paper/stack{ @@ -74060,22 +74960,16 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/freezer, /area/station/commons/toilet/auxiliary) -"viV" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "main_surgery" - }, -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/medical/surgery) "vjc" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/trimline/green/filled/line, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"vjC" = ( +"vji" = ( /obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/item/radio/intercom/directional/north, /turf/open/openspace, /area/station/engineering/atmos/project) "vjS" = ( @@ -74089,15 +74983,6 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/openspace, /area/station/security/detectives_office) -"vka" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) "vkd" = ( /turf/open/openspace, /area/station/ai_monitored/turret_protected/ai_upload) @@ -74144,6 +75029,28 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/wood, /area/station/security/courtroom) +"vkJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/table/reinforced/rglass, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 3 + }, +/obj/item/flashlight/pen{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/stamp/head/cmo{ + pixel_x = 8; + pixel_y = 10 + }, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 10 + }, +/turf/open/floor/holofloor/dark, +/area/station/command/heads_quarters/cmo) "vkO" = ( /obj/structure/railing, /obj/effect/turf_decal/trimline/brown/filled/line, @@ -74274,6 +75181,25 @@ }, /turf/open/openspace, /area/station/hallway/secondary/construction) +"vmm" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/structure/rack, +/obj/item/plunger{ + pixel_x = -5; + pixel_y = 11 + }, +/obj/item/plunger{ + pixel_y = 6 + }, +/obj/machinery/button/door/directional/east{ + id = "chem_lockdown"; + name = "chemistry lockdown control"; + req_access = list("pharmacy") + }, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "vmt" = ( /obj/structure/disposalpipe/segment{ dir = 2 @@ -74285,22 +75211,18 @@ /obj/structure/punching_bag, /turf/open/floor/wood, /area/station/command/heads_quarters/hos) +"vmC" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) "vmG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"vmJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/sorting/mail{ - dir = 4 - }, -/obj/effect/mapping_helpers/mail_sorting/medbay/chemistry, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "vmZ" = ( /obj/structure/table/reinforced, /obj/item/circuitboard/machine/vendor, @@ -74345,6 +75267,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/textured_large, /area/station/security/prison) +"vny" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/ce) "vnz" = ( /obj/effect/turf_decal/plaque{ icon_state = "L7" @@ -74419,6 +75347,20 @@ }, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) +"vow" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/east, +/obj/item/radio/intercom/directional/east, +/obj/structure/showcase/machinery/oldpod{ + desc = "An old NT branded sleeper, decommissioned after the lead acetate incident. None of the functional machinery remains inside."; + dir = 8; + name = "decommissioned sleeper" + }, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "voF" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -74440,9 +75382,6 @@ /obj/structure/disposalpipe/junction/flip, /turf/open/floor/iron, /area/station/science/lobby) -"voU" = ( -/turf/open/openspace, -/area/station/medical/chemistry) "voV" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -74535,17 +75474,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/port) -"vqn" = ( -/obj/machinery/door/airlock/atmos/glass{ - name = "Atmospherics Testing Room" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/door/firedoor/heavy, -/obj/structure/cable, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "vqq" = ( /obj/structure/table, /obj/machinery/status_display/evac/directional/north, @@ -74569,28 +75497,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"vqu" = ( -/obj/structure/closet/crate/freezer, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) -"vqv" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) "vqE" = ( /obj/effect/decal/cleanable/blood/old, /obj/effect/decal/cleanable/crayon{ @@ -74611,12 +75517,29 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"vqG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/structure/showcase/machinery/oldpod{ + desc = "An old NT branded sleeper, decommissioned after the lead acetate incident. None of the functional machinery remains inside."; + dir = 1; + name = "decommissioned sleeper" + }, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "vqH" = ( /obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/co2{ dir = 8 }, /turf/open/floor/catwalk_floor, /area/station/engineering/atmos/upper) +"vqK" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/curtain/cloth, +/turf/open/floor/plating, +/area/station/medical/patients_rooms/room_a) "vqM" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -74728,18 +75651,6 @@ }, /turf/open/floor/iron, /area/station/science/research) -"vsL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "vsM" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 5 @@ -74782,13 +75693,6 @@ /obj/machinery/holopad, /turf/open/floor/glass/reinforced, /area/station/science/ordnance) -"vsY" = ( -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen/cmo/directional/east, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "vtc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/virology{ @@ -74803,13 +75707,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/break_room) -"vtm" = ( -/obj/machinery/camera/autoname/directional/north{ - c_tag = "Medbay - Upper Storage North Hallway" - }, -/obj/effect/turf_decal/siding/blue/corner, -/turf/open/openspace, -/area/station/medical/medbay/central) "vtu" = ( /obj/effect/turf_decal/tile/dark_red{ dir = 4 @@ -74875,6 +75772,14 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) +"vuB" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/large, +/area/station/hallway/primary/central) "vuN" = ( /obj/machinery/telecomms/message_server/preset, /turf/open/floor/iron/dark/telecomms, @@ -74889,6 +75794,41 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/wood, /area/station/security/detectives_office) +"vuR" = ( +/obj/structure/table/reinforced, +/obj/item/rcl/pre_loaded{ + pixel_y = 5 + }, +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/ce) +"vuY" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/light/directional/west, +/obj/machinery/firealarm/directional/west{ + pixel_y = -28 + }, +/obj/effect/landmark/start/hangover, +/obj/structure/chair{ + dir = 4; + pixel_y = -2 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) +"vuZ" = ( +/obj/machinery/door/poddoor/preopen{ + id = "cmoprivacy"; + name = "Privacy Shutter" + }, +/obj/structure/cable, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/command/heads_quarters/cmo) "vvb" = ( /obj/effect/turf_decal/bot, /obj/effect/decal/cleanable/cobweb/cobweb2, @@ -74905,6 +75845,15 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/sepia, /area/station/hallway/secondary/construction) +"vvi" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/science/lobby) "vvk" = ( /turf/open/floor/iron/dark/textured_large, /area/station/science/genetics) @@ -74952,6 +75901,13 @@ /obj/structure/stairs/west, /turf/open/floor/iron, /area/station/science/zoo) +"vvV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/item/stack/rods/two, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "vvY" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/loading_area{ @@ -75071,6 +76027,15 @@ }, /turf/open/floor/iron/dark/smooth_half, /area/station/service/library) +"vxr" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "vxJ" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/heat_exchanging/junction{ @@ -75078,19 +76043,10 @@ }, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/service/kitchen/coldroom) -"vxV" = ( -/obj/machinery/computer/atmos_control/nitrous_tank, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) +"vxU" = ( +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "vyp" = ( /obj/item/radio/intercom/directional/west, /obj/machinery/modular_computer/preset/engineering{ @@ -75126,36 +76082,20 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"vyV" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet, -/area/station/ai_monitored/turret_protected/ai_upload) -"vza" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) -"vzf" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/obj/item/plunger{ - pixel_x = -10; - pixel_y = 11 - }, -/obj/item/plunger{ - pixel_x = -14; - pixel_y = 6 - }, +"vyP" = ( /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"vzk" = ( +/obj/effect/decal/cleanable/blood/oil/slippery, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/aft) "vzq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, /obj/machinery/door/airlock/command/glass{ @@ -75188,14 +76128,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"vzN" = ( -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "vzO" = ( /obj/effect/landmark/start/assistant, /turf/open/floor/iron, @@ -75296,16 +76228,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"vAy" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/landmark/start/medical_doctor, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/wood/parquet, -/area/station/medical/break_room) "vAF" = ( /obj/structure/cable, /obj/effect/spawner/random/trash/ghetto_containers, @@ -75386,15 +76308,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/commons/storage/tools) -"vBN" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 1; - id = "chemshutters"; - name = "Chemistry Shutters" - }, -/turf/open/floor/plating, -/area/station/medical/pharmacy) "vBS" = ( /obj/effect/turf_decal/siding/purple{ dir = 1 @@ -75480,6 +76393,14 @@ "vCE" = ( /turf/closed/wall, /area/station/ai_monitored/command/nuke_storage) +"vCG" = ( +/obj/machinery/button/door/directional/east{ + id = "chem_lockdown"; + name = "chemistry lockdown control"; + req_access = list("pharmacy") + }, +/turf/open/floor/glass/reinforced, +/area/station/medical/chemistry) "vCN" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/public/glass{ @@ -75545,6 +76466,17 @@ /obj/structure/lattice, /turf/open/openspace, /area/station/maintenance/starboard/fore) +"vDG" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "vDL" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/plasma, @@ -75586,6 +76518,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"vEI" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/atmos/project) "vEU" = ( /obj/machinery/skill_station, /obj/machinery/airalarm/directional/north, @@ -75599,6 +76543,16 @@ /obj/machinery/portable_atmospherics/canister/oxygen, /turf/open/floor/plating, /area/station/construction/storage_wing) +"vFl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/door/airlock/engineering/glass{ + name = "Grav Gen & Tech Storage" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/construction, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "vFr" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -75622,6 +76576,17 @@ }, /turf/open/floor/engine/hull/air, /area/station/science/research) +"vFN" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/machinery/camera/directional/west, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "vFP" = ( /obj/structure/lattice/catwalk, /obj/effect/turf_decal/stripes/line, @@ -75701,6 +76666,11 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/dark/textured_large, /area/station/medical/virology) +"vGx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) "vGC" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -75730,13 +76700,10 @@ /obj/structure/sign/poster/contraband/energy_swords/directional/north, /turf/open/floor/engine/hull/air, /area/station/maintenance/starboard/fore) -"vGX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/smooth_large, -/area/station/maintenance/department/medical) +"vGW" = ( +/obj/item/radio/intercom/directional/south, +/turf/open/floor/glass/reinforced, +/area/station/medical/chemistry) "vHa" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/incinerator_input, /turf/open/floor/engine/airless, @@ -75759,6 +76726,19 @@ /obj/item/cigbutt, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"vHv" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/structure/showcase/machinery/oldpod{ + desc = "An old NT branded sleeper, decommissioned after the lead acetate incident. None of the functional machinery remains inside."; + dir = 4; + name = "decommissioned sleeper" + }, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "vHz" = ( /obj/structure/table, /obj/machinery/air_sensor, @@ -75828,11 +76808,6 @@ }, /turf/open/floor/iron, /area/station/science/research) -"vIL" = ( -/obj/structure/chair/office, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/aft) "vIX" = ( /obj/machinery/camera/autoname/directional/east, /obj/effect/decal/cleanable/dirt, @@ -75846,6 +76821,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) +"vJy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/blue/corner{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "vJz" = ( /obj/structure/railing{ dir = 4 @@ -75866,6 +76856,19 @@ /obj/structure/disposalpipe/junction, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"vJM" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/south, +/obj/structure/table, +/obj/item/stack/sheet/mineral/plasma{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/item/clothing/glasses/science, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "vJP" = ( /obj/structure/table, /obj/item/storage/box/hug/plushes{ @@ -76013,12 +77016,25 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal) +"vLy" = ( +/obj/machinery/status_display/ai/directional/south, +/obj/structure/bodycontainer/morgue{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "vLC" = ( /obj/structure/railing{ dir = 1 }, /turf/open/floor/engine/hull/air, /area/station/maintenance/port) +"vLF" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner, +/obj/machinery/chem_heater/withbuffer, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "vLQ" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/structure/table, @@ -76038,6 +77054,15 @@ }, /turf/open/floor/catwalk_floor, /area/station/engineering/atmos/upper) +"vMb" = ( +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","medbay"); + c_tag = "Medbay - Upper Chemistry South" + }, +/obj/structure/ladder, +/obj/effect/turf_decal/stripes/red/box, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "vMn" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -76058,13 +77083,6 @@ /obj/structure/cable, /turf/closed/wall/r_wall, /area/station/security/checkpoint/science) -"vMv" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) "vMG" = ( /obj/item/kirbyplants/random, /obj/machinery/button/door/directional/west{ @@ -76099,12 +77117,6 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/grass, /area/station/engineering/lobby) -"vMP" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "vMR" = ( /obj/machinery/modular_computer/preset/civilian{ dir = 4 @@ -76136,18 +77148,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/xenobiology) -"vNg" = ( -/obj/structure/lattice/catwalk, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/table/reinforced, -/obj/item/clothing/gloves/latex/nitrile, -/obj/item/clothing/gloves/latex/nitrile, -/obj/item/clothing/gloves/latex/nitrile, -/obj/item/clothing/gloves/latex/nitrile, -/obj/item/wrench/medical, -/turf/open/openspace, -/area/station/medical/storage) "vNm" = ( /obj/item/bodypart/chest/lizard, /obj/effect/mapping_helpers/broken_floor, @@ -76197,6 +77197,12 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"vNX" = ( +/obj/structure/transport/linear{ + radial_travel = 0 + }, +/turf/open/openspace, +/area/station/engineering/atmos/project) "vOg" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -76222,13 +77228,6 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) -"vOu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/computer/atmos_alert, -/turf/open/floor/engine/hull/reinforced/air, -/area/station/engineering/atmos/project) "vOy" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -76264,6 +77263,24 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"vPv" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 4 + }, +/obj/structure/tank_holder/extinguisher, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) +"vPx" = ( +/obj/machinery/airalarm/directional/west, +/obj/structure/bed/dogbed/runtime, +/obj/item/toy/cattoy, +/mob/living/basic/pet/cat/runtime, +/obj/machinery/light/small/dim/directional/north, +/turf/open/floor/carpet/cyan, +/area/station/command/heads_quarters/cmo) "vPN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -76285,6 +77302,12 @@ }, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) +"vPZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "vQd" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 @@ -76312,6 +77335,15 @@ "vQq" = ( /turf/closed/wall/r_wall, /area/station/maintenance/port/greater) +"vQw" = ( +/obj/structure/cable, +/obj/machinery/camera/autoname/directional/west, +/obj/structure/disposalpipe/segment, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/ce) "vQy" = ( /obj/machinery/suit_storage_unit/security, /obj/machinery/light/directional/west, @@ -76424,6 +77456,19 @@ /obj/structure/sign/poster/contraband/lizard/directional/west, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"vRt" = ( +/obj/machinery/computer/atmos_control/nitrous_tank, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "vRz" = ( /obj/machinery/light/small/directional/south, /obj/structure/closet/firecloset, @@ -76582,9 +77627,6 @@ /obj/effect/decal/cleanable/glitter, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"vSW" = ( -/turf/open/floor/carpet, -/area/station/ai_monitored/turret_protected/ai_upload) "vSX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -76594,6 +77636,16 @@ /obj/structure/railing/corner, /turf/open/floor/iron, /area/station/science/robotics) +"vTf" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "vTm" = ( /obj/structure/disposalpipe/segment{ dir = 2 @@ -76647,6 +77699,15 @@ /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, /area/station/science/research) +"vTL" = ( +/obj/structure/rack, +/obj/effect/spawner/random/techstorage/rnd_all, +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "vTV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -76679,6 +77740,12 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/engineering/engine_smes) +"vUw" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/heater{ + dir = 4 + }, +/turf/open/floor/glass/reinforced/plasma, +/area/station/engineering/atmos/project) "vUQ" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/table/wood, @@ -76735,6 +77802,12 @@ /obj/structure/broken_flooring/pile/directional/north, /turf/open/floor/plating, /area/station/engineering/storage_shared) +"vVX" = ( +/obj/machinery/light/directional/west, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "vWa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -76767,38 +77840,55 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured_large, /area/station/maintenance/port) +"vWt" = ( +/obj/machinery/computer/atmos_control/air_tank, +/obj/effect/turf_decal/tile/neutral/half{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "vWv" = ( /obj/effect/turf_decal/bot_white, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/smooth_large, /area/station/science/lab) -"vWI" = ( -/obj/structure/rack, -/obj/item/reagent_containers/cup/bottle/fluorine{ - pixel_x = 7; - pixel_y = 3 +"vWy" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "chem_lockdown"; + name = "Chemistry Shutters" }, -/obj/item/reagent_containers/cup/bottle/iodine{ - pixel_x = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ +/turf/open/floor/plating, +/area/station/medical/chemistry) +"vWU" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ - dir = 1 - }, -/turf/open/floor/iron/dark/smooth_large, +/turf/open/floor/iron/white, /area/station/medical/medbay/central) +"vXg" = ( +/obj/structure/lattice/catwalk, +/obj/structure/table/reinforced, +/obj/item/flashlight/lamp, +/obj/machinery/light/directional/north, +/turf/open/openspace, +/area/station/security/checkpoint/customs) "vXh" = ( /obj/item/radio/intercom/directional/west, /turf/open/floor/carpet/black, /area/station/service/library/private) -"vXl" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/space/openspace, -/area/space/nearstation) +"vXi" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/structure/sign/warning/secure_area/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "vXt" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -76814,6 +77904,13 @@ /obj/machinery/mining_weather_monitor/directional/north, /turf/open/floor/iron/dark/textured, /area/station/construction/mining/aux_base) +"vXC" = ( +/obj/structure/sign/warning/chem_diamond/directional/north, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "vXQ" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 10 @@ -76845,14 +77942,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"vYs" = ( -/obj/structure/table/optable, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/dark/textured_edge, -/area/station/medical/morgue) "vYt" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -76908,9 +77997,6 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/dark, /area/station/science/cytology) -"vZG" = ( -/turf/open/openspace/coldroom, -/area/station/medical/coldroom) "vZI" = ( /obj/effect/turf_decal/tile/dark_green{ dir = 4 @@ -76927,13 +78013,6 @@ /obj/item/storage/belt/utility, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"vZN" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 - }, -/obj/effect/landmark/start/atmospheric_technician, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "vZQ" = ( /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -76977,6 +78056,12 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) +"way" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "waz" = ( /turf/closed/wall, /area/station/security/interrogation) @@ -77002,6 +78087,10 @@ name = "Holodeck Projector Floor" }, /area/station/holodeck/rec_center) +"waY" = ( +/obj/structure/lattice/catwalk, +/turf/open/space/openspace, +/area/station/solars/starboard/fore) "wbc" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/structure/sink/directional/west, @@ -77021,6 +78110,17 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/port) +"wbE" = ( +/obj/structure/rack, +/obj/item/cardboard_cutout{ + pixel_x = 8 + }, +/obj/item/cardboard_cutout, +/obj/item/cardboard_cutout{ + pixel_x = -5 + }, +/turf/open/floor/plating, +/area/station/maintenance/port) "wbH" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -77057,6 +78157,10 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"wbY" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/medical/medbay/lobby) "wce" = ( /obj/structure/railing/corner{ dir = 4 @@ -77090,12 +78194,6 @@ /obj/effect/turf_decal/trimline/brown, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"wcL" = ( -/obj/effect/turf_decal/siding/brown, -/obj/structure/closet/athletic_mixed, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation) "wcN" = ( /obj/structure/lattice/catwalk, /turf/open/openspace, @@ -77155,10 +78253,6 @@ dir = 1 }, /area/station/commons/lounge) -"wdh" = ( -/obj/structure/table, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "wdn" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/botanical_waste, @@ -77196,6 +78290,25 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"wdJ" = ( +/obj/machinery/door/airlock/engineering, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/turf/open/floor/iron, +/area/station/engineering/break_room) +"wdN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/mail_sorting/medbay/chemistry, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4 + }, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "wdQ" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/chair{ @@ -77353,6 +78466,12 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) +"wft" = ( +/obj/machinery/newscaster/directional/west, +/obj/structure/hedge, +/obj/machinery/light/small/directional/west, +/turf/open/floor/wood/large, +/area/station/medical/break_room) "wfz" = ( /obj/structure/cable, /obj/structure/disposalpipe/sorting/mail{ @@ -77381,6 +78500,14 @@ dir = 8 }, /area/station/tcommsat/server) +"wfK" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/east, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "wfN" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -77425,46 +78552,22 @@ }, /turf/open/floor/carpet, /area/station/maintenance/starboard/aft) -"wgl" = ( -/obj/structure/ladder, -/obj/effect/turf_decal/stripes/box, -/obj/structure/sign/warning/radiation/rad_area/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "wgp" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer4{ dir = 4 }, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) -"wgx" = ( -/obj/structure/rack, -/obj/item/reagent_containers/cup/bottle/acidic_buffer{ - pixel_x = 7; - pixel_y = 3 - }, -/obj/item/reagent_containers/cup/bottle/basic_buffer{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/reagent_containers/cup/bottle/formaldehyde{ - pixel_x = 1 - }, -/obj/structure/sign/warning/chem_diamond/directional/north, -/obj/machinery/light_switch/directional/east, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ - dir = 1 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/medbay/central) "wgD" = ( /obj/structure/window/reinforced/plasma/spawner/directional/east, /obj/machinery/holopad, /turf/open/floor/iron/dark, /area/station/engineering/break_room) +"wgI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "wgM" = ( /obj/structure/statue/sandstone/venus{ dir = 1 @@ -77489,9 +78592,15 @@ /turf/open/floor/iron, /area/station/hallway/primary/aft) "wgU" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) +/obj/structure/rack, +/obj/item/storage/belt/utility, +/obj/item/airlock_painter, +/obj/item/storage/belt/utility, +/obj/item/clothing/gloves/color/fyellow, +/obj/item/clothing/gloves/color/fyellow, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "wha" = ( /obj/structure/cable, /obj/machinery/fax{ @@ -77513,19 +78622,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"whs" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Morgue Maintenance" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/morgue, -/turf/open/floor/plating, -/area/station/maintenance/port) "whu" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/directional/east, @@ -77535,6 +78631,12 @@ /obj/machinery/teleport/hub, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/aisat/teleporter) +"whE" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "whJ" = ( /obj/structure/sign/departments/science/alt/directional/south, /obj/effect/turf_decal/tile/green/full, @@ -77559,6 +78661,16 @@ /obj/structure/sign/poster/contraband/bojack/directional/east, /turf/open/floor/iron, /area/station/science/research) +"whV" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Medbay Maintenance" + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/medical) "whZ" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -77597,13 +78709,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/commons/lounge) -"wiq" = ( -/obj/structure/railing, -/obj/effect/decal/cleanable/dirt, -/obj/structure/lattice/catwalk, -/obj/machinery/airalarm/directional/north, -/turf/open/openspace/coldroom, -/area/station/medical/coldroom) "wiv" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/box, @@ -77671,10 +78776,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"wjw" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/service/kitchen/abandoned) "wjH" = ( /obj/structure/stairs/west, /obj/structure/railing{ @@ -77693,6 +78794,23 @@ /obj/effect/spawner/random/bureaucracy/paper, /turf/open/floor/wood, /area/station/maintenance/starboard/aft) +"wjP" = ( +/obj/structure/lattice/catwalk, +/obj/item/stack/cable_coil, +/turf/open/space/basic, +/area/station/solars/starboard/fore) +"wjT" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/disposalpipe/junction{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "wjV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/closet_maintenance, @@ -77759,6 +78877,25 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"wkW" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue/full, +/obj/machinery/door/airlock/multi_tile/public/glass, +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/obj/effect/mapping_helpers/airlock/autoname, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"wkZ" = ( +/obj/machinery/firealarm/directional/east, +/obj/structure/chair/sofa/corp/corner, +/turf/open/floor/carpet/blue, +/area/station/medical/break_room) "wlc" = ( /obj/effect/turf_decal/trimline/dark_green/filled/line{ dir = 8 @@ -77771,14 +78908,28 @@ /obj/structure/cable, /turf/open/floor/wood/tile, /area/station/security/detectives_office/private_investigators_office) -"wlq" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "chemshutters"; - name = "Chemistry Shutters" +"wlo" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 }, -/turf/open/floor/plating, +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ + dir = 1 + }, +/obj/structure/table, +/obj/item/assembly/igniter{ + pixel_x = 3; + pixel_y = -1 + }, +/obj/item/assembly/timer{ + pixel_x = -2; + pixel_y = 3 + }, +/obj/item/radio/headset/headset_med{ + pixel_x = 15; + pixel_y = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark/smooth_large, /area/station/medical/pharmacy) "wlF" = ( /obj/structure/lattice/catwalk, @@ -77793,12 +78944,6 @@ }, /turf/open/floor/plating, /area/station/service/lawoffice) -"wlM" = ( -/obj/structure/bodycontainer/morgue{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/morgue) "wlY" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -77816,6 +78961,33 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tcomms) +"wmb" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/table/wood/fancy/green, +/obj/effect/spawner/random/aimodule/harmless{ + pixel_x = 2; + pixel_y = 8 + }, +/obj/effect/spawner/random/aimodule/harmless{ + pixel_x = -3; + pixel_y = -2 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/turret_protected/ai_upload) +"wmk" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/item/kirbyplants/organic/plant19{ + pixel_x = -3; + pixel_y = 12 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/turret_protected/ai_upload) "wmm" = ( /obj/structure/railing{ dir = 4 @@ -77928,13 +79100,6 @@ "wnO" = ( /turf/open/floor/wood/large, /area/station/medical/psychology) -"wnY" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/openspace, -/area/station/medical/storage) "woe" = ( /obj/effect/spawner/random/trash/garbage, /obj/effect/decal/cleanable/greenglow, @@ -77963,14 +79128,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark/textured, /area/station/cargo/warehouse) -"wor" = ( -/obj/machinery/atmospherics/components/binary/pump/off/general/visible{ - dir = 1; - name = "Unfiltered" - }, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "wot" = ( /obj/machinery/door/airlock/external, /obj/effect/mapping_helpers/airlock/access/all/engineering/external, @@ -78130,6 +79287,21 @@ dir = 1 }, /area/station/science/ordnance/storage) +"wrt" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) +"wrz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/floor, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) "wrE" = ( /turf/open/floor/glass, /area/station/hallway/secondary/entry) @@ -78143,6 +79315,13 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"wrM" = ( +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "wrQ" = ( /turf/open/floor/iron/smooth, /area/station/engineering/main) @@ -78178,12 +79357,6 @@ }, /turf/open/floor/iron, /area/station/service/cafeteria) -"wsw" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/atmos/upper) "wsR" = ( /obj/structure/table, /obj/item/wrench, @@ -78256,14 +79429,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/solars/starboard/aft) -"wtD" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "Port to Engine"; - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "wtI" = ( /obj/structure/table, /obj/item/pipe_dispenser, @@ -78289,12 +79454,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"wtK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/fore) "wtO" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -78310,15 +79469,13 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"wuo" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/showcase/machinery/oldpod{ - desc = "An old NT branded sleeper, decommissioned after the lead acetate incident. None of the functional machinery remains inside."; - dir = 4; - name = "decommissioned sleeper" +"wun" = ( +/obj/effect/turf_decal/trimline/blue/arrow_ccw{ + dir = 1 }, -/turf/open/floor/iron/white, -/area/station/medical/abandoned) +/obj/effect/turf_decal/trimline/blue/arrow_cw, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "wuq" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -78378,6 +79535,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) +"wuQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/departments/chemistry/directional/south, +/turf/open/floor/engine/hull/air, +/area/station/medical/medbay/central) +"wuX" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/trimline/yellow/filled/warning/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "wuZ" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/disposalpipe/segment, @@ -78388,6 +79557,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"wvb" = ( +/obj/machinery/flasher/directional/west, +/obj/structure/table/wood/fancy/cyan, +/obj/effect/spawner/round_default_module, +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/turret_protected/ai_upload) "wvc" = ( /obj/structure/table/wood/poker, /obj/item/storage/dice, @@ -78424,6 +79599,11 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/iron/checker, /area/station/service/bar) +"wvp" = ( +/obj/structure/cable, +/obj/item/banner/command/mundane, +/turf/open/floor/plating, +/area/station/maintenance/port) "wvw" = ( /obj/machinery/conveyor{ dir = 8; @@ -78484,19 +79664,24 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/command/bridge) -"wwg" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "wwj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured_large, /area/station/medical/virology) +"wwk" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/machinery/meter{ + name = "N2O meter" + }, +/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ + name = "N2O Multideck Adapter"; + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "wwl" = ( /obj/structure/railing/corner{ dir = 8 @@ -78520,12 +79705,6 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/engine/hull/air, /area/station/maintenance/starboard/lesser) -"wwx" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "wwz" = ( /obj/effect/turf_decal/siding/purple{ dir = 8 @@ -78582,20 +79761,12 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/wood, /area/station/security/courtroom) -"wxb" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/firealarm/directional/west, -/turf/open/openspace, -/area/station/medical/cryo) -"wxk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) +"wxm" = ( +/obj/structure/bed/medical/emergency, +/obj/effect/landmark/start/paramedic, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) "wxq" = ( /obj/effect/landmark/event_spawn, /turf/closed/wall/r_wall, @@ -78619,6 +79790,21 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/security/brig) +"wxY" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 8 + }, +/mob/living/basic/bot/medbot, +/obj/machinery/holopad, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "wyc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -78631,6 +79817,15 @@ /obj/item/cigbutt, /turf/open/floor/engine/hull, /area/space/nearstation) +"wyp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "wyq" = ( /obj/structure/table/reinforced, /obj/effect/decal/cleanable/dirt, @@ -78643,23 +79838,34 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"wyx" = ( -/obj/effect/turf_decal/siding/yellow{ +"wyu" = ( +/obj/structure/railing/corner{ dir = 1 }, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/railing/corner/end{ - dir = 8 +/obj/structure/bodycontainer/morgue{ + dir = 2 }, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "wyF" = ( /obj/structure/flora/tree/palm/style_random, /turf/open/floor/iron/vaporwave, /area/station/maintenance/starboard/lesser) +"wyT" = ( +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/chair/sofa/bench/solo{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "wzj" = ( /turf/closed/wall/r_wall, /area/station/tcommsat/server) @@ -78668,13 +79874,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/plating, /area/station/security/execution/education) -"wzp" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/effect/landmark/start/chemist, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) "wzs" = ( /obj/structure/rack, /obj/item/storage/box/lights/mixed, @@ -78693,6 +79892,16 @@ /obj/machinery/portable_atmospherics/canister/oxygen, /turf/open/floor/iron, /area/station/engineering/main) +"wzD" = ( +/obj/machinery/door/airlock/atmos/glass{ + name = "Atmospherics" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "wzM" = ( /obj/machinery/recharge_station, /turf/open/floor/wood, @@ -78828,6 +80037,19 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"wBG" = ( +/obj/machinery/chem_heater/withbuffer, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "wBJ" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -78924,6 +80146,14 @@ /obj/machinery/light/directional/south, /turf/open/floor/wood, /area/station/commons/fitness/recreation) +"wDh" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/openspace, +/area/station/engineering/atmos/project) "wDs" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/structure/rack, @@ -78959,6 +80189,18 @@ }, /turf/open/floor/wood, /area/station/commons/dorms) +"wDS" = ( +/obj/effect/mapping_helpers/burnt_floor, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) +"wDT" = ( +/obj/item/radio/intercom/directional/north, +/obj/machinery/light/directional/east, +/turf/open/floor/glass/reinforced, +/area/station/medical/chemistry) "wDY" = ( /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /obj/machinery/door/airlock/public/glass{ @@ -78994,6 +80236,22 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/construction/storage_wing) +"wEH" = ( +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/machinery/door/airlock/maintenance{ + name = "Medbay Maintenance" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/port) +"wEI" = ( +/obj/machinery/door/firedoor/border_only, +/obj/structure/railing, +/turf/open/floor/engine/hull/air, +/area/station/medical/medbay/central) "wEJ" = ( /obj/machinery/computer/security{ dir = 8 @@ -79006,15 +80264,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/service/chapel) -"wER" = ( -/obj/machinery/vending/cigarette, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/wood/parquet, -/area/station/medical/break_room) "wEX" = ( /obj/structure/sign/poster/contraband/hacking_guide/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"wFc" = ( +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "wFf" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -79049,6 +80310,9 @@ "wFl" = ( /turf/open/floor/engine/n2, /area/station/engineering/atmos/upper) +"wFm" = ( +/turf/closed/wall, +/area/station/solars/starboard/fore) "wFt" = ( /obj/structure/showcase/mecha/marauder, /turf/open/floor/iron/dark, @@ -79104,12 +80368,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"wGk" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/power/tracker, -/obj/structure/cable, -/turf/open/space/basic, -/area/station/solars/port/aft) "wGD" = ( /obj/effect/turf_decal/trimline/purple/arrow_cw{ dir = 8 @@ -79125,6 +80383,12 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/ai) +"wGJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "wGN" = ( /obj/machinery/light/warm/dim/directional/south, /obj/item/kirbyplants/potty, @@ -79154,25 +80418,19 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/construction/mining/aux_base) -"wHi" = ( -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/vending/assist, -/turf/open/floor/iron, -/area/station/commons/storage/primary) +"wHa" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "wHp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"wHu" = ( -/obj/machinery/door/airlock/engineering/glass{ - name = "Primary Tool Storage" - }, -/obj/machinery/door/firedoor, -/obj/effect/landmark/navigate_destination/tools, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "wHx" = ( /obj/machinery/camera/directional/east, /turf/open/openspace, @@ -79210,6 +80468,15 @@ dir = 1 }, /area/station/service/library/printer) +"wIb" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "wIf" = ( /obj/machinery/button/door/directional/east{ id = "qm_cargobay"; @@ -79298,14 +80565,6 @@ /obj/structure/grille, /turf/closed/wall/r_wall, /area/station/maintenance/disposal/incinerator) -"wJO" = ( -/obj/machinery/suit_storage_unit/ce, -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/carpet/orange, -/area/station/command/heads_quarters/ce) "wJU" = ( /obj/structure/extinguisher_cabinet/directional/east, /obj/machinery/camera/autoname/directional/east, @@ -79330,6 +80589,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, /area/station/maintenance/starboard/aft) +"wKu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/sorting/mail{ + dir = 2 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "wKD" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -79345,6 +80616,13 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) +"wKJ" = ( +/obj/machinery/light/directional/east, +/obj/machinery/atmospherics/components/unary/thermomachine/heater{ + dir = 4 + }, +/turf/open/floor/glass/reinforced/plasma, +/area/station/engineering/atmos/project) "wKR" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/carpet, @@ -79357,21 +80635,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/command/corporate_showroom) -"wLe" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/yellow/corner{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk/multiz/down{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/medical/chemistry) "wLf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/item/storage/box/lights/mixed{ @@ -79414,6 +80677,30 @@ }, /turf/open/floor/iron/smooth, /area/station/science/robotics) +"wLF" = ( +/obj/item/clothing/gloves/radio, +/obj/item/clothing/suit/jacket/straight_jacket, +/obj/item/clothing/glasses/eyepatch, +/obj/item/clothing/glasses/blindfold, +/obj/item/clothing/glasses/blindfold, +/obj/item/clothing/ears/earmuffs{ + pixel_y = 3 + }, +/obj/structure/closet, +/obj/item/clothing/ears/earmuffs{ + pixel_y = 3 + }, +/obj/item/storage/box/rxglasses, +/obj/item/reagent_containers/cup/beaker/cryoxadone, +/obj/effect/turf_decal/bot_white{ + color = "#52B4E9" + }, +/obj/item/radio/intercom/directional/west, +/obj/item/storage/box/syringes{ + pixel_y = 4 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "wLK" = ( /obj/effect/landmark/start/hangover, /obj/effect/spawner/random/trash/graffiti, @@ -79442,15 +80729,10 @@ /obj/effect/turf_decal/trimline/red/filled/warning, /turf/open/floor/iron, /area/station/hallway/primary/port) -"wMk" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 8 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) +"wMi" = ( +/obj/structure/sign/warning/radiation/rad_area, +/turf/closed/wall/r_wall, +/area/station/engineering/gravity_generator) "wMn" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -79550,15 +80832,6 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron/dark, /area/station/science/server) -"wNI" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "wNL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -79610,12 +80883,19 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/smooth, /area/station/engineering/atmos/upper) -"wOK" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/airalarm/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +"wOL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/fax{ + fax_name = "Medical"; + name = "Medical Fax Machine" + }, +/obj/structure/table, +/obj/structure/cable, +/obj/effect/turf_decal/bot_white{ + color = "#52B4E9" + }, /turf/open/floor/iron/dark/textured_large, -/area/station/medical/morgue) +/area/station/medical/storage) "wOO" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /obj/effect/mapping_helpers/airlock/access/all/science/general, @@ -79628,20 +80908,27 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/science/lab) -"wOU" = ( -/obj/machinery/computer/apc_control{ - dir = 1 +"wOW" = ( +/obj/structure/table, +/obj/item/paper{ + pixel_y = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/item/phone{ + pixel_x = -5; + pixel_y = 11 }, -/turf/open/floor/engine, -/area/station/command/heads_quarters/ce) -"wPf" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/white/textured, -/area/station/medical/surgery) +/obj/item/pen/blue{ + pixel_x = -5; + pixel_y = -1 + }, +/obj/item/stamp{ + pixel_x = 13; + pixel_y = 12 + }, +/obj/machinery/computer/security/telescreen/aiupload/directional/north, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/turret_protected/ai_upload_foyer) "wPl" = ( /obj/effect/decal/cleanable/blood/oil/slippery, /turf/open/floor/iron/dark/smooth_large, @@ -79664,18 +80951,6 @@ /obj/structure/cable, /turf/closed/wall, /area/station/maintenance/port) -"wQc" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/pharmacy) "wQh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -79689,6 +80964,12 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/rec) +"wQo" = ( +/obj/structure/table/wood, +/obj/machinery/status_display/evac/directional/south, +/obj/item/pai_card, +/turf/open/floor/wood/large, +/area/station/medical/break_room) "wQp" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/contraband/random/directional/north, @@ -79718,14 +80999,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden/abandoned) -"wQz" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/caution/stand_clear, -/turf/open/floor/engine, -/area/station/engineering/atmos/project) "wQD" = ( /obj/machinery/light/small/directional/east, /obj/item/solar_assembly, @@ -79750,10 +81023,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/solars/starboard/aft) -"wQH" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/command/heads_quarters/cmo) "wQS" = ( /obj/structure/railing, /obj/effect/turf_decal/siding/thinplating, @@ -79795,22 +81064,11 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"wRr" = ( -/obj/structure/sign/poster/contraband/grey_tide/directional/north, -/obj/structure/rack, -/obj/item/storage/toolbox/electrical{ - pixel_y = -2 - }, -/obj/item/storage/box/shipping{ - pixel_x = -11; - pixel_y = 6 - }, -/obj/item/clothing/head/cone{ - pixel_x = -4; - pixel_y = -13 - }, -/turf/open/floor/iron, -/area/station/commons/storage/primary) +"wRs" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/space_heater, +/turf/open/floor/iron/dark/textured_large, +/area/station/engineering/atmos/upper) "wRt" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -79848,6 +81106,13 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured_half, /area/station/ai_monitored/turret_protected/aisat/foyer) +"wSb" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/railing, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "wSj" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, @@ -79871,6 +81136,14 @@ }, /turf/open/floor/iron, /area/station/science/research) +"wSE" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Mix Outlet Pump" + }, +/obj/effect/turf_decal/tile/green/full, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "wSP" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/camera/autoname/directional/north, @@ -79931,13 +81204,6 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) -"wTA" = ( -/obj/effect/spawner/random/engineering/tracking_beacon, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "wTJ" = ( /obj/structure/railing, /obj/structure/lattice, @@ -79985,6 +81251,9 @@ /obj/structure/grille/broken, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"wUA" = ( +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "wUI" = ( /obj/machinery/door/poddoor/incinerator_atmos_main, /turf/open/floor/engine, @@ -79996,14 +81265,6 @@ "wVf" = ( /turf/closed/wall, /area/station/security/prison/rec) -"wVn" = ( -/obj/effect/spawner/random/food_or_drink/refreshing_beverage{ - pixel_x = 5; - pixel_y = 9 - }, -/obj/structure/table, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "wVx" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -80044,6 +81305,14 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/openspace, /area/station/hallway/secondary/exit/departure_lounge) +"wVK" = ( +/obj/machinery/airalarm/directional/north, +/obj/item/kirbyplants/organic/plant19{ + pixel_x = -3; + pixel_y = 2 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/turret_protected/ai_upload) "wVL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/newscaster/directional/west, @@ -80056,6 +81325,22 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/engineering/break_room) +"wWa" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ + name = "N2O Multideck Adapter"; + dir = 4 + }, +/obj/machinery/meter{ + name = "N2O meter" + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "wWm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, @@ -80068,10 +81353,6 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/wood, /area/station/service/cafeteria) -"wWy" = ( -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) "wWA" = ( /obj/item/radio/intercom/directional/south, /obj/structure/table, @@ -80188,13 +81469,6 @@ /obj/effect/decal/cleanable/confetti, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"wXL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark/smooth_corner{ - dir = 4 - }, -/area/station/medical/pharmacy) "wXM" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 8 @@ -80225,6 +81499,24 @@ /obj/structure/table/wood, /turf/open/floor/carpet/orange, /area/station/commons/lounge) +"wYt" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/cmo) "wYw" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -80248,18 +81540,6 @@ }, /turf/open/openspace, /area/station/maintenance/port/aft) -"wYH" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) "wYJ" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/wood, @@ -80294,6 +81574,16 @@ }, /turf/open/floor/iron/dark, /area/station/commons/dorms) +"wZd" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "wZg" = ( /obj/structure/toilet{ dir = 8; @@ -80336,6 +81626,25 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"wZB" = ( +/obj/item/reagent_containers/cup/coffeepot, +/obj/machinery/coffeemaker, +/obj/structure/sign/poster/official/soft_cap_pop_art/directional/west, +/obj/item/storage/box/coffeepack, +/obj/structure/table/wood, +/obj/item/reagent_containers/cup/glass/mug{ + pixel_y = 14; + pixel_x = 8 + }, +/obj/item/reagent_containers/cup/glass/mug{ + pixel_y = 14 + }, +/obj/item/reagent_containers/cup/glass/mug{ + pixel_y = 14; + pixel_x = -8 + }, +/turf/open/floor/wood/large, +/area/station/medical/break_room) "wZE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -80378,10 +81687,6 @@ /obj/structure/stairs/north, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) -"xar" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/medbay/central) "xat" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/machinery/door/airlock/command/glass{ @@ -80403,20 +81708,6 @@ /obj/effect/turf_decal/trimline/purple/filled/line, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"xaH" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/wood, -/area/station/medical/medbay/central) -"xaJ" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/button/elevator/directional/east{ - id = "catwalk_atmos"; - name = "Elevator Button" - }, -/turf/open/floor/engine, -/area/station/engineering/atmos/upper) "xaP" = ( /obj/item/paper_bin{ pixel_x = 5; @@ -80459,6 +81750,12 @@ /obj/structure/cable, /turf/open/floor/engine/hull/air, /area/station/hallway/secondary/construction) +"xbp" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "xbz" = ( /obj/structure/chair/sofa/left/brown{ dir = 4 @@ -80483,11 +81780,6 @@ "xbL" = ( /turf/open/floor/iron/dark, /area/station/service/chapel) -"xbP" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/turf/open/openspace, -/area/station/engineering/atmos/project) "xbR" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -80522,10 +81814,26 @@ /obj/structure/filingcabinet/chestdrawer, /turf/open/floor/iron/dark/textured_large, /area/station/medical/morgue) +"xcw" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "medbay-office"; + name = "Medbay Shutters"; + dir = 4 + }, +/turf/open/floor/plating, +/area/station/medical/medbay/central) "xcx" = ( /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark/smooth_large, /area/station/security/interrogation) +"xcM" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "xcT" = ( /obj/machinery/status_display/ai/directional/east, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -80598,6 +81906,22 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/iron/dark/textured, /area/station/construction/mining/aux_base) +"xdP" = ( +/obj/structure/table, +/obj/item/t_scanner{ + pixel_y = 8 + }, +/obj/item/multitool{ + pixel_x = -5 + }, +/obj/item/multitool{ + pixel_x = 5 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "xdT" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/machinery/vending/coffee, @@ -80640,12 +81964,20 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) -"xes" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/recharge_station, -/obj/machinery/light/directional/west, -/turf/open/openspace, -/area/station/medical/storage) +"xem" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/cmo) +"xeu" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/white/filled/warning, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "xeM" = ( /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 @@ -80764,22 +82096,6 @@ /obj/item/reagent_containers/cup/soda_cans/monkey_energy, /turf/open/floor/engine/hull/air, /area/station/maintenance/starboard/lesser) -"xgA" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/clothing/glasses/meson{ - pixel_y = 8 - }, -/obj/item/clothing/glasses/meson{ - pixel_y = 8 - }, -/obj/structure/sign/warning/radiation/rad_area/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "xgC" = ( /obj/machinery/light_switch{ pixel_x = -9; @@ -80812,15 +82128,6 @@ /obj/effect/landmark/start/depsec/science, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) -"xho" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "xhr" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/blood/old, @@ -80946,6 +82253,14 @@ "xjz" = ( /turf/open/floor/plating/elevatorshaft, /area/station/science/robotics) +"xjJ" = ( +/obj/machinery/ai_slipper{ + uses = 8 + }, +/turf/open/floor/iron/dark/textured_corner{ + dir = 1 + }, +/area/station/ai_monitored/turret_protected/ai_upload) "xjK" = ( /obj/structure/lattice/catwalk, /obj/structure/filingcabinet, @@ -80971,6 +82286,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/station/hallway/primary/central) +"xjY" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/textured_large, +/area/station/medical/abandoned) "xka" = ( /obj/structure/table, /obj/item/cultivator{ @@ -81029,6 +82351,15 @@ }, /turf/closed/wall, /area/station/commons/storage/art) +"xla" = ( +/obj/structure/railing, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "xlm" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -81074,6 +82405,13 @@ /obj/structure/broken_flooring/corner/always_floorplane/directional/south, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"xmb" = ( +/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "xmd" = ( /obj/machinery/door/poddoor/shutters/radiation/preopen{ id = "SM_shutters"; @@ -81094,21 +82432,6 @@ }, /turf/open/floor/wood, /area/station/maintenance/starboard/central) -"xmh" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/machinery/light/directional/east, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) -"xmk" = ( -/obj/machinery/atmospherics/pipe/multiz/cyan/visible{ - dir = 8; - name = "Air Mix Multideck Adapter" - }, -/obj/machinery/meter{ - name = "Mix Meter" - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "xml" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -81203,6 +82526,19 @@ }, /turf/open/openspace, /area/station/construction/storage_wing) +"xnx" = ( +/obj/machinery/portable_atmospherics/canister/anesthetic_mix, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/obj/effect/turf_decal/weather/snow, +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/kitchen_coldroom/freezerfloor, +/area/station/maintenance/port) "xnF" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -81284,6 +82620,11 @@ /obj/structure/barricade/wooden, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"xoW" = ( +/obj/item/radio/intercom/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/carpet/black, +/area/station/ai_monitored/turret_protected/ai_upload) "xoZ" = ( /obj/effect/turf_decal/siding{ dir = 1 @@ -81309,13 +82650,13 @@ /obj/structure/closet/secure_closet/security/sec, /turf/open/floor/iron/dark/smooth_large, /area/station/security/lockers) -"xpq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 +"xpn" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 1 }, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/morgue) +/turf/open/space/basic, +/area/space/nearstation) "xpr" = ( /obj/structure/rack, /obj/item/clothing/suit/hazardvest, @@ -81345,6 +82686,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"xpR" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/preopen{ + id = "cmoprivacy"; + name = "Privacy Shutter" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/command/heads_quarters/cmo) "xpV" = ( /obj/effect/landmark/start/bartender, /obj/effect/turf_decal/tile/dark_green{ @@ -81370,6 +82720,12 @@ }, /turf/open/floor/wood, /area/station/hallway/secondary/service) +"xqb" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "xqd" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -81379,15 +82735,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/openspace, /area/station/hallway/secondary/exit/departure_lounge) -"xqk" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/science/lobby) "xqm" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -81413,10 +82760,30 @@ "xqs" = ( /turf/closed/wall/r_wall, /area/station/engineering/engine_smes) +"xqu" = ( +/obj/machinery/door/airlock/engineering/glass{ + name = "Supermatter Engine Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/machinery/door/firedoor/heavy, +/obj/structure/cable/layer1, +/turf/open/floor/engine, +/area/station/engineering/main) "xqy" = ( /obj/structure/stairs/north, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"xqD" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/light/directional/south, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/cmo) "xqE" = ( /obj/machinery/camera/autoname/directional/south, /obj/effect/turf_decal/stripes/line{ @@ -81450,28 +82817,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/textured_large, /area/station/security/prison/rec) -"xqL" = ( -/obj/effect/turf_decal/siding/blue/corner, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 1 - }, -/obj/structure/table/glass, -/obj/item/reagent_containers/chem_pack{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/reagent_containers/syringe{ - pixel_x = 6; - pixel_y = -2 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "xqU" = ( /obj/machinery/smartfridge/petri/preloaded, /obj/effect/turf_decal/tile/dark_blue{ @@ -81562,16 +82907,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, /turf/open/floor/catwalk_floor, /area/station/engineering/atmos/upper) -"xrM" = ( -/obj/structure/closet/emcloset, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/red/corner, -/obj/machinery/airalarm/directional/west, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "xrP" = ( /obj/structure/lattice/catwalk, /obj/structure/table/reinforced, @@ -81580,14 +82915,11 @@ }, /turf/open/openspace, /area/station/security/checkpoint/customs) -"xrX" = ( -/obj/machinery/light/directional/west, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","medbay"); - c_tag = "Medbay - Lower Hallway North" - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) +"xrU" = ( +/obj/structure/lattice/catwalk, +/obj/structure/holosign/barrier/engineering, +/turf/open/openspace, +/area/station/engineering/atmos/project) "xsh" = ( /obj/effect/turf_decal/siding/blue{ dir = 1 @@ -81612,23 +82944,6 @@ /obj/effect/turf_decal/trimline/blue/filled/mid_joiner, /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/central) -"xsD" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical{ - name = "Primary Surgical Theatre" - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/medical/surgery, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) "xsJ" = ( /obj/effect/turf_decal/siding/purple{ dir = 8 @@ -81689,6 +83004,12 @@ }, /turf/open/floor/iron/dark/textured, /area/station/engineering/supermatter/room) +"xtS" = ( +/obj/structure/lattice/catwalk, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/north, +/turf/open/space/basic, +/area/station/maintenance/solars/port/aft) "xut" = ( /turf/closed/wall, /area/station/service/abandoned_gambling_den) @@ -81709,6 +83030,18 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark/textured, /area/station/construction/mining/aux_base) +"xuG" = ( +/obj/machinery/firealarm/directional/west, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) +"xuH" = ( +/obj/structure/railing, +/obj/effect/decal/cleanable/dirt, +/obj/structure/lattice/catwalk, +/obj/machinery/airalarm/directional/north, +/turf/open/openspace, +/area/station/maintenance/department/medical) "xuP" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -81783,22 +83116,30 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) -"xvA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/blue/opposingcorners{ +"xvC" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 1 }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "xvD" = ( /obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) +"xvH" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/machinery/meter, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "xvN" = ( /obj/item/radio/intercom/directional/west, /turf/open/floor/carpet, @@ -81871,22 +83212,12 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/openspace, /area/station/hallway/primary/fore) -"xxz" = ( -/turf/open/floor/engine/hull/air, -/area/station/medical/chemistry) "xxF" = ( /obj/effect/decal/cleanable/blood/footprints{ dir = 4 }, /turf/open/floor/plating, /area/station/maintenance/port) -"xxM" = ( -/obj/machinery/computer/atmos_control/air_tank, -/obj/effect/turf_decal/tile/neutral/half{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "xxZ" = ( /obj/machinery/door/airlock/maintenance{ name = "Curator Office" @@ -81909,17 +83240,6 @@ "xyz" = ( /turf/open/openspace, /area/station/medical/virology) -"xyC" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/machinery/door/airlock/medical{ - name = "Medbay Storage" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/storage) "xyF" = ( /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) @@ -81945,12 +83265,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"xzq" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/scrubber, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/dark/textured_large, -/area/station/engineering/atmos/upper) "xzy" = ( /turf/closed/wall, /area/station/science/genetics) @@ -81975,6 +83289,20 @@ dir = 4 }, /area/station/science/robotics/lab) +"xzT" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/machinery/requests_console/directional/south{ + department = "Engineering"; + name = "Engineering Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/machinery/meter, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "xzX" = ( /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron, @@ -82009,9 +83337,6 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/hallway/secondary/service) -"xAu" = ( -/turf/closed/wall, -/area/station/medical/chemistry) "xAI" = ( /turf/open/floor/iron/dark, /area/station/engineering/break_room) @@ -82029,6 +83354,17 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/space/openspace, /area/space/nearstation) +"xBa" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/machinery/computer/security/telescreen/ce/directional/west, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/ce) "xBd" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/lattice/catwalk, @@ -82145,13 +83481,14 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port) -"xCz" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 4 +"xCx" = ( +/obj/structure/table, +/obj/effect/spawner/random/food_or_drink/refreshing_beverage{ + pixel_x = 5; + pixel_y = 9 }, -/obj/machinery/holopad, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/surgery) +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "xCI" = ( /obj/structure/railing, /obj/effect/turf_decal/tile/red{ @@ -82229,24 +83566,12 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"xCX" = ( -/obj/structure/lattice/catwalk, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/north, -/turf/open/space/basic, -/area/station/maintenance/solars/port/aft) "xDp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"xDs" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "xDB" = ( /obj/machinery/computer/dna_console{ dir = 1 @@ -82324,6 +83649,10 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"xEF" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/plasma_input, +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos/upper) "xEL" = ( /obj/structure/rack, /obj/item/melee/skateboard{ @@ -82353,10 +83682,6 @@ /obj/effect/spawner/random/trash/crushed_can, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"xEU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "xFj" = ( /obj/effect/turf_decal/tile/blue/full, /obj/effect/turf_decal/tile/dark/full, @@ -82409,6 +83734,11 @@ }, /turf/open/floor/iron/dark, /area/station/security/evidence) +"xFJ" = ( +/obj/structure/ladder, +/obj/effect/turf_decal/stripes/box, +/turf/open/floor/iron/smooth, +/area/station/engineering/hallway) "xFM" = ( /obj/structure/plaque/static_plaque/golden/commission/birdboat{ pixel_y = 32 @@ -82464,11 +83794,25 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/storage) -"xGG" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +"xGv" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 }, -/turf/open/floor/iron/dark/textured_large, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/carpet/cyan, +/area/station/command/heads_quarters/cmo) +"xGJ" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/dark_blue/corner{ + dir = 8 + }, +/obj/machinery/iv_drip, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/central) "xGL" = ( /obj/effect/turf_decal/siding/purple{ @@ -82482,11 +83826,6 @@ }, /turf/open/floor/iron, /area/station/science/explab) -"xGS" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/caution/stand_clear, -/turf/open/floor/engine, -/area/station/engineering/atmos/upper) "xGU" = ( /obj/structure/table/reinforced, /obj/item/tank/internals/oxygen, @@ -82510,6 +83849,18 @@ /obj/item/storage/medkit/brute, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"xHJ" = ( +/obj/machinery/door/poddoor/preopen{ + id = "cmoprivacy"; + name = "Privacy Shutter" + }, +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/disposalpipe/trunk/multiz/down{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/cmo) "xHP" = ( /obj/structure/chair{ dir = 1; @@ -82517,6 +83868,15 @@ }, /turf/open/floor/glass, /area/station/commons/fitness/recreation) +"xHU" = ( +/obj/machinery/modular_computer/preset/id{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/engine, +/area/station/command/heads_quarters/ce) "xHV" = ( /obj/effect/turf_decal/siding/blue, /obj/effect/turf_decal/siding/blue{ @@ -82545,6 +83905,12 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/lab) +"xIo" = ( +/obj/machinery/newscaster/directional/east, +/obj/machinery/light/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/ce) "xIp" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -82553,6 +83919,13 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"xIz" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, +/obj/effect/turf_decal/tile/neutral/half{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "xIJ" = ( /obj/machinery/computer/slot_machine{ pixel_y = 2 @@ -82564,6 +83937,17 @@ /obj/structure/railing, /turf/open/openspace, /area/station/maintenance/port/fore) +"xIS" = ( +/obj/machinery/meter{ + name = "Mix Meter" + }, +/obj/machinery/atmospherics/pipe/multiz/cyan/visible{ + dir = 8; + name = "Air Mix Multideck Adapter" + }, +/obj/effect/turf_decal/tile/neutral/full, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "xIV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -82575,15 +83959,6 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/dark, /area/station/maintenance/port) -"xJq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/showcase/machinery/oldpod{ - desc = "An old NT branded sleeper, decommissioned after the lead acetate incident. None of the functional machinery remains inside."; - dir = 1; - name = "decommissioned sleeper" - }, -/turf/open/floor/iron/white, -/area/station/medical/abandoned) "xJt" = ( /obj/structure/lattice/catwalk, /obj/item/clothing/accessory/armband/cargo{ @@ -82640,13 +84015,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"xKg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) "xKj" = ( /obj/structure/railing/corner/end, /turf/open/openspace, @@ -82663,15 +84031,15 @@ /obj/effect/turf_decal/trimline/yellow/filled/corner, /turf/open/floor/iron, /area/station/engineering/lobby) -"xKB" = ( -/obj/structure/rack, -/obj/item/toy/basketball, -/turf/open/floor/plating, -/area/station/maintenance/port) "xKG" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating/airless, /area/station/medical/virology) +"xKN" = ( +/obj/structure/sign/poster/contraband/donk_co/directional/east, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/port) "xKQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -82680,6 +84048,25 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_recreation) +"xLa" = ( +/obj/structure/cable, +/obj/machinery/camera/autoname/directional/south{ + c_tag = "Medbay - Upper Chief Medical Office South"; + network = list("ss13","medbay") + }, +/obj/structure/closet/secure_closet/medical3, +/obj/item/defibrillator/loaded, +/obj/item/clothing/glasses/hud/health{ + pixel_y = 13 + }, +/obj/item/clothing/gloves/latex/nitrile, +/obj/item/clothing/gloves/latex/nitrile, +/obj/effect/turf_decal/bot_white{ + color = "#52B4E9" + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "xLf" = ( /obj/structure/window/reinforced/tinted/frosted/spawner/directional/west, /obj/structure/chair/sofa/middle/brown{ @@ -82687,6 +84074,16 @@ }, /turf/open/floor/glass/reinforced, /area/station/service/library) +"xLg" = ( +/obj/machinery/computer/atmos_control/carbon_tank, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark/half{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "xLy" = ( /obj/structure/cable, /obj/effect/landmark/secequipment, @@ -82731,12 +84128,6 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/plating, /area/station/security/execution/education) -"xMq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/food/pizzaslice/moldy/bacteria, -/obj/effect/spawner/random/trash/mess, -/turf/open/floor/iron/white, -/area/station/medical/abandoned) "xMv" = ( /obj/structure/lattice, /obj/structure/disposalpipe/segment{ @@ -82744,20 +84135,6 @@ }, /turf/open/openspace, /area/station/maintenance/starboard/lesser) -"xMz" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/structure/cable, -/obj/effect/landmark/start/depsec/medical, -/obj/machinery/firealarm/directional/west{ - pixel_y = -28 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) "xME" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -82772,17 +84149,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/wood, /area/station/hallway/primary/central) -"xMV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/yellow/full, -/obj/effect/mapping_helpers/airlock/access/all/medical/pharmacy, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - name = "Chemistry Storage" - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/medbay/central) "xMY" = ( /obj/machinery/holopad, /obj/machinery/navbeacon{ @@ -82832,11 +84198,6 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/security/courtroom) -"xNA" = ( -/obj/structure/lattice/catwalk, -/obj/item/stack/cable_coil, -/turf/open/space/basic, -/area/station/solars/starboard/fore) "xNB" = ( /obj/structure/table/wood, /obj/structure/sign/painting/library{ @@ -82878,16 +84239,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden/abandoned) -"xNT" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, -/obj/effect/turf_decal/tile/red/half{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "xNV" = ( /obj/structure/railing{ dir = 1 @@ -82895,6 +84246,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor/iron_white, /area/station/ai_monitored/turret_protected/aisat_interior) +"xNX" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "xOh" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -82953,6 +84311,21 @@ }, /turf/open/space/openspace, /area/space/nearstation) +"xOS" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/siding/blue/corner{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "xOW" = ( /turf/open/floor/plating, /area/station/security/interrogation) @@ -82961,6 +84334,21 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"xPi" = ( +/obj/machinery/door/airlock/command{ + name = "Chief Engineer's Office" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/engineering/ce, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) "xPj" = ( /obj/machinery/duct, /obj/machinery/door/airlock/maintenance, @@ -82971,16 +84359,35 @@ }, /turf/open/floor/plating, /area/station/commons/toilet/restrooms) +"xPx" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 4 + }, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/medbay/central) +"xPT" = ( +/turf/open/floor/carpet/black, +/area/station/ai_monitored/turret_protected/ai_upload) "xPU" = ( /obj/structure/sign/poster/contraband/space_cube/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"xQd" = ( +/turf/closed/wall, +/area/station/command/heads_quarters/cmo) "xQf" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, /turf/open/floor/iron/dark, /area/station/security/interrogation) +"xQv" = ( +/obj/structure/chair, +/turf/open/floor/glass, +/area/station/medical/patients_rooms/room_a) "xQB" = ( /obj/machinery/camera/directional/north{ c_tag = "Atmospherics - co2 Cell"; @@ -82995,15 +84402,6 @@ /obj/effect/spawner/random/medical/memeorgans, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"xQI" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/medical/coldroom) "xQK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -83052,36 +84450,18 @@ /turf/open/floor/iron/large, /area/station/hallway/primary/central) "xQX" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/item/weldingtool/empty{ - pixel_x = -5; - pixel_y = -6 +/obj/structure/table/reinforced, +/obj/item/storage/box/bodybags{ + pixel_x = 4; + pixel_y = 14 }, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"xQY" = ( -/obj/structure/table, -/obj/machinery/cell_charger{ - pixel_y = 9 +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = -1; + pixel_y = 7 }, -/obj/item/stock_parts/power_store/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/power_store/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/morgue) "xRg" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/extinguisher_cabinet/directional/south, @@ -83107,6 +84487,21 @@ /obj/item/storage/bag/plants, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden/abandoned) +"xRt" = ( +/obj/machinery/holopad/secure, +/turf/open/floor/iron/dark/textured_corner{ + dir = 8 + }, +/area/station/ai_monitored/turret_protected/ai_upload) +"xRw" = ( +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/food/pizzaslice/moldy/bacteria, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "xRI" = ( /obj/machinery/conveyor{ dir = 8; @@ -83153,21 +84548,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/service) -"xRZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/abandoned) -"xSb" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/iron/white/textured_corner{ - dir = 1 - }, -/area/station/medical/surgery) "xSj" = ( /obj/structure/railing, /turf/open/floor/iron/stairs/medium{ @@ -83182,6 +84562,16 @@ /obj/effect/baseturf_helper/reinforced_plating/ceiling, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) +"xSl" = ( +/obj/machinery/status_display/ai/directional/south, +/turf/open/openspace, +/area/station/ai_monitored/turret_protected/ai_upload) +"xSr" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "xSv" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/green/filled/line{ @@ -83303,12 +84693,6 @@ /obj/effect/mapping_helpers/iannewyear, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) -"xUb" = ( -/obj/effect/turf_decal/tile/purple/half{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "xUj" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -83463,16 +84847,19 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/commons/lounge) -"xVL" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/medbay/central) "xVM" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) +"xVO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "xVZ" = ( /obj/structure/lattice/catwalk, /obj/structure/railing, @@ -83503,6 +84890,18 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/commons/dorms) +"xWJ" = ( +/obj/machinery/digital_clock/directional/south, +/obj/structure/ladder, +/obj/effect/turf_decal/stripes/red/box, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/door/window/brigdoor/left/directional/north{ + name = "Chem Factory"; + req_access = list("plumbing") + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/pharmacy) "xWK" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -83560,6 +84959,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"xXu" = ( +/obj/machinery/firealarm/directional/north, +/obj/structure/sign/poster/official/safety_internals/directional/east, +/obj/structure/tank_holder/extinguisher, +/turf/open/floor/engine, +/area/station/medical/chemistry) "xXv" = ( /obj/effect/spawner/random/structure/grille, /obj/structure/lattice, @@ -83604,6 +85009,10 @@ /obj/structure/broken_flooring/singular/always_floorplane/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"xXK" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/engine/hull/air, +/area/station/maintenance/port) "xXU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -83716,6 +85125,19 @@ "xZd" = ( /turf/open/floor/iron/smooth, /area/station/engineering/atmos/upper) +"xZf" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/item/tank/internals/anesthetic, +/obj/item/clothing/mask/breath/medical{ + pixel_y = -3 + }, +/obj/structure/cable, +/obj/structure/closet/secure_closet/medical2, +/obj/effect/turf_decal/trimline/blue/warning{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/surgery) "xZn" = ( /obj/machinery/firealarm/directional/west, /turf/open/floor/iron, @@ -83797,15 +85219,6 @@ }, /turf/open/floor/plating, /area/station/security/execution/education) -"yaU" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/vending/medical, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/openspace, -/area/station/medical/storage) "ybh" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wood, @@ -83864,6 +85277,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark/textured_half, /area/station/science/robotics/lab) +"ybT" = ( +/obj/structure/table/reinforced/rglass, +/obj/machinery/fax{ + fax_name = "Chief Engineer's Office"; + name = "Chief Engineer's Fax Machine" + }, +/turf/open/floor/engine, +/area/station/command/heads_quarters/ce) "ybW" = ( /obj/item/melee/flyswatter{ pixel_x = 10 @@ -83903,14 +85324,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"ycm" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/canister/anesthetic_mix, -/turf/open/openspace, -/area/station/medical/cryo) "yco" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -83931,27 +85344,20 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"ycC" = ( +"ycI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, /obj/structure/table, -/obj/item/radio/intercom/directional/south{ - broadcasting = 1; - frequency = 1447; - name = "Private Channel" +/obj/machinery/cell_charger, +/obj/item/binoculars{ + pixel_x = -5; + pixel_y = 6 }, -/obj/item/folder/blue{ - pixel_x = -13; - pixel_y = 5 +/obj/effect/turf_decal/bot_white{ + color = "#52B4E9" }, -/obj/item/folder/white{ - pixel_x = -6; - pixel_y = 2 - }, -/obj/item/pen/blue{ - pixel_x = -21; - pixel_y = 2 - }, -/turf/open/floor/carpet, -/area/station/ai_monitored/turret_protected/ai_upload) +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/storage) "ycM" = ( /obj/structure/lattice, /turf/open/floor/plating/airless, @@ -84006,13 +85412,6 @@ }, /turf/open/openspace, /area/station/construction/storage_wing) -"ydV" = ( -/obj/machinery/keycard_auth/wall_mounted/directional/west{ - pixel_x = 26 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark/small, -/area/station/command/heads_quarters/ce) "ydX" = ( /obj/structure/lattice/catwalk, /turf/open/openspace, @@ -84122,18 +85521,6 @@ /obj/effect/decal/cleanable/blood/oil, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"yfv" = ( -/obj/structure/table/wood, -/obj/item/binoculars{ - pixel_x = -5; - pixel_y = 6 - }, -/obj/item/clothing/glasses/hud/health{ - pixel_x = 3; - pixel_y = -1 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/cmo) "yfK" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -84150,29 +85537,11 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/wood, /area/station/security/courtroom) -"yfR" = ( -/obj/structure/table, -/obj/item/electronics/apc, -/obj/item/electronics/airlock, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "yge" = ( /obj/effect/spawner/random/maintenance, /obj/effect/turf_decal/tile/purple/opposingcorners, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/aft) -"ygn" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron/white/textured, -/area/station/medical/surgery) "ygr" = ( /obj/structure/lattice/catwalk, /obj/structure/table, @@ -84217,6 +85586,16 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/iron/checker, /area/station/maintenance/hallway/abandoned_recreation) +"yha" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/item/weldingtool, +/obj/item/wrench, +/obj/item/clothing/head/utility/welding, +/obj/structure/rack, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "yhf" = ( /obj/structure/cable/layer1, /obj/effect/turf_decal/stripes/line{ @@ -84247,6 +85626,12 @@ /obj/structure/musician/piano/unanchored, /turf/open/floor/plating, /area/station/maintenance/department/science/central) +"yhF" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/carpet/black, +/area/station/ai_monitored/turret_protected/ai_upload) "yhJ" = ( /obj/structure/grille, /turf/open/space/basic, @@ -84269,6 +85654,22 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"yhT" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/structure/rack, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker; + pixel_x = -5 + }, +/obj/item/multitool{ + pixel_x = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "yhW" = ( /obj/structure/table/reinforced, /obj/item/screwdriver{ @@ -84277,6 +85678,24 @@ /obj/item/clothing/mask/gas, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"yhY" = ( +/obj/structure/table, +/obj/item/hfr_box/body/moderator_input{ + pixel_x = -8; + pixel_y = 8 + }, +/obj/item/hfr_box/body/waste_output{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/item/hfr_box/body/interface{ + pixel_x = 5 + }, +/obj/item/hfr_box/body/fuel_input{ + pixel_x = -10 + }, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "yib" = ( /obj/effect/turf_decal/siding/dark{ dir = 1 @@ -84285,6 +85704,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) +"yig" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/ladder, +/obj/effect/turf_decal/stripes/white/box, +/turf/open/floor/engine/hull/air, +/area/station/maintenance/port) "yin" = ( /obj/structure/chair, /turf/open/floor/iron/dark/smooth_large, @@ -84306,35 +85733,18 @@ /obj/machinery/washing_machine, /turf/open/floor/iron/white/textured_half, /area/station/ai_monitored/turret_protected/aisat_interior) -"yiQ" = ( -/obj/structure/safe/floor{ - name = "Critical Supplies Safe" - }, -/obj/item/reagent_containers/cup/glass/bottle/wine_voltaic{ - pixel_y = 5; - pixel_x = 7 - }, -/obj/item/reagent_containers/cup/glass/shaker{ - pixel_y = 6; - pixel_x = -6 - }, -/obj/item/reagent_containers/cup/glass/bottle/vodka{ - pixel_y = 15; - pixel_x = 6 - }, -/obj/item/reagent_containers/cup/glass/bottle/juice/orangejuice{ - pixel_x = -5; - pixel_y = 15 - }, -/obj/item/reagent_containers/cup/glass/flask{ - pixel_x = -6 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "yiW" = ( /obj/structure/cable/multilayer/multiz, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"yiX" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/trimline/white/filled/warning, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "yiY" = ( /obj/effect/mapping_helpers/burnt_floor, /obj/item/wrench{ @@ -84352,18 +85762,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison/safe) -"yjD" = ( -/obj/machinery/atmospherics/pipe/multiz/general/visible, -/obj/effect/turf_decal/tile/blue/opposingcorners{ +"yjh" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, -/obj/machinery/light/directional/east, -/obj/item/storage/box/beakers{ - pixel_x = -12; - pixel_y = 15 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/camera/autoname/directional/west{ + c_tag = "Medbay - Upper Plumbing Area West" }, /turf/open/floor/iron/dark, -/area/station/medical/cryo) +/area/station/medical/chemistry) "yjM" = ( /obj/structure/sign/directions/supply{ dir = 4; @@ -84377,6 +85788,19 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"yjN" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_edge{ + dir = 8 + }, +/area/station/medical/morgue) "yjT" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/mid_joiner{ dir = 8 @@ -84428,6 +85852,29 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"ykL" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/effect/landmark/start/paramedic, +/turf/open/floor/iron/white, +/area/station/medical/office) +"ykS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/structure/sign/poster/official/work_for_a_future/directional/west, +/turf/open/floor/iron/dark, +/area/station/medical/chemistry) "yla" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -84475,8 +85922,18 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/textured_large, /area/station/security/prison) -"yly" = ( -/turf/open/floor/iron/dark/textured_large, +"ylB" = ( +/obj/structure/cable, +/obj/effect/spawner/random/trash/cigbutt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/chem_storage) +"ylJ" = ( +/obj/structure/stairs/north, +/obj/structure/sign/departments/medbay/alt/directional/north, +/turf/open/floor/iron/stairs/medium, /area/station/medical/medbay/central) "ylO" = ( /turf/open/floor/glass, @@ -101614,7 +103071,7 @@ bWY dcE dcE dcE -wGk +qBy dcE dcE dcE @@ -103925,7 +105382,7 @@ bWY twz azt twz -xCX +xtS nTA jgu okc @@ -108041,12 +109498,12 @@ mIJ pim jbS qpI -ygD -ygD -eeH -ygD -ygD -lIr +uIO +uIO +whV +uIO +uIO +uIO uYP bPC ecL @@ -108297,14 +109754,14 @@ rCa fcw gUh uIO -ygD -ygD -gTW -rYd -jrv -jFG -ygD -lIr +uIO +uIO +vHv +fml +uBQ +cvC +uIO +uIO xXW iDq lIr @@ -108552,16 +110009,16 @@ cdw uIO pUj jVY -hGu -dfK -rTD -kBq -kyx -kyx -kyx -qbY -uVL -ygD +pim +clv +pRT +hXd +nlS +vTf +fAS +jyw +pGR +uIO bPC fqK lIr @@ -108809,16 +110266,16 @@ got uIO uTy uYd -kbB -ygD -ceQ -eKW -gLQ -rYd -cVe -xQI -cVe -qsD +mpi +uIO +mpn +eWG +buw +jNE +nCK +rZM +pRT +uqJ bPC wuN lIr @@ -109066,16 +110523,16 @@ oSt uIO uIO jVY -mWX -ygD -coI -eKW -oGj -bkD -veT -xQI -vqu -ygD +nDe +uIO +lNG +eWG +fml +hDe +ipz +gEQ +ngP +uIO fqK bPC lIr @@ -109323,16 +110780,16 @@ bfj bVW eTr jVY -qze -ygD -dOr -eKW -lXG -rYd -are -rYd -opJ -ygD +nDe +uIO +pGR +xla +oTS +gTu +pRT +khf +vqG +uIO wuN bPC lIr @@ -109580,16 +111037,16 @@ hfF kHZ uIO vhP -hGu -ygD -ygD -fNw -fxS -fxS -wxk -qmD -ygD -ygD +pim +kGd +uIO +dPi +nif +nif +iwD +xRw +uIO +uIO rGK rGK lIr @@ -109837,15 +111294,15 @@ wAT uIO uIO gHC -vGX +jYM gjB -ygD -ygD -hhH -izg -vzN -ygD -ygD +uIO +uIO +pAO +vow +sBT +uIO +uIO mwO rPw sZL @@ -110073,7 +111530,7 @@ riD mOW dEu wTk -wTk +jJd flg flg flg @@ -110097,11 +111554,11 @@ fZG epk sGQ qpI -ygD -ygD -ygD -dWi -ygD +uIO +uIO +uIO +hsn +uIO oQV hCk lIi @@ -110822,7 +112279,7 @@ nuw ssg teC bNt -xrM +iJX bOC dMR jUt @@ -110841,13 +112298,13 @@ jFo nLC lQd riD -fLX +pPY pSF -tVl +paP srD flg uJi -xKB +pea kUq gga kPZ @@ -110859,7 +112316,7 @@ cDs ygB aWo rIZ -pOD +mNo kUq kUq njH @@ -111079,7 +112536,7 @@ wEX gBE icO bNt -uOh +tiG jUu dMR hDT @@ -111100,20 +112557,20 @@ fZc jKZ xCv bFe -okf +wbE srD flg -uJi +aSA riD kUq kUq gga kPZ nIW -toh -als -hET -hET +tEq +qlw +mhA +drg fAB pHd kUq @@ -111355,31 +112812,31 @@ dFZ uvq xor riD -jJd +rPE bFe pqQ -qDn -uJi +uJU uJi +wvp riD cTJ kUq kUq xwK -lUn -oFg -bBy -cPq -bBy -pOD +aqN +hjH +mvM +mmF +tZM +mNo kUq kUq nyb wTk wTk -riD -ycg +hqz ycg +cSh ycg lIr dfL @@ -111611,33 +113068,33 @@ kpC dFZ nIA akE -riD -aDh -bFe -rPE -srD -jDx -ddx +fbC +fbC +dZm +fbC +uor +isE +ovx ovx tRJ dWj kUq kUq -aDY +kUq kUq vsP kUq -rea +jmz kUq kUq wTk wTk -wTk +eAH nCc -riD -ieD -ieD -ieD +hqz +tcN +ryr +dza lIr lIr lIr @@ -111868,33 +113325,33 @@ rrj mDF mDF mDF -riD -fik -bFe -hHs -riD -bvH +fbC +bDo +wyp +clK +arr +eoD riD riD -wTk -mXW -gom -uMy -ciS -aZP -uJi -dXD -uJi -uJi -uJi -uJi -uJi -uJi -uJi -riD -bit -spl -spl +eDq +vOg +vOg +vOg +axt +vOg +vOg +qOF +oxf +sCl +xKN +sCl +sCl +sCl +sCl +wEH +lUG +haD +rYj dmV biZ lAV @@ -112125,36 +113582,36 @@ dkO iFR iFR sfp +fbC +tZR +kUC +mFS +pLt +xQX riD -riD -whs -riD -riD -lVs -riD -cSy +aAP eNb -sAG -riD -pkc -psQ +irZ riD riD riD riD riD -oxp riD -fbK -eAH -lzP -lCO -ibJ -hSu -tNd +riD +riD +riD +riD +riD +riD +riD +riD +fod +bQD +aEQ lIr -bPC -sTT +dPa +bKI rtf biG vdq @@ -112383,36 +113840,36 @@ cSW cSW vQP fbC -sag -hcH -uLo -vYs -hoP +pGp +lij +pdR +diR +jen riD riD riD -nen +ouw riD -riD -mDX +hKM +kzr +onb +qOb +gbI +jDk +uDs +svJ +fxA +foP +lgU +neb ccN -ccN -ghR -sCA -fFm -ctE -lUI -riD -riD -bEU -riD -ruJ -iVi -pWF +vil +bQD +qlH lIr -bPC -iBK -idd +oRh +sTU +gKY voX kWO eqV @@ -112641,33 +114098,33 @@ jGD iyv fbC cRL -hnH -aDm -ceV -nSu +prQ +owE +diR +jfl fbC -vdP +ylJ mYe -lIC -xrX -rQU -eRT +rmN +jSl +gBz +oaI +cFn +qRi +aRu +nVU +nIy +fUI +sqs +mmg +rJj +jLF ccN -fRd -pAU -rTp -iGH -nLU -rDc -jWF -riD -riD -riD -nfR -tCO -nfR +pEO +aNz +pEO lIr -abE +qZd lIr lIr lIr @@ -112877,7 +114334,7 @@ dBm dBm dBm cHI -kFP +sLt iGB kBi dkz @@ -112898,34 +114355,34 @@ iyv aYR fbC jVQ -sKC -qfh -eeA -gFt +prQ +lUD +diR +cCD fbC vdP mYe -uCE -kDa -xVL -afg -viV -bPH -rZP -fch -buk -pyf -cDB -urk -nfR -gZj -oZn -hQa -gDs -nfR -ttr -aYm -oZD +dxb +mqq +iAB +nVf +cMZ +bIq +tDw +ila +gDi +tyd +uAw +pLz +heE +ogV +rNE +xeM +lQv +ahW +pvu +ylB +rWX lIr kSY noG @@ -113155,34 +114612,34 @@ lIM hWw fbC nWD -frB +wyu cHZ -eeA -wlM +diR +vLy fbC -pEO -pEO -dUw -dUw -lIC -afg -cxD -bPH -wPf -rhx -jYJ -ygn -aeq -ajU -nfR -btJ -gWp -uPn -duq -nfR -ttC -hAM -dBy +irf +bqI +aEl +xeM +mhq +emP +rQn +wxY +hGe +drp +hpT +lOa +faD +rbG +foS +ogV +rNE +xeM +fYF +ahW +cka +jQp +gLh lIr feA noG @@ -113409,37 +114866,37 @@ fLr rnd fLr fLr -lkC -fbC -lPn -qMz -ugj -eBQ -wlM -fbC -sbT -pEO -pEO -pEO -lIC -afg -aMK -wYH -mfs -qWy -rDN -uvu -xSb -hSz -nfR -taG -rZv -nFD -tuV -nfR -vWI -pPn -rah +fLr +sjk +iaL +yjN +nek +iwK +fhu +jCn +xeM +xeM +oRd +xeM +mhq +xGJ +gae +qlO +oJL +pUf +qld +fUI +syl +ioY +rJj +gyl +rNE +xeM +jWs +ahW +iQo +khw +rrd lIr scH noG @@ -113666,41 +115123,41 @@ fcn fcn sXj cXw -qeZ -rEt -obQ -hDd -aoz -dGm +vuB +isE +diw +qIc +lrY fbC fbC -hRa -kQh -jrf +fbC +fkD +fkD pEO -lIC -asY -ccN -cqe -xCz -uQv -cCt -nNZ -tYC -qdd -nfR -wER -juc -vAy -qpw -nfR -wgx -hzG -hhb +lcY +mhq +qJN +bSa +oBN +diL +tOq +reb +svJ +dor +xZf +siS +cOy +rNE +xeM +fYF +mkh +bFM +fGK +bHz kqv kqv clb -kqv +clb kqv fcK fcK @@ -113923,46 +115380,46 @@ pVy fLr aKc iLm -fLr -fbC -tkX -tkX -tkX -fbC -fbC -jDD -pZQ -gie -mKs -pEO -lIC -afg +fDd +hSk +hSk +hSk +hSk +hSk +aas +wyT +bnv +bEj +xeu +xeM +mhq +dmb +eKy +xPx +eKy +fLt +bHE +jSS ccN ccN -jiL -emn -vqv -ppa -tSo ccN -nfR -nfR -jzY -gEc -nfR -nfR -pEO -xMV -pEO +ccN +ccN +fsF +hPz +ahW +ahW +rpY +ahW kqv dcE dcE dcE dcE dcE -dcE sWJ -cSN +gkK +eIo fwF hbi nCt @@ -114180,46 +115637,46 @@ qiH qiH fLr iLm -fDd +fLr +qKV +jgp +tFF +dVM hSk -hSk -hSk -hSk -hSk -qDh -tLU -kIt -msF -iKH -fkD -hNj -iQA -fNa -ccN -ccN -viV -xsD -viV -ccN -ccN -pMm -jIF -aXH +rfn +tQX +utn +aMn +yiX +xeM +xOS +uQn +bqI +bqI +bqI +uwF +vJy +uRn +bbf +aQl +wHa xeM xeM -mJg -gpx -gPu xeM +oyo +qGQ +nnx +fqR +jWr fQp fQp fQp +dsx +dsx fQp fQp fQp -dcE -sWJ -tDP +eIo wiv bYn bYn @@ -114439,42 +115896,42 @@ fLr iLm fLr qKV -cpG -nng -xMz +kKs +wrz +nwO eJb -myh -oJv -kWv -qUW -qUW -uec -eZE -eZE -qUW -qUW -bHj -qUW -eZE -qUW -oOS -qUW -qUW -eZE -qUW -qUW -qUW -qUW -qUW -qUW -xeM -fQp -qIp -sKF -hNb -qIp -fQp +iyg +oHD +gOw +gOw +iwz +fFZ +jOg +fFZ +eXT +eXT +eXT +eXT +wKu +fOl +iPA +ohi +jZJ +uxJ +eXT +eXT +kxn +rNN +pck +cVD +fmE fQp +puN +plX +toG +sYU +pCh +wvb fQp kqv kqv @@ -114696,44 +116153,44 @@ fLr iLm fLr qKV -jGh -mFR -bIZ +sHD +tee +moW qKV -xqL -lQV -qNy -oXE -oXE -tYN -sSF -cyM -xvA -oXE -oXE -oXE -tgE -dZd -oXE -vsL +aMn +vxr +aMn +nPC +xeu +xVO +wfK +ayk +twm +wIb +qxD +elz xeM -fYF -nSk +uRn +tJj +hnw +rAy pdO pdO -wlq -wlq -jYI +tVj +lYD pdO +vXC +swW +xWJ fQp -aIU -ccr -ccr -jfi -mvq -pLG +cle +xPT +dZy +qgU +xPT +cle fQp -phP +pSP kyq hSh dwi @@ -114951,46 +116408,46 @@ bcH vAs dQP iLm -fLr +rJQ hSk qKV -iCd +eov hSk hSk -sfj -xeM -tbu -xeM -lqZ -irh +qrb +rWl +jIQ +uoB +aQI +ctX +uoB irh uFM -pem +cIG uFM irh irh -suP -cmY -rEL -usD -gWO -jTt -pdO -snE -ksX -mCM -qqD -wQc -ugq +irh +kHz +npk +cVU +qGQ +ogg +ntm +mMp +tzg +fza +fNo +tmP fQp -bZC -vSW -vSW -vyV -tPC -ycC +wVK +xPT +xPT +xPT +rfi +wmk fQp -iLD +ePh ffp wgP lNj @@ -115209,43 +116666,43 @@ tNV crk fDc crk -pEO -rsU -xeM -fHf -rde -fYF -pMi -tbu -oJe -gND +jPo +lMB +gXM +vuY +eHb +bCr +prX +wun +nVZ +tIx +ecY +aTQ irh -jcy -tBh -oiH -gXT -gZT +awT +ltw +lah +sJV +gou irh -qFa -qFj -hXT +dwR uvh -hXT -xsC -bRm -eMd -lqp -tRY -tRY -wXL -uEZ +hXf +oIM +euF +amg +kpH +kpH +iZX +slh +vLF fQp -kSB -vSW -vSW -vyV -tPC -kdt +htz +xPT +xRt +xjJ +rfi +lMM fQp kmD nRu @@ -115466,43 +116923,43 @@ ddz ckZ iLm fLr -pEO -aVL -sGy -xeM -ujD -fYF -xeM -klc -bxa -sZn +jPo +lMB +ceD +tMG +kCW +etc +wSb +fZu +uFS +fcL +kST +iLl irh -jeq -lyz -vka -kwh -uGt +msY +gVm +pAR +oVb +gWN uFM -niy -iyL -xaH -dJE -ioq -rMv -mYZ -lPc -rRy -txH +kRF +wdN +qfe +rVw +wBG +hlx +rNM +lOX vSE -doA -iar +mER +mgn fQp -hGH -lSJ -cPX -tJq -npR -lzp +pGy +pYX +xoW +yhF +bLt +oZu fQp iOF kPN @@ -115723,42 +117180,42 @@ cmp cnL iLm fLr -bES -fYF -jEG -mqQ -rde -fYF -rHB -ivM -hXT +wbY +pYe +sgP +mns +pQu +qdb +dgE +wun +klD +qaS +hUt +nFs +qWn +sul +nwN +fLd +heY +ezc +gsG +dAU +kji xsC -irh -rFk -eKh -eME -xKg -kxL -uFM -bWI -glH -lEe -uvh -hXT -xsC -vBN -pgN -rRy -rxd -cqw -sqp -eOx +qGQ +ozF +wUA +rNM +kHp +fzA +qjP +tZg fQp idq hDg hDg ewA -hDg +djy hDg fQp aWH @@ -115978,44 +117435,44 @@ tBo tBo deJ vNo -gHa -mBb -jDi -iyn -oXE -oXE -tYN -iyn -dGy -lXM -hXT -fdb +iLm +fLr +wbY +jrS +nzr +bCr +wjT +lbF +dQM +gIY +nVZ +pwr +fug +ykL irh -jeq -bLK -elP -hrm -gob +bGQ +tQE +dgT +hnL +qBX uFM -ocq -tMg -lEe -vmJ -rYF -rMv -tYE -oYy -cfi -rSj -tzS -taS -rxx +wxm +eXy +loy +iGq +wlo +bzW +bzW +bzW +cva +qZD +dOo fQp fqn hDg -mTp +wOW oAz -toj +lXn hDg juQ aWH @@ -116186,7 +117643,7 @@ rpU rpU pfu gqp -pUr +jzD gPW nvR aXe @@ -116237,40 +117694,40 @@ mAr ojj oNM fLr -fkD -uNV -kVu -cRb -rde -prV -dwP -bHV -jxx -lXX +jPo +jPo +wbY +nzL +cTa +wbY +jPo +jPo +uoB +uYl +phX +uEf irh -yjD -qep -afl -kDP -ofr +bnM +kUY +bLc +tMM +fwy irh -khC -jcj -nKB -ccH -fDk -xDs +jIv +fyq +mSZ pdO -pmL -oTO -nzj -cke -cyx -duz +jWt +vPv +fhY +jVG +bNT +kBE +qtO fQp fQp hDg -lyA +bmd oAz pwC hDg @@ -116494,38 +117951,38 @@ hXc nYZ uFo lkC -fBQ -fkD -fkD -fkD -pEO -pEO -rde -rde -rde -pEO +tzk +emb +oAu +cow +avk +fkJ +bhI +fXP +uoB +cQW +uoB +cQW +irh +cbL +cbL irh irh -jIf -jIf -jIf irh irh -pEO -pEO -rde -klI -ioo -pEO -pdO -pQV -pLV -pdO -uKM -uKM +xcw +ayh +xcw pdO pdO -fDg +bPO +bPO +pdO +asy +nJZ +pdO +fXP +fQp hDg hDg pYI @@ -116753,38 +118210,38 @@ uFo gxP gTL pJS -pJS -vgD -qkm -pJS -pJS -pJS -pJS -pJS -ghu -uxY -pJS -pJS -pJS -ghu -czJ -vMv -pJS -pJS +oID hOG -iev +wGJ +pJS +pJS +ghu +kdJ +pJS +ghu +pJS +uaD +pJS +pJS +ghu +pJS +rFp +kdJ +pJS +bYL +pJS hCs ghu -vgD pJS pJS +bSG pJS pJS -wWy +fLL xZn pJS bMo -ghu +aEp iev xZn eMi @@ -117000,8 +118457,8 @@ heR gmE czp aZd -emH -bfq +fkx +jDt bBK eRd vnz @@ -117010,9 +118467,9 @@ hnb vYe wAQ iFU -iFU -kOF -vcH +lZr +gLo +lQh iFU iFU iFU @@ -117257,30 +118714,30 @@ dcE gmE irL lbT -kka -kkd +fON +nPa egp scJ gNL -dXh +qOe vlK -fLr +vXt gTL pJS pJS -bkv pJS +hOG pJS pJS bLu +mYU pJS pJS pJS pJS -vhv -pJS pJS pJS +mYU pJS bSD pJS @@ -117524,10 +118981,10 @@ vlK lkC fXP iXg +fdN wGD -tep -wGD -wGD +tiX +fdN jVu fXP xEm @@ -117782,8 +119239,8 @@ jMi tDY tDY vUS -fsx -hAH +qCH +cgI vUS tDY jes @@ -118039,8 +119496,8 @@ fLr tDY kVK eXe -xqk -eXe +agP +vvi lHK cYT jJX @@ -118586,7 +120043,7 @@ fAl jYq nLp hFi -mUi +dVx wKb wKb rdN @@ -119354,8 +120811,8 @@ rPd rPd omG fAl -pcR -uxt +jNG +gwE jbW qnM wKb @@ -119612,7 +121069,7 @@ rkW lmc fAl bCx -uxt +gwE sQJ wKb wKb @@ -119777,8 +121234,8 @@ bPW bPW bPW bPW -mYN -fNv +sSk +nVH sFV dCm dCm @@ -119869,7 +121326,7 @@ gPd qyA fAl pcR -ajB +sWs nLp wKb mWI @@ -120125,8 +121582,8 @@ vWv vWv lmc tNP -mgh -uxt +lGy +gwE cOe wKb cpD @@ -120383,7 +121840,7 @@ idj uix tNP pcR -izU +nGa dxN cWU cWU @@ -120640,7 +122097,7 @@ oof exo tNP pcR -uxt +gwE xaz bQe qYi @@ -120897,7 +122354,7 @@ nCI ifV fAl lGy -ajB +sWs xaz bQe iLy @@ -121089,12 +122546,12 @@ xbZ rfE ugX oKg -kAv +bMl bZx kJF kCE ftk -cPi +vfX oKg tQt xan @@ -121346,12 +122803,12 @@ bNY bNY sCP oKg -fmW -ixe -nCr -mHY -tHG -nMr +cDC +tCN +swU +gzc +cWF +jdR oKg oTr bfc @@ -121586,7 +123043,7 @@ osO ixf jcz bIS -wcL +ncJ pRO wIK ekB @@ -121603,12 +123060,12 @@ voi bNY xGU oKg -nIR -qkG +smt +kwE wma -mLZ -qZE -iYG +lAn +jzk +oyI oKg tPU rJi @@ -121818,13 +123275,13 @@ dcE dcE dcE dcE -lLu +nsD qir cOu cOu cOu qir -xNA +wjP cOu cOu cOu @@ -121843,7 +123300,7 @@ mPB bPW jkR bIS -ibc +aFN pRO pRO pRO @@ -121862,7 +123319,7 @@ rCP oKg oKg oKg -clr +hda oKg oKg oKg @@ -122080,7 +123537,7 @@ heR heR fRO heR -nQV +bhQ cOu fRO fRO @@ -122100,7 +123557,7 @@ osO ixf lOh uVY -dFT +cWS pRO mcY tFy @@ -122117,12 +123574,12 @@ wzs bNY hTt udl -vbx -mYk -xho -sFR -uHK -kUD +xdP +uFX +pXL +nbP +txO +qrK udl udl udl @@ -122163,7 +123620,7 @@ kTL wps arT lqK -egT +fei lqK arT oYd @@ -122357,7 +123814,7 @@ osO ixf jcz bIS -dpT +hpC pRO vTH hXE @@ -122371,24 +123828,24 @@ vfe beb dCm bNY -kmr +gAy khn udl -xQY -lro -xho -lro -gvn -lro -cIu -jvb -orH +cLV +brf +pXL +brf +lom +brf +vTL +jRJ +hPD udl -epc -lTB -pXO +bbm +olr +qOm nnH -gqc +wFc vPN aCa vjc @@ -122631,24 +124088,24 @@ crG idM idM idM -qXB -rOM -xho -xho -xho -bOt -fCM -lro -jhS +ffn +fmS +pXL +pXL +pXL +uyi +qNp +brf +jCY udl -qwb +wgU eQF vzO sKM xtG vPN aCa -rnC +hDF abs dyS fgd @@ -122884,21 +124341,21 @@ ccZ qMN pOF dCm -mtJ +afj idM qsC cTX -lro -wTA -mrQ -lro -mVa -aVO -cXc -oNU -niq +brf +xmb +fNp +brf +lxa +nQu +mcG +acQ +aRs udl -wRr +csP vzO eQF sKM @@ -123128,7 +124585,7 @@ ixf bPW hCB bIS -tYb +alm pRO pRO pRO @@ -123145,20 +124602,20 @@ cNO idM idM idM -tCh -doY +aof +rrn udl udl -rIr +qPv udl udl udl udl udl -rZR -rUH +jch +nrZ eQF -wHu +dGQ fLb btE aCa @@ -123402,17 +124859,17 @@ ade rdl oMd udl -dJI -yfR +mlj +jjZ udl -elu -mZZ -jol +vXi +ofY +vFN nnH -pTa -dFs -gpg -ttq +tWU +aoF +hTc +lwd eQF rCO sKM @@ -123662,16 +125119,16 @@ dCm dCm dCm udl -lro -mZZ -bHd +brf +ofY +oSs nnH -wHi +tOG eQF lgb -gzE +pUU vzO -ooL +nOU sKM xtG vPN @@ -123919,16 +125376,16 @@ pfx kKy fIg udl -wgl -mZZ -iVI +hvE +ofY +gIN nnH rIw eTZ cJE eQl -jIO -inX +rmK +hrT nnH xtG vPN @@ -124162,13 +125619,13 @@ cqh ntW cNO cqh -ozE -poZ -cCv -poZ -iqy -bsa -iqy +eLn +yeT +eMy +yeT +pov +pov +pov fIg cNH fIg @@ -124177,13 +125634,13 @@ dCm uBD udl udl -tff +vFl udl nnH sKM nnH sKM -eOf +ggj sKM nnH nnH @@ -124433,9 +125890,9 @@ dCm tFd tCF gex -cXC -msH -dzY +aHx +qGm +pnN nQi nQi nQi @@ -125266,7 +126723,7 @@ rKA awK oAN aXa -twv +nBS rKA rKA rKA @@ -125689,7 +127146,7 @@ lNm oTE bTW iqs -kZl +sRa nfM bCb mId @@ -126210,9 +127667,9 @@ fGD eQO lsV xCJ -tNb -lqA -xYb +vDG +ewG +tIt rrz hKE nNY @@ -126454,7 +127911,7 @@ mXN dcE dcE gOE -aJt +jsV nAN uhl rZl @@ -126469,7 +127926,7 @@ unl jSf hmX wrQ -xYb +tIt wrQ wrQ wrQ @@ -126711,22 +128168,22 @@ mXN heR heR heR -crV +kbu naa -vZN +mFk rZl nyz fgx vLU oKx -oqb -jTD -wsw -wsw +bUb +nBH +inu +inu jSf fvu lpj -oob +bBm fVd fVd fVd @@ -126962,11 +128419,11 @@ dcE dcE dcE dcE -toV -toV -toV -toV -toV +pGP +pGP +pGP +pGP +pGP heR unl fgx @@ -126975,17 +128432,17 @@ rZl bmO fgx vdm -ncB -vas -xGS -dEZ -dEZ +xvH +jRo +lwe +rSk +rSk fOM noI wrQ nKD wrQ -tcd +hMv dYy wrQ tST @@ -127219,24 +128676,24 @@ dcE dcE dcE dcE -toV +pGP wFl wFl wWO -gVq -kUU +rbl +xpn sZu muW -gas +hhE qEZ esk vMn rND cMW -vas -xaJ -dEZ -dEZ +jRo +kNB +rSk +rSk jSf anB wrQ @@ -127476,20 +128933,20 @@ dcE dcE dcE dcE -toV +pGP gPj ftG kGD pQS heR -crV +kbu aKq -aaM +ilP jBb mOo nBs dDV -aTj +xzT unl unl unl @@ -127498,7 +128955,7 @@ jSf pvp pvp jSf -iyb +xqu jSf pvp pvp @@ -127506,7 +128963,7 @@ jSf pvp pvp jSf -pom +suf jSf kvl pCb @@ -127733,24 +129190,24 @@ dcE dcE dcE dcE -toV +pGP wFl wFl iqj -fwI -naJ -ilC +kJI +hce +hsW nPS -xNT +wZd acU -dmN +vdG xZd dDV alk tCX -kFg -bKp -bKp +cDU +sTO +sTO jSf dHC lqH @@ -127990,26 +129447,26 @@ dcE dcE dcE dcE -toV -toV -toV -toV -toV +pGP +pGP +pGP +pGP +pGP heR unl -bZm -qln +esK +rUM krK dWg xZd dDV alk ppL -cZK -cZK -cZK +ndg +ndg +ndg fOM -hiB +sMy rxH mDD goU @@ -128247,26 +129704,26 @@ dcE dcE dcE dcE -toV +pGP kYf kYf fbu -gVq -kUU +rbl +xpn aNf gOL -hto +cyW krK dWg xZd dDV alk -mwF +blb wMu wMu wMu jSf -uzQ +yha rxH umy goU @@ -128504,15 +129961,15 @@ dcE dcE dcE dcE -toV +pGP xbI sFb kil pQS heR -crV +kbu aKq -jeM +bag krK dWg xZd @@ -128538,7 +129995,7 @@ yma iCq lFW pCb -fYe +yhT glJ rvR tTz @@ -128761,24 +130218,24 @@ dcE dcE dcE dcE -toV +pGP kYf kYf fPA -fwI -naJ -ilC +kJI +hce +hsW wfp -bRU +cSq evv dqo xZd dDV alk tCX -xzq -gRA -gRA +jjK +ftF +ftF jSf kWx rxH @@ -129018,24 +130475,24 @@ dcE dcE dcE dcE -toV -toV -toV -toV -toV +pGP +pGP +pGP +pGP +pGP heR unl daE -dJi +tGe qLm mOo nBs dDV alk ppL -jRW -jRW -jRW +wRs +wRs +wRs fOM edY iMP @@ -129275,24 +130732,24 @@ dcE dcE dcE dcE -toV +pGP pBP pBP bFn rTQ -hhO -hcn +kxy +fCp xrJ -hnO +xIz drW -juj +xvC xZd dDV alk ppL -lbx -lbx -lbx +uxj +uxj +uxj jSf pbt rQb @@ -129532,20 +130989,20 @@ dcE dcE dcE dcE -toV +pGP hng gIn aUW pQS heR -crV +kbu aKq -xxM +vWt xZd dWg xZd dDV -hwu +kfv unl unl unl @@ -129680,7 +131137,7 @@ cOu qir qir qir -sNv +fPs cbc dcE dcE @@ -129789,18 +131246,18 @@ dcE dcE dcE dcE -toV +pGP pBP pBP mVM -mJQ -nNO -arD +jLv +eiG +sXv faw -qNF +oPS wid -kmb -bmq +jZx +fpZ dDV alk unl @@ -130046,18 +131503,18 @@ dcE dcE dcE dcE -toV -toV -toV -toV -toV +pGP +pGP +pGP +pGP +pGP heR unl hVH -nwR +fdY xZd xZd -xmk +nIi vRE fcT chc @@ -130303,15 +131760,15 @@ dcE dcE dcE dcE -toV +pGP qpL qpL uEQ -gVq -kUU +rbl +xpn mSE vqH -mpz +hCt xZd xZd xZd @@ -130319,7 +131776,7 @@ upL fcT unl uua -ast +xFJ iTx ydi maS @@ -130560,17 +132017,17 @@ dcE dcE dcE dcE -toV +pGP xQB jRb oBp pQS heR -crV +kbu aKq -rHP +xLg xZd -umN +xNX xZd wOG sxT @@ -130817,15 +132274,15 @@ dcE dcE dcE dcE -toV +pGP qpL qpL ovq -fwI -naJ -ilC +kJI +hce +hsW iLC -pHV +qAQ jBb omc nQs @@ -131074,20 +132531,20 @@ dcE dcE dcE dcE -toV -toV -toV -toV -toV +pGP +pGP +pGP +pGP +pGP heR unl -hVO -xUb +wrM +jQK xZd -rii +juO xZd dDV -jAW +aQS unl gjb gjb @@ -131331,15 +132788,15 @@ dcE dcE dcE dcE -toV +pGP sbp sbp -fsb -gVq -kUU +xEF +rbl +xpn mSE -qEy -fas +nrj +ocZ xZd xZd xZd @@ -131355,10 +132812,10 @@ nqt nqt eaV enK -jEx -iry -fJN -fJN +lYl +naX +naX +naX xDp fnY eaV @@ -131588,21 +133045,21 @@ dcE dcE dcE dcE -toV -lTE +pGP +lkT hMt -mFU +kGV pQS heR -crV +kbu aKq -dns +sKI xZd xZd xZd dDV aKq -crV +kbu dcE dcE heR @@ -131845,21 +133302,21 @@ dcE dcE dcE dcE -toV +pGP sbp sbp -hUK -fwI -naJ -ilC +aRc +kJI +hce +hsW iLC -qjm +vfF xZd xZd xZd dDV aKq -crV +kbu heR heR heR @@ -132102,20 +133559,20 @@ dcE dcE dcE dcE -toV -toV -toV -toV -toV +pGP +pGP +pGP +pGP +pGP heR unl aKq -wNI +vbM xZd -tkr -gUV -wor -rgH +lSE +bcI +hUV +ibY unl dcE mXN @@ -132359,21 +133816,21 @@ dcE dcE dcE dcE -toV +pGP bxx bxx -cCP -gVq -kUU +paE +rbl +xpn mSE -bLZ -pni +noM +wWa jBb omc nQs dDV aKq -crV +kbu dcE dcE dcE @@ -132616,18 +134073,18 @@ dcE dcE dcE dcE -toV -rXw +pGP +gAq gZO -iYC +bhn pQS heR -crV +kbu aKq -vxV +vRt xZd -wMk -dmz +heO +eQW dDV aKq unl @@ -132873,21 +134330,21 @@ dcE dcE dcE dcE -toV +pGP bxx bxx -hBA -fwI -naJ -ilC +tZW +kJI +hce +hsW iLC -tQw +lLU mil mil mil mUN aKq -crV +kbu dcE dcE dcE @@ -133130,21 +134587,21 @@ dcE dcE dcE dcE -toV -toV -toV -toV -toV +pGP +pGP +pGP +pGP +pGP heR unl gCa fPi -xmh -iiU +dkN +qxT fPi rnR -sIv -crV +tbb +kbu dcE dcE dcE @@ -133394,13 +134851,13 @@ dcE dcE dcE unl -crV +kbu unl unl -crV +kbu unl unl -crV +kbu unl dcE dcE @@ -168904,7 +170361,7 @@ uCF eBw kkZ kkZ -jEy +qsm kkZ gRG gRG @@ -168949,8 +170406,8 @@ nlm xrx cgK jBW -hJP -noH +vzk +kKe wua nlm nlm @@ -169206,7 +170663,7 @@ nlm xrx cgK kfT -vIL +cSH lAP xAQ nlm @@ -169460,11 +170917,11 @@ nlm nlm nlm nlm -kHK -csG -fHv +fir +sMv +hPZ cHv -mev +buc xAQ dDL nlm @@ -169718,7 +171175,7 @@ nlm nlm nlm xrx -vXl +laO qhs qhs qhs @@ -173572,11 +175029,11 @@ nlm iWu lrM hRj -iWu -mYo -uCP -mYo -iWu +hqz +khB +kfJ +khB +hqz hRj hRj lIr @@ -173829,11 +175286,11 @@ nlm iWu lrM hRj -iWu -uah -oRp -boP -iWu +hqz +gII +gvN +kEs +hqz hRj hRj lIr @@ -174088,14 +175545,14 @@ soh hqz hqz xiU -inz +hnJ xiU hqz -ygD -ygD -ygD -ygD -ygD +uIO +uIO +uIO +uIO +uIO txv txv wAk @@ -174344,15 +175801,15 @@ nlD qsW hqz vuu -eXp +bBf dBp -hmw +xjY kPq -ygD -rnQ -vZG -vZG -ygD +uIO +lJE +uBr +uBr +uIO txv txv wAk @@ -174601,15 +176058,15 @@ nlD bsE hqz otz -pWF -pSx +gvN +gvN pWF kVP -ygD -wiq -vZG -vZG -bVB +uIO +xuH +uBr +uBr +sAl txv txv wAk @@ -174858,15 +176315,15 @@ nlD qsW hqz hmZ -pWF -pWF -pWF -jjr -fFl -ptI -qAC -vZG -ygD +gvN +mgo +gvN +idV +rfw +fhE +cWo +uBr +uIO txv txv wAk @@ -175115,15 +176572,15 @@ cjj qsW hqz hqz -umE -pWF -pWF +fEP +gvN +szT hqz -ygD -ygD -ygD -ygD -ygD +uIO +uIO +uIO +uIO +uIO txv txv wAk @@ -175372,8 +176829,8 @@ nlD qsW qsW kVU -iwS -pWF +otg +gvN pWF azn txv @@ -175629,15 +177086,15 @@ nlD nlD nlD nlD -qzF +vmC +gvN pWF -pWF -hqz -hqz -hqz -hqz -txv -txv +nfR +nfR +nfR +nfR +nfR +nfR txv txv wAk @@ -175885,16 +177342,16 @@ xyz paY xyz dSS -lca -iwS -pWF -pWF -hqz -wuo -fHp -hqz -hqz -hqz +amH +otg +oAA +hCb +nfR +sqU +fgi +wZB +wft +nfR wAk tce tce @@ -176141,17 +177598,17 @@ xyz xyz paY xyz -dSS -gch -iwS -iwS -iwS -jtm -ltE -ltE -mRn -pJK -hqz +dFn +pxT +jZu +jZu +jZu +lMb +jnE +mCn +bYI +dOX +nfR wAk tce owU @@ -176400,17 +177857,17 @@ kUq kUq kUq kUq -pWF -pWF -pfp -hqz -pWR -jhW -ltE -bpU -hqz +vGx +gvN +nqf +nfR +mMk +bMY +fJB +ikw +gEc wAk -wjw +hqb wdn yaP mFA @@ -176656,18 +178113,18 @@ kUq kUq pjt pTE -fjS +fyJ +gvN +gvN pWF -pWF -pWF -hqz -jCQ -uXj -ltE -myR -hqz +cFl +jZp +oPk +qFD +wQo +nfR mCc -wjw +hqb eAX vSS kgE @@ -176897,7 +178354,7 @@ jkd jkd gXk gXk -hbc +pok aJE kUq kUq @@ -176917,14 +178374,14 @@ riD qrd qrd qrd -hqz -bpU -myD -xRZ -xJq -hqz +cFl +gjt +tgD +hIx +oCW +gEc wAk -wjw +hqb pSK vSS mAx @@ -177148,12 +178605,12 @@ lTH lTH vem riD -aJE -aJE -aJE -ucd -oHH -oHH +riD +riD +riD +jwi +tsY +riD hbc aJE aJE @@ -177166,7 +178623,7 @@ kUq kUq mbK kUq -sXU +iGL jkh jCF bFv @@ -177174,12 +178631,12 @@ riD qrd qrd qrd -hqz -pJK -xMq -ltE -rnP -hqz +cFl +wkZ +iBm +gEu +oPH +nfR wAk tce woV @@ -177405,11 +178862,11 @@ gwK gwK gwK fbC +qEI +ueF +qEI fbC -fbC -fbC -fbC -pEO +qrk pEO hbc jkd @@ -177417,9 +178874,9 @@ jkd mzT khm khm -vOg -vOg -riD +khm +aMV +aMV vXU xjL aHD @@ -177430,13 +178887,13 @@ vWj riD qrd qrd -qrd -hqz -hqz -hqz -ltE -opO -hqz +ocx +nfR +nfR +nfR +ogH +lZO +nfR jeA tce ftA @@ -177654,27 +179111,27 @@ gNi oVK nct sSw -gTp -gTp +kUO +kUO gTp lTH gTp -gTp -gTp +kUO +kUO eHu -qEI -fYu -qEI +ebg +ebg +roi fbC -gtG +xda pEO -odd -aJE -aJE -riD -bxZ -bxZ -bmQ +yig +xXK +ygD +ygD +rbs +ygD +ygD riD riD jeD @@ -177689,11 +179146,11 @@ qrd qrd qrd lIr -goB -hqz -pbp -hqz -hqz +fWC +nfR +kQE +nfR +nfR vyH vyH vyH @@ -177911,51 +179368,51 @@ pwB ghe uqy usP -gTp -gTp +kUO +kUO gTp lTH gTp -gTp -gTp +kUO +kUO eHu -wOK -hlt -xpq +aLt +dHB +wgI fbC -xda +rJb pEO riD riD -riD -riD -riD -riD -riD -xUJ -kra -mUv -xes -uoA -dou -riD -riD +ygD +rGR +gMu +xnx +ygD +nRE +boZ +qud +dzw +kBt +ccP +kUq +kUq lEO -pPO -tDc -tDc -dnM -ePT -vyH -jmo -vyH +tqg +pOf +fdf +cim +nAy +gMH +chL +ilW vyH vyH vyH lIr lIr mCj -bPC +goB vyH lIr lIr @@ -178168,44 +179625,44 @@ gNi kIz ttA usP -gTp -gTp +kUO +kUO gTp xmG gTp -gTp -gTp +kUO +kUO fbC fbC fbC oFk fbC -oTn -rbx +tqr +fMB +nRE +rHx +ygD +oUg +mcs +tqJ +ygD nRE nRE -pEO -nRE -nRE -nRE -xUJ -yaU -iRV -iVk -uVX -rBd -oJr -bfh -riD -riD -riD -hqz -axN -hqz -lIr -lIr -lIr -lIr +hJO +kwv +pCP +phq +mVd +kUq +kUq +kUq +phq +rgD +phq +kqv +kqv +kqv +kqv lIr pcQ lIr @@ -178425,44 +179882,44 @@ tHr eBx ufo uwD -gTp -gTp +kUO +kUO gTp lTH gTp -gTp -gTp +kUO +kUO fbC ikc goR egF fbC -vcf -xGG +sjG +mXw nRE nRE -pEO -nRE -nqy -nRE -xUJ -nDK -dsw -jKp -jKp -jKp -qlk -fFE -xUJ -kCp -kCp -cwO -nvn -dak -cDq -cDq -xxz -lIr +ygD +ygD +ocI +ygD +ygD +hBT +hBT +hBT +gGw +wuQ +phq +eZM +ykS +iVD +yjh +qBi +rII +phq +lHW +ofI +rju +kqv uUD caU rqY @@ -178690,36 +180147,36 @@ pQa pQa pQa fbC -peS +sNJ fps xQR eHu -yly -iby -joC -rDD +xeM +jlG +irB +sPN pEO -vtm -eAO -nRE -omX -niv -dsw -jKp -jKp -jKp -qjU -eKH -omX -kCp -kCp -kCp -kCp -xxz -xxz -cDq -xxz -lIr +faa +jqb +cRe +qud +qud +qud +qud +qud +gFG +ipa +sWZ +cAt +hmz +hmz +rNq +rBG +phq +obr +uRR +iSk +kqv vHV jYb wAk @@ -178947,36 +180404,36 @@ dUb dUb dfn fbC -fkP -smV +giO +bOF xQR ccY -een -jmY -rfZ -pmf -dFd -uZQ -dKu -feE -mwd -wnY -dsw -jKp -jKp -jKp -koY -icz -omX -kCp -kCp -kCp -kCp -xxz -xxz -cDq -xxz -lIr +vWU +iYQ +xVO +nEc +wkW +cPt +ouG +eei +qKu +qKu +vqK +qKu +qKu +pCP +phq +byb +hmz +hmz +hmz +rNq +vGW +phq +tpx +jCU +izT +kqv ygr vvt wAk @@ -179206,38 +180663,38 @@ dfn fbC kza xck -qPB +spx eHu -yly -gTs -dyA -xar -pQK -sOa -phy -pzQ -xyC -kWF -oZN -jIJ -jIJ -jIJ -ptC -tQa -xUJ -kCp -kCp -kCp -kCp -xxz -xxz -cDq -xxz -kqv -kqv -kqv +xeM +fsV +ank +xcM +bzR +cpf +aAW +aBc +dDx +qIB +xQv +oVX +qKu +uvy +phq +ruy +vyP +hmz +hmz +rNq +rNq +phq +xXu +ksr +aXf kqv kqv +clb +clb +clb kqv kqv kqv @@ -179460,43 +180917,43 @@ dfn dfn dfn dfn -kDO -kDO -kDO -kDO -kDO -eta -gTs +fbC +fbC +fbC +fbC +fbC +hza +mnN pEO pEO pEO -phh -voU -voU -xUJ -xUJ -jKT -avY -vNg -dXx -nPA -xUJ -xUJ -xxz -xxz -xxz -xxz -xxz -xxz -cDq -xxz +nZc +mzp +qud +vqK +cFZ +tJK +lOo +qKu +uvy +phq +oQm +hmz +hmz +hmz +rNq +rNq +phq +phq +edF +phq kqv nlm nlm nlm nlm nlm -nlm +rZU kqv nvf uxA @@ -179714,46 +181171,46 @@ qiH qiH qiH vAs -tWl +rZC +dUb dUb -dfn -jKX -osZ -aWk -uNY -jKX -dxA -pAn -pEO -kCp -voU -phh -voU -voU -voU xUJ +wLF +vVX +jEp +cDX +mvV +kKB +rVl xUJ -omX -omX -omX -xUJ -xUJ -kCp -kCp -kCp -kCp -kCp -kCp -kCp -nvn -kCp +wEI +nRE +mzp +hDX +qKu +qKu +jKz +qKu +qKu +aEY +phq +hmz +hmz +hmz +hmz +daI +cUS +bsw +dWo +mTE +aqV kqv -rZU -rZU -rZU -rZU -rZU -nlm +fQp +sAw +sAw +sAw +sAw +fQp kqv ata lxl @@ -179971,46 +181428,46 @@ dmp sAa wFt qiH -dUb -dUb dfn -mrE -eTD -vMP -rto -jKX -wQH -rcM -jKX -jKX -gsq -phh -voU -voU -voU -voU -kCp -kCp -kCp -mHt -mHt -kCp -kCp -kCp -kCp -kCp -kCp -kCp -kCp -nvn -kCp -fQp -fQp -dsx -dsx -dsx -fQp +dUb +dUb +omX +tJe +vxU +mtd +mNg +mvV +kKB +sFN +xUJ +wEI +nqy +mzp +ebG +qud +qud +qud +qud +qud +gFG +ipa +lib +eww +xSr +daI +lbB +iNT +aYW +hmz +hmz +gbq fQp +vkd +vkd +vkd +vkd +vkd +vkd fQp nah kqv @@ -180228,49 +181685,49 @@ wYJ sAa tel qiH -dUb -dUb dfn -mrE -kPI -pUb -xEU -lYy -axn -cUi -mOx -jKX -voU -phh -leJ -voU -voU -voU -kCp -kCp -mHt -mHt -kCp -kCp -kCp -kCp -kCp -aBN -kYK -gRn -fGp -qgd -sFS +dUb +dUb +omX +gWq +vxU +ycI +wOL +vPZ +kKB +xLa +xUJ +pCP +xQd +jTD +gcL +jTD +jTD +pEO +hJO +oGy +eZl +phq +uwm +auW +auW +bAZ +cWe +gBa +aYW +hmz +hmz +vMb fQp -iMu vkd vkd vkd vkd -fyE +vkd +vkd fQp -rVM -aXW +iqb +blf fIl wTj ceG @@ -180485,48 +181942,48 @@ rsi vUQ nYn qiH -dUb -dUb dfn -mrE -cik -vsY -gZq -nde -wwx -ouo -uUK +dUb +dUb +omX +lLX +lLX +lLX +lLX +pFS +lkd +mfb +xUJ +pCP +xQd +fpv +fyQ +cMF +bte +xQd +xQd +xQd jKX -jKX -kXI -irh -jIf -jIf -irh -irh -xxz -xxz -xxz -buh -mHt -mHt -mHt -rbF -wLe +phq +juJ +bpH +whE +ber +lbB +iNT +aYW +hYK hmz -hmz -hmz -oKI -tJv +nho fQp -fXB -vkd -vkd -vkd +kuq +akc vkd vkd +akc +kuq fQp -fNS +vXg fIl eGe sdv @@ -180745,45 +182202,45 @@ rpB mJl mJl mJl -tey -aBy -gAZ -yfv -nuU -kwR -gGJ -geL +xUJ +kOR +uwT +asR +kKn +qch +tFD +mQz +xUJ +gwn +xQd +pdc +bHf +xem +edQ +xQd +vPx +cal jKX -dIT -kXI -gJp -kqm -lon -wxb -ows -buh -mKv -xxz -xxz -mHt -mHt -mHt -jam +uMm +rNq +rNq hmz hmz +mPS +nkv +ssy hmz -oyi -oKI -ivL +hmz +tpI fQp -vbV -vkd +fXB vkd vkd vkd vkd +xSl fQp -jMO +iVE dfi qTX xrP @@ -181002,43 +182459,43 @@ cvP dfn dUb dfn -djf -vCP -vCP -vCP -kSc +rde vCP vCP vCP vCP -nRE -rKq -qHZ -qHZ -eGM -mcC -jIf -buh -xxz -lIS -xxz -mHt -mHt -mHt -ptk +vCP +vCP +vCP +aCw +gwn +xQd +sSU +rtM +hgS +jxY +xQd +xGv +qMh +ooA +rNq +rNq +rNq hmz hmz -wzp +rNq +rNq +rNq +rNq hmz -qEj -ruD +aFa fQp -eDj -tRR -tRV -oYs -vkd +aiR +oaH +rnF +eCH vkd +shC fQp kPN kPN @@ -181259,42 +182716,42 @@ cvP dfn dfn dfn -djf +rde nRE nRE nRE -kSc nRE nRE nRE -nqy nRE -rKq -qHZ -qHZ -cBT -lXD -irh -jxa -buh -xxz -xxz -mHt -mHt -mHt -mDz +msh +tpE +xQd +otE +kQo +vkJ +hJC +oHr +luv +pgF +xHJ +rNq +rNq +rNq hmz hmz -hYK +rNq +dFO +rNq +rNq hmz -qEj -mUm +vJM fQp pvT -pNg +wmb xBq -tai -aKz +ktw +mLG fQp gAf nHg @@ -181516,42 +182973,42 @@ cvP pkx dUb dfn -djf -nRE -unv -nRE -kSc -nRE +rde nRE unv nRE nRE -rKq -qHZ -qHZ -lMx -ycm -jIf -gSX -buh -xxz -buh -mHt -mHt -mHt -vzf +nRE +nRE +unv +qIK +gwn +xQd +ivF +eGD +ocW +wYt +uVe +eYL +sDA +ooA +rNq +rNq +rNq hmz hmz +rNq +rNq +rNq +rNq hmz -gOC -hKP -gyh +alV fQp qZQ -nCw -bjK -lxX -fWW +rhL +sDh +aIU +hBd fQp nHg tjn @@ -181773,42 +183230,42 @@ cvP dfn dUb dUb -pED -nRE -nRE -nRE -kSc -nRE -nRE -nRE -nRE -nRE -otf -gbb -pgJ -bZD -ycm -irh -gSX -buh -xxz -stW -mHt -mHt -mHt -wyx -hmz -uEG -bPr -gih -bsK -oTQ +pEO +pEO +rde +rde +rde +pEO +rde +pEO +cFm +eMO +xQd +blr +ubR +smq +xqD +xQd +cMK +uIT +jKX +wDT +rNq +vCG +koR +aaB +dED +eWw +jzj +vmm +qcI +qCA fQp -uuk -jQL +sRF +jKP qMQ -hZq -rCQ +ahs +ltF fQp nHg tjn @@ -182030,36 +183487,36 @@ cvP dfn dUb dUb -dOG -dOG -djf -djf -djf -dOG -djf -djf -djf -dOG -otf -irh -irh -irh -irh -irh -xAu -xAu -xAu -xAu -xAu -xAu -xAu -xAu -cwf -xAu -xAu -xAu -cwf -xAu +fXP +afR +afR +afR +afR +afR +afR +pEO +pEO +pEO +xQd +xQd +vuZ +vuZ +vuZ +xQd +xpR +xpR +jKX +phq +vWy +phq +vWy +phq +vWy +phq +vWy +phq +vWy +phq fQp fQp fQp @@ -182293,8 +183750,8 @@ afR afR afR afR -kIf -kIf +afR +wdd kIf kIf kIf @@ -182551,7 +184008,7 @@ afR afR afR afR -kIf +wdd afR afR afR @@ -182808,7 +184265,7 @@ afR afR afR afR -kIf +wdd afR afR afR @@ -183059,13 +184516,13 @@ dfn dUb dUb uBj +oDa kIf kIf kIf -kIf -kIf +mEv ahO -sLC +wdd kIf afR afR @@ -187102,7 +188559,7 @@ nlm nlm nlm gMO -lki +lgt wux nNC xBd @@ -187359,7 +188816,7 @@ nlm nlm nlm gMO -dyk +kMd vEX nRP xBd @@ -187616,10 +189073,10 @@ nlm nlm nlm gMO -boa -bIh -myC -jcN +urL +rGq +wFm +waY nlm tSA ixf @@ -188690,10 +190147,10 @@ dJR jVB lgF lgF -qbO +wMi lgF pKJ -qbO +wMi jVB jPa paf @@ -188943,14 +190400,14 @@ dCm dCm rGw dCm -taC +tJw cdi nSp nSp xmQ mDk twC -pSV +rAq cdi jPa paf @@ -189195,12 +190652,12 @@ ecP lai fNG dCm -pVF +vvV sgG -wtK -wtK -kcu -qhn +piT +piT +esn +uzY sMw lYT twC @@ -189452,12 +190909,12 @@ gYY dCm dCm dCm -avb +qqe yem -sgN -ptH -sgN -iPI +ijE +ivE +ijE +gKu cdi rnh miE @@ -189711,10 +191168,10 @@ sgG xmx exM slP -sgN -rpz -rpz -mDm +ijE +sws +sws +iiS cdi cdi cdi @@ -189931,7 +191388,7 @@ rOG wJJ shx tlf -jJE +roz lqv ejA shx @@ -190188,8 +191645,8 @@ eBf wJJ shx pJf -aSb -vfo +dQb +tMf evH shx hRj @@ -190437,16 +191894,16 @@ uIx shx uIx shx -mKK +oOn aMs -hil +wDS peo -tpt -lwX +iLg +pDm shx ncT -xQX -lgq +qJA +axF iUo shx kOk @@ -190700,7 +192157,7 @@ chG chG chG wdu -uqL +xuG iPL sGR sGR @@ -190731,7 +192188,7 @@ oOs oOs oOs oOs -rxm +ppA mQT mGO rLz @@ -190985,10 +192442,10 @@ smk smk smk smk -qhZ -iPH -iPH -pbs +nhz +qZE +qZE +gUk bAW hWk cCM @@ -191245,7 +192702,7 @@ fMu auP fMu cfT -rqp +lmI fMu agz cCM @@ -191499,7 +192956,7 @@ hYV ngH ngH hYV -eOz +wdJ hYV ngH ngH @@ -191746,25 +193203,25 @@ xpr ijs ggW ngH -xgA +tjy jEV fzl rWs -bQO -wVn -wdh -uSa +bKY +arl +nJJ +eOy xBt -kFr +mEr tLs xAI -nYq +lcx hsd ujX -hFI -lRM -osQ -uhV +tOR +vQw +xBa +qnn uAO uhO uhO @@ -191990,39 +193447,39 @@ cay cay nqm oGW -vqn +eWF wyc ltG ijs xBQ sRP bWQ -cBv -vza -vza -vza -vza -aIV +oNI +fke +fke +fke +fke +wzD njY ntA eVy xAI -lGF -wdh -bzK -wwg +dnC +nJJ +xCx +rjj xAI btj -tqN +sYH xAI xAI tkV ujX -nIT -gEX -fRH -atW -wOU +uhv +ruB +ybT +isr +iAW ljh cCM bXp @@ -192248,38 +193705,38 @@ qij kxA tES isn -gvK +xrU ijs rhD dwq nhU bmc -hAW +xqb ijs -tFq -paV -paV +buF +vEI +vEI ngH -rkg +cUA xAI iux xAI -nEH -rwy -rwy -loW +wuX +ajl +ajl +dVg xAI src -tqN -bIo -bIo -jvd -ndT -suq -ovz -eus -tfP -uWM +sYH +wrt +wrt +daQ +xPi +kUp +kjQ +jrQ +qic +xHU ljh cCM bXp @@ -192492,7 +193949,7 @@ uIx hcf hbS hbS -qzL +tRL wpd shx ewK @@ -192504,39 +193961,39 @@ qij qij kxA qij -kXa -uzh +dqz +xrU ijs ijs lEy nhU vPa -wtD +jMG ijs -wQz -hsZ -tKJ +eri +nic +vNX ngH kbS xAI iux xAI -uKj +gxi xAI xAI xAI xAI xAI -nwO +xbp xAI jnQ xAI -llS -hVx -abW -tUI -ucN -lrA +sBp +hcn +jsQ +dxL +vny +cjL ljh cCM bXp @@ -192755,33 +194212,33 @@ shx vHa aZQ hHE -cyq +pha iGC goM qij kxA qij rqo -jdr +bgp ijs pID ijs ijs ijs ijs -qbl -lXU -tKJ -uTl +qrt +uGg +vNX +poD ngH kbS tLQ -lHo +gER vQf tLQ eVu sLx -nTZ +upA eVu vQf qpY @@ -192789,10 +194246,10 @@ guy vQf xAI ujX -qJN -ydV -fcE -lrJ +lSs +uvT +hzk +xIo cbT ljh cCM @@ -193014,41 +194471,41 @@ fJc shx tHE shx -kKr +way qNX mHZ bpZ rqo -vjC +bjA ijs ijs ijs ijs ijs ijs -wgU +bPj rqo -hsD -hsD +lag +lag ngH wIS sLx -oWp -lmN +nCR +nZD eVu eVu sLx -dcB +ume eVu sLx sLx fXp sLx -yiQ +pvP hql cbT sRE -jyk +rET sRE cbT cCM @@ -193276,14 +194733,14 @@ shx shx shx rqo -eEW +uWh bDn ijs -gEx +ckn ijs ijs ijs -cym +lPE qRp qRp qRp @@ -193304,9 +194761,9 @@ xAI xAI jBh cbT -wJO -iCt -ivX +sLQ +oef +rVd cbT cCM cCM @@ -193533,17 +194990,17 @@ mDG mDG mDG efZ -xbP +cnM pxN ijs ijs ijs ijs ijs -vOu +uxD qRp qRp -bMt +bgE ngH lse xAI @@ -193561,9 +195018,9 @@ okO xAI qYY cbT -dlF -dMv -jgz +hSa +eDP +eej cbT kOk kOk @@ -193577,7 +195034,7 @@ kOk mKk qVD lia -rAg +gQY jzz xwu oeF @@ -193790,17 +195247,17 @@ mDG mDG mDG efZ -xbP +cnM ijs ijs ijs ijs ijs ijs -kcn +psw qRp qRp -guL +txI ngH hFA hFA @@ -193818,15 +195275,15 @@ wVX qcT mNC cbT -sHY -pfF -fMh +phz +fbe +vuR cbT omx iwq vVR fVn -plS +gGc ddM vRf cfI @@ -194047,7 +195504,7 @@ mDG mDG mDG rqo -gNE +pzd ijs ijs ijs @@ -194057,7 +195514,7 @@ ijs jcP gtw gtw -rmd +gCL ngH hFA hFA @@ -194304,7 +195761,7 @@ mDG mDG mDG efZ -xbP +cnM aEr ijs ijs @@ -194312,9 +195769,9 @@ ijs ijs ijs jcP -dai +vUw qRp -iyF +oEl ngH hFA qcT @@ -194345,7 +195802,7 @@ uaw bzL fmO sus -gRR +sQp jzz jzz jzz @@ -194561,7 +196018,7 @@ mDG mDG mDG efZ -xbP +cnM lrl ijs ijs @@ -194571,7 +196028,7 @@ ijs jcP qRp qRp -exz +ukq ngH riI qcT @@ -194818,7 +196275,7 @@ vGE bxd vGE rqo -xbP +cnM ijs ijs ijs @@ -194826,7 +196283,7 @@ pID ijs ijs jcP -nek +wKJ cAI smD ngH @@ -194846,9 +196303,9 @@ vFP qcT qcT shi -hvw -tDT -eEp +iUX +kDx +cAc uxI jkz spb @@ -195075,7 +196532,7 @@ hvS saS hvS liY -pRW +ggv ijs pID ijs @@ -195103,7 +196560,7 @@ vFP qcT qcT xsS -eeR +ifs xsS tse iXH @@ -195332,16 +196789,16 @@ vbf vbf ePX eWq -nsx +ggv ijs ijs -gEx -kRv +ckn +iyW ijs efZ mUS -kjQ -orD +jvb +hyv ydi vti qcT @@ -195575,7 +197032,7 @@ slL dcE nlm ydS -hBc +yhY bNX eIz tHd @@ -195586,14 +197043,14 @@ bNX fmV bra eOY -niF -byA -gMP +prv +urg +cMk eTt gkP ijs ijs -ehf +xIS alG efZ akK @@ -195847,12 +197304,12 @@ bxd vGE rqo nhU -ffK +fKm ijs ijs ijs ddh -hYu +sNt sMa uOF uuF @@ -195877,7 +197334,7 @@ twY ulh sNW hnh -gGT +leN fbk shi sus @@ -196103,13 +197560,13 @@ mDG mDG mDG efZ -brf +vji ijs ijs ijs ijs -tcw -mza +joP +efZ mVw vIX ggX @@ -196144,7 +197601,7 @@ sus gzm sus lIA -eur +nTg wKb sZh sZh @@ -196392,7 +197849,7 @@ iLL cYB cYB xsS -gGT +leN shi gzm sus @@ -196617,8 +198074,8 @@ mDG mDG rYB rqo -fYW -euH +pkl +iZs ijs ijs ijs @@ -196875,11 +198332,11 @@ xmq dDL efZ sRP -sBO +kEF ijs ijs ijs -brf +vji efZ xmq nlm @@ -197145,7 +198602,7 @@ qCR hYV aBv nzG -gYB +mVE ngH ngH fhd @@ -197388,11 +198845,11 @@ mDG xmq heR rqo -mVX +mHu ijs ijs -gEx -eYY +ckn +wSE sRP rqo xmq @@ -197409,7 +198866,7 @@ xoh fhd hCg hCg -qpA +kKQ ngH heR nlm @@ -197646,10 +199103,10 @@ xmq dDL efZ sRP -ror +hNV ijs ijs -hGM +hsY sRP efZ xmq @@ -197903,7 +199360,7 @@ xmq dDL efZ sRP -enC +wwk ijs ijs ijs @@ -198163,7 +199620,7 @@ sRP ijs ijs ijs -pwP +oil sRP rqo xmq @@ -198675,8 +200132,8 @@ dDL efZ sRP sRP -kLs -ooE +wDh +fvg sRP sRP efZ diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 39422058960..0675be9a4c2 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -2166,6 +2166,15 @@ dir = 9 }, /obj/effect/turf_decal/trimline/blue/filled/line, +/obj/structure/chair/sofa/bench/left{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, /turf/open/floor/iron/white, /area/station/medical/medbay) "azy" = ( @@ -5137,7 +5146,6 @@ /area/station/command/gateway) "bmw" = ( /obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, /obj/effect/turf_decal/stripes/line{ dir = 8 }, @@ -5153,6 +5161,7 @@ /obj/machinery/door/airlock/medical{ name = "Paramedic Dispatch" }, +/obj/effect/mapping_helpers/airlock/access/all/medical/paramedic, /turf/open/floor/iron, /area/station/medical/paramedic) "bmC" = ( @@ -6531,7 +6540,7 @@ dir = 8 }, /obj/effect/turf_decal/tile/neutral/full, -/turf/open/floor/iron/large, +/turf/open/floor/iron/dark/smooth_large, /area/station/medical/paramedic) "bFe" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -8202,11 +8211,13 @@ /turf/open/floor/iron, /area/station/medical/abandoned) "bYc" = ( -/obj/structure/filingcabinet/chestdrawer, /obj/machinery/status_display/ai/directional/east, /obj/effect/turf_decal/tile/blue{ dir = 4 }, +/obj/machinery/computer/crew{ + dir = 8 + }, /turf/open/floor/iron/white, /area/station/medical/paramedic) "bYe" = ( @@ -9124,15 +9135,16 @@ /turf/open/floor/iron, /area/station/maintenance/port/fore) "ckd" = ( -/obj/structure/chair/sofa/bench/left{ - dir = 8 - }, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 6 }, +/obj/machinery/light/small/directional/south, +/obj/structure/chair/sofa/bench/right{ + dir = 1 + }, /obj/effect/turf_decal/box/corners, /obj/effect/turf_decal/box/corners{ - dir = 8 + dir = 4 }, /turf/open/floor/iron/white, /area/station/medical/medbay) @@ -10079,7 +10091,7 @@ dir = 8 }, /obj/machinery/light/small/directional/west, -/turf/open/floor/iron/white, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "cvu" = ( /obj/structure/disposalpipe/segment, @@ -10129,6 +10141,19 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) +"cvX" = ( +/obj/machinery/door/airlock/medical{ + name = "Medbay Desk" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/turf/open/floor/iron, +/area/station/medical/paramedic) "cwe" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -11787,6 +11812,17 @@ dir = 8 }, /obj/machinery/light/small/directional/south, +/obj/structure/table/glass, +/obj/item/emergency_bed, +/obj/item/emergency_bed{ + pixel_y = 3 + }, +/obj/item/emergency_bed{ + pixel_y = 3 + }, +/obj/item/wheelchair{ + pixel_y = 15 + }, /turf/open/floor/iron/white, /area/station/medical/paramedic) "cSi" = ( @@ -12584,7 +12620,6 @@ }, /obj/machinery/digital_clock/directional/south, /obj/item/mod/module/signlang_radio, -/obj/structure/fireaxecabinet/jawsofrecovery/directional/east, /turf/open/floor/iron, /area/station/medical/storage) "dds" = ( @@ -16001,7 +16036,7 @@ dir = 4 }, /obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "dWd" = ( /obj/structure/cable, @@ -25209,7 +25244,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 1 }, -/turf/open/floor/iron/white, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "gjI" = ( /obj/structure/window/reinforced/spawner/directional/west, @@ -28519,9 +28554,11 @@ /area/station/hallway/secondary/exit) "gXm" = ( /obj/item/kirbyplants/random, -/obj/machinery/firealarm/directional/south, /obj/effect/turf_decal/tile/blue/half/contrasted, -/turf/open/floor/iron/white, +/obj/structure/fireaxecabinet/jawsofrecovery/directional/south{ + pixel_y = -26 + }, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "gXn" = ( /obj/structure/table, @@ -34176,7 +34213,9 @@ dir = 4 }, /obj/machinery/light/small/directional/north, -/turf/open/floor/iron/white, +/obj/item/toy/figure/paramedic, +/obj/item/surgicaldrill, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "ivz" = ( /obj/structure/window/reinforced/spawner/directional/south, @@ -37239,7 +37278,6 @@ /area/station/security/lockers) "jhs" = ( /obj/structure/cable, -/obj/effect/landmark/start/paramedic, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 }, @@ -38195,17 +38233,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) -"jtz" = ( -/obj/structure/chair/sofa/bench{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/medbay) "jtB" = ( /obj/structure/table/wood, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -41212,18 +41239,9 @@ /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) "keH" = ( -/obj/structure/chair/sofa/bench/right{ - dir = 8 - }, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 5 }, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, /turf/open/floor/iron/white, /area/station/medical/medbay) "keO" = ( @@ -46750,6 +46768,17 @@ /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 }, +/obj/structure/reagent_dispensers/water_cooler, +/obj/machinery/button/door/directional/east{ + pixel_y = -4; + id = "paramed_dispatch_desk"; + name = "Desk Shutter Control" + }, +/obj/machinery/button/door/directional/east{ + pixel_y = 6; + name = "Medbay Doors Control"; + id = "MedbayFoyer" + }, /turf/open/floor/iron/white, /area/station/medical/paramedic) "lAs" = ( @@ -46783,7 +46812,6 @@ "lAV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/duct, -/obj/effect/landmark/start/paramedic, /turf/open/floor/iron, /area/station/medical/cryo) "lAW" = ( @@ -52399,22 +52427,6 @@ /turf/open/floor/iron/grimy, /area/station/service/abandoned_gambling_den) "mVr" = ( -/obj/machinery/computer/crew{ - dir = 4 - }, -/obj/machinery/button/door/directional/west{ - id = "MedbayFoyer"; - name = "Medbay Doors Control"; - normaldoorcontrol = 1; - pixel_y = 6; - req_access = list("medical") - }, -/obj/machinery/button/door/directional/west{ - id = "paramed_dispatch_desk"; - name = "Desk Shutter Control"; - pixel_y = -4; - req_access = list("medical") - }, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 8 }, @@ -56768,15 +56780,15 @@ /turf/open/floor/plating, /area/station/hallway/secondary/entry) "odc" = ( -/obj/structure/reagent_dispensers/water_cooler, /obj/machinery/newscaster/directional/south, /obj/machinery/camera/directional/east{ c_tag = "Medbay - Paramedic Dispatch"; name = "medbay camera"; network = list("ss13","medbay") }, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/iron/white, +/obj/machinery/suit_storage_unit/medical, +/obj/effect/turf_decal/bot_red, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "odd" = ( /obj/docking_port/stationary/random{ @@ -60096,7 +60108,7 @@ }, /obj/effect/landmark/start/paramedic, /obj/effect/turf_decal/tile/blue, -/turf/open/floor/iron/white, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "oUM" = ( /obj/effect/decal/cleanable/blood/oil, @@ -65133,13 +65145,11 @@ /turf/open/floor/iron, /area/station/engineering/supermatter/room) "qdT" = ( -/obj/structure/table/wood, -/obj/item/storage/medkit/emergency, -/obj/item/toy/figure/paramedic, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, -/turf/open/floor/iron/white, +/obj/structure/closet/secure_closet/paramedic, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "qdV" = ( /obj/machinery/flasher/directional/south{ @@ -74774,7 +74784,6 @@ /area/station/science/ordnance/office) "sxG" = ( /obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, /obj/effect/turf_decal/stripes/line{ dir = 1 }, @@ -74784,7 +74793,8 @@ /obj/machinery/door/airlock/medical{ name = "Medbay Desk" }, -/turf/open/floor/iron, +/obj/effect/mapping_helpers/airlock/access/all/medical/paramedic, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "sxK" = ( /obj/effect/turf_decal/siding/wood, @@ -80706,7 +80716,6 @@ /obj/machinery/holopad, /obj/effect/turf_decal/bot, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/start/paramedic, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/smooth_large, /area/station/medical/medbay) @@ -80763,7 +80772,6 @@ /obj/effect/turf_decal/tile/red/diagonal_centre, /obj/effect/turf_decal/tile/blue/diagonal_edge, /obj/machinery/duct, -/obj/effect/landmark/start/paramedic, /turf/open/floor/iron/diagonal, /area/station/medical/break_room) "tWD" = ( @@ -81392,7 +81400,7 @@ /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 4 }, -/obj/structure/sign/warning/no_smoking/directional/north, +/obj/machinery/firealarm/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay) "udf" = ( @@ -82142,7 +82150,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 4 }, -/turf/open/floor/iron/white, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "umN" = ( /turf/closed/wall, @@ -83442,7 +83450,8 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, -/turf/open/floor/iron/white, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "uCp" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -84742,12 +84751,17 @@ /area/station/command/bridge) "uQF" = ( /obj/machinery/computer/security/telescreen/entertainment/directional/west, -/obj/effect/turf_decal/bot_red, -/obj/machinery/suit_storage_unit/medical, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 }, /obj/machinery/light/cold/directional/west, +/obj/structure/table/reinforced, +/obj/item/toy/figure/md{ + pixel_y = 4 + }, +/obj/item/reagent_containers/hypospray/medipen{ + pixel_y = -4 + }, /turf/open/floor/iron/textured, /area/station/medical/storage) "uQN" = ( @@ -85741,18 +85755,11 @@ /turf/open/floor/iron, /area/station/hallway/primary/fore) "vfA" = ( -/obj/structure/table/glass, /obj/item/radio/intercom/directional/south, -/obj/item/clipboard, -/obj/item/toy/figure/md{ - pixel_y = 4 - }, -/obj/item/reagent_containers/hypospray/medipen{ - pixel_y = -4 - }, /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/structure/filingcabinet/chestdrawer, /turf/open/floor/iron/white, /area/station/medical/paramedic) "vfN" = ( @@ -91298,7 +91305,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 1 }, -/turf/open/floor/iron/white, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "wAt" = ( /obj/machinery/hydroponics/soil, @@ -94973,9 +94980,8 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, -/obj/effect/landmark/start/medical_doctor, /obj/effect/turf_decal/tile/neutral/full, -/turf/open/floor/iron/large, +/turf/open/floor/iron/dark/smooth_large, /area/station/medical/paramedic) "xxX" = ( /obj/effect/decal/cleanable/dirt, @@ -139405,7 +139411,7 @@ fNm qeB uNY keH -jtz +yfM ckd veM hJn @@ -139662,7 +139668,7 @@ rmo lnz uNY eQC -gQl +cvX eQC gQl ltz @@ -141204,7 +141210,7 @@ xuI uNY uNY gQl -gpq +gQl gQl gQl gQl diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index 3edeff950c8..a50696f669c 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -479,6 +479,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"ajg" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "ajr" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -528,6 +535,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured, /area/station/security/prison/workout) +"ajJ" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "akd" = ( /obj/structure/rack, /obj/item/poster/random_contraband, @@ -975,6 +989,14 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/service/kitchen) +"aoN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/space_heater, +/obj/structure/railing{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/central) "aoO" = ( /obj/structure/table/wood, /obj/effect/turf_decal/tile/bar/opposingcorners, @@ -1416,6 +1438,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) +"ato" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/turf/open/floor/iron/textured, +/area/station/medical/chem_storage) "atv" = ( /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, @@ -2085,12 +2115,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"aCA" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "aCC" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -3231,17 +3255,6 @@ }, /turf/open/floor/plating/icemoon, /area/station/science/ordnance/bomb/planet) -"aTE" = ( -/obj/structure/table/reinforced, -/obj/machinery/light_switch/directional/east, -/obj/machinery/reagentgrinder{ - pixel_y = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/dark/textured_edge{ - dir = 4 - }, -/area/station/medical/chem_storage) "aTH" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 @@ -3891,13 +3904,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"bbO" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/trimline/yellow/filled/end{ - dir = 1 - }, -/turf/open/floor/iron/textured, -/area/station/medical/chem_storage) "bbQ" = ( /obj/structure/chair{ dir = 4 @@ -4300,15 +4306,6 @@ }, /turf/open/floor/plating, /area/mine/production) -"bij" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/medical/treatment_center) "bin" = ( /obj/effect/turf_decal/stripes/asteroid/line{ dir = 4 @@ -4378,6 +4375,15 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"biX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/holopad, +/obj/effect/turf_decal/box/white{ + color = "#52B4E9" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/paramedic) "biY" = ( /turf/closed/wall/r_wall, /area/station/maintenance/port/fore) @@ -5792,6 +5798,10 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"bAt" = ( +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/central) "bAB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6754,6 +6764,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/construction) +"bOl" = ( +/obj/structure/bed/dogbed, +/obj/effect/decal/cleanable/insectguts, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/central) "bOo" = ( /obj/effect/turf_decal/arrows/white{ dir = 4 @@ -7159,6 +7174,17 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) +"bTL" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/obj/machinery/computer/crew, +/obj/machinery/camera/directional/north{ + c_tag = "Medbay Pharmacy"; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "bTM" = ( /obj/structure/closet/crate, /obj/machinery/light/small/directional/south, @@ -9890,6 +9916,9 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/disposal) +"cGV" = ( +/turf/closed/wall, +/area/station/medical/paramedic) "cGZ" = ( /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/stairs/medium{ @@ -10013,6 +10042,15 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/white, /area/station/medical/storage) +"cIY" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Security EVA" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/armory, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/red_alert_access, +/turf/open/floor/iron/smooth, +/area/station/security/brig/upper) "cJb" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm/directional/north, @@ -10784,6 +10822,14 @@ /obj/machinery/status_display/ai/directional/south, /turf/open/floor/iron/dark, /area/station/service/hydroponics) +"cUW" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/computer/records/medical, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "cVk" = ( /obj/item/storage/box/evidence{ pixel_x = -10; @@ -10852,6 +10898,13 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) +"cWP" = ( +/obj/structure/chair/office/light{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "cWX" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -12244,6 +12297,18 @@ }, /turf/open/floor/plating/icemoon, /area/station/science/ordnance/bomb/planet) +"doE" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "doG" = ( /obj/structure/rack, /obj/machinery/light/small/directional/north, @@ -13169,6 +13234,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"dCz" = ( +/obj/structure/rack, +/obj/item/reagent_containers/cup/bottle/carbon{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bottle/ethanol{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bottle/chlorine{ + pixel_x = 1 + }, +/turf/open/floor/iron/dark/textured_edge{ + dir = 8 + }, +/area/station/medical/chem_storage) "dCF" = ( /obj/effect/landmark/start/hangover, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -13308,6 +13390,15 @@ dir = 8 }, /area/station/security/brig/entrance) +"dEp" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "dEv" = ( /obj/machinery/airalarm/directional/south, /turf/open/floor/wood, @@ -13633,6 +13724,17 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"dJc" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/structure/chair/sofa/left/maroon{ + dir = 4 + }, +/obj/effect/landmark/start/paramedic, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "dJd" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 @@ -14074,6 +14176,10 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"dQr" = ( +/obj/structure/closet/crate, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/central) "dQx" = ( /obj/machinery/door/airlock/virology/glass{ name = "Isolation A" @@ -14275,14 +14381,6 @@ /obj/structure/sign/warning/docking/directional/north, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/less_spawns) -"dTW" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "dUe" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -14569,11 +14667,6 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"dXU" = ( -/obj/effect/decal/cleanable/generic, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/central) "dYj" = ( /obj/machinery/airalarm/directional/north, /obj/structure/cable, @@ -15932,11 +16025,6 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"esC" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/central) "esE" = ( /turf/open/floor/engine, /area/station/engineering/supermatter) @@ -16320,6 +16408,17 @@ /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, /area/station/maintenance/fore) +"eyp" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/structure/chair/sofa/right/maroon{ + dir = 4 + }, +/obj/effect/landmark/start/paramedic, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "eyv" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -16576,16 +16675,6 @@ /obj/machinery/duct, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"eDc" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/suit_storage_unit/medical, -/turf/open/floor/iron/dark, -/area/station/medical/storage) "eDg" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -16936,13 +17025,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/entry) -"eHZ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "eId" = ( /obj/structure/railing/corner{ dir = 8 @@ -17104,6 +17186,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"eKX" = ( +/obj/effect/turf_decal/tile/blue/full, +/obj/structure/closet/secure_closet/paramedic, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/paramedic) "eLl" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -17748,10 +17836,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/security/execution/education) -"eUI" = ( -/obj/machinery/space_heater, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/central) "eUK" = ( /obj/structure/table, /obj/item/stack/sheet/iron/fifty{ @@ -18611,6 +18695,16 @@ }, /turf/open/misc/hay/icemoon, /area/icemoon/underground/explored) +"fgW" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/structure/bed/medical/emergency, +/obj/machinery/iv_drip, +/obj/machinery/light/small/directional/west, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "fhb" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -19038,6 +19132,11 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"fmY" = ( +/obj/machinery/computer/crew, +/obj/effect/turf_decal/tile/blue/full, +/turf/open/floor/iron/large, +/area/station/medical/treatment_center) "fng" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -19221,24 +19320,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"fqW" = ( -/obj/structure/rack, -/obj/item/reagent_containers/cup/bottle/carbon{ - pixel_x = 7; - pixel_y = 3 - }, -/obj/item/reagent_containers/cup/bottle/ethanol{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/reagent_containers/cup/bottle/chlorine{ - pixel_x = 1 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/dark/textured_edge{ - dir = 8 - }, -/area/station/medical/chem_storage) "frc" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/decal/cleanable/dirt, @@ -20307,6 +20388,13 @@ dir = 1 }, /area/mine/eva/lower) +"fIq" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "fIs" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 @@ -21491,6 +21579,14 @@ /obj/structure/sign/clock/directional/north, /turf/open/floor/wood, /area/station/commons/vacant_room/office) +"fZP" = ( +/obj/effect/turf_decal/tile/blue/full, +/obj/structure/fireaxecabinet/jawsofrecovery/directional/south, +/obj/structure/table/glass, +/obj/item/surgicaldrill, +/obj/item/toy/figure/paramedic, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/paramedic) "fZV" = ( /obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ @@ -22006,13 +22102,6 @@ "ghx" = ( /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"ghz" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/closet/crate, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/central) "ghD" = ( /obj/effect/turf_decal/tile/green/opposingcorners{ dir = 1 @@ -23724,13 +23813,6 @@ "gFX" = ( /turf/closed/wall, /area/icemoon/underground/explored) -"gGf" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/central) "gGj" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -24418,6 +24500,13 @@ /obj/effect/mapping_helpers/airlock/access/all/service/chapel_office, /turf/open/floor/iron/dark, /area/station/service/chapel/office) +"gRe" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "gRg" = ( /obj/machinery/light/small/directional/north, /obj/structure/window/reinforced/spawner/directional/east, @@ -25531,17 +25620,6 @@ dir = 5 }, /area/station/science/lab) -"hhT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/effect/landmark/start/chemist, -/turf/open/floor/iron/textured, -/area/station/medical/chem_storage) "hig" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -27376,6 +27454,19 @@ }, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) +"hJv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/effect/landmark/start/chemist, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/textured, +/area/station/medical/chem_storage) "hJx" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -27516,6 +27607,24 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/port) +"hMh" = ( +/obj/structure/rack, +/obj/item/reagent_containers/cup/bottle/fluorine{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bottle/epinephrine{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bottle/iodine{ + pixel_x = 1 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/dark/textured_edge{ + dir = 8 + }, +/area/station/medical/chem_storage) "hMr" = ( /obj/effect/landmark/start/chaplain, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -27561,15 +27670,6 @@ dir = 5 }, /area/station/science/lab) -"hMH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/yellow/filled/end{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron/textured, -/area/station/medical/chem_storage) "hMJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -27716,6 +27816,14 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"hOw" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "hOG" = ( /obj/machinery/hydroponics/constructable, /turf/open/floor/grass, @@ -29073,6 +29181,12 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/dark/textured, /area/station/engineering/storage/tech) +"ihq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/south, +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/central) "ihu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -31649,18 +31763,6 @@ }, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) -"iWU" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Security EVA" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/armory, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/red_alert_access, -/turf/open/floor/iron/smooth, -/area/station/security/processing) "iWZ" = ( /obj/effect/decal/cleanable/glass, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -33441,11 +33543,6 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/ai_monitored/command/nuke_storage) -"jxv" = ( -/obj/effect/landmark/start/paramedic, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/storage) "jxw" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating/icemoon, @@ -33617,6 +33714,9 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark, /area/station/cargo/miningdock) +"jAt" = ( +/turf/closed/wall/r_wall, +/area/station/medical/chem_storage) "jAu" = ( /obj/structure/rack, /obj/structure/cable, @@ -34268,6 +34368,15 @@ }, /turf/open/floor/iron/dark/textured_half, /area/station/service/bar/atrium) +"jKu" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + name = "Office Shutters"; + id = "paramedic_shutters" + }, +/turf/open/floor/plating, +/area/station/medical/paramedic) "jKv" = ( /obj/machinery/light/small/directional/south, /obj/effect/turf_decal/stripes/line{ @@ -34605,19 +34714,6 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/hallway/primary/central) -"jOz" = ( -/obj/effect/turf_decal/trimline/blue/end{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/line, -/obj/effect/turf_decal/trimline/blue/end{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/line, -/obj/effect/landmark/start/paramedic, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "jOC" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/machinery/newscaster/directional/north, @@ -36262,6 +36358,15 @@ /obj/effect/spawner/random/contraband/prison, /turf/open/floor/carpet/blue, /area/station/security/prison/work) +"klH" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/obj/structure/tank_holder/extinguisher, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "klW" = ( /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron, @@ -37344,6 +37449,12 @@ dir = 1 }, /area/mine/eva/lower) +"kCb" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/structure/cable, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "kCg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/siding/wood/corner{ @@ -37733,6 +37844,15 @@ "kHr" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos/project) +"kHz" = ( +/obj/effect/turf_decal/trimline/yellow/filled/end{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/textured, +/area/station/medical/chem_storage) "kHI" = ( /obj/item/radio/intercom/directional/south, /obj/effect/turf_decal/tile/blue, @@ -39449,17 +39569,6 @@ /obj/effect/turf_decal/tile/brown/fourcorners, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) -"lfL" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/medical/storage) "lfU" = ( /obj/effect/spawner/random/structure/grille, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40369,14 +40478,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/external, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"ltE" = ( -/obj/structure/closet/crate/freezer, -/obj/item/reagent_containers/blood/random, -/obj/item/reagent_containers/blood/random, -/obj/item/reagent_containers/blood/random, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/central) "ltH" = ( /obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/plating/snowed/smoothed/icemoon, @@ -40417,12 +40518,6 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) -"lup" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "lux" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -40703,6 +40798,14 @@ /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, /turf/open/floor/iron, /area/station/engineering/atmos) +"lxC" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/box/white{ + color = "#52B4E9" + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/treatment_center) "lxR" = ( /obj/effect/spawner/random/structure/crate_abandoned, /turf/open/floor/plating, @@ -41369,17 +41472,6 @@ /obj/structure/sign/warning/directional/north, /turf/open/genturf/blue, /area/icemoon/underground/unexplored/rivers/deep/shoreline) -"lGh" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/warning, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "lGp" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -41832,6 +41924,13 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"lOd" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "lOr" = ( /obj/structure/railing, /obj/structure/stairs/east, @@ -42332,6 +42431,11 @@ }, /turf/open/floor/circuit/green, /area/station/ai_monitored/turret_protected/ai_upload) +"lVg" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "lVk" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end{ dir = 1 @@ -43439,13 +43543,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"mnC" = ( -/obj/structure/grille, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/central) "mnF" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -44676,18 +44773,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/hallway) -"mGs" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/research{ - name = "Chemical Storage" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/medical/pharmacy, -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/cable, -/turf/open/floor/iron/textured, -/area/station/medical/chem_storage) "mGu" = ( /obj/machinery/rnd/server, /obj/structure/lattice/catwalk, @@ -45329,6 +45414,13 @@ /obj/machinery/power/smes/engineering, /turf/open/floor/plating, /area/station/maintenance/department/electrical) +"mSq" = ( +/obj/structure/table/reinforced, +/obj/machinery/reagentgrinder{ + pixel_y = 8 + }, +/turf/open/floor/plating, +/area/station/medical/chem_storage) "mSL" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -46397,17 +46489,6 @@ /obj/structure/mirror/directional/west, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) -"nhw" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk/multiz/down{ - dir = 4 - }, -/obj/structure/tank_holder/extinguisher, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/central) "nhI" = ( /obj/machinery/camera/directional/east{ c_tag = "Research Division Genetics Monkey Pen"; @@ -46883,6 +46964,13 @@ }, /turf/open/floor/plating, /area/station/commons/storage/mining) +"noU" = ( +/obj/effect/turf_decal/tile/blue/full, +/obj/machinery/suit_storage_unit/medical, +/obj/machinery/light/small/directional/south, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/paramedic) "noW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -47674,13 +47762,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"nzs" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/computer/crew, -/obj/effect/turf_decal/tile/blue/full, -/turf/open/floor/iron/large, -/area/station/medical/treatment_center) "nzy" = ( /obj/machinery/computer/atmos_control/mix_tank{ dir = 8 @@ -48315,6 +48396,18 @@ dir = 1 }, /area/station/security/lockers) +"nGV" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/machinery/button/door/directional/east{ + pixel_y = 0; + id = "paramedic_shutters"; + name = "Shutters button"; + pixel_x = 23 + }, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "nGY" = ( /obj/structure/railing/corner{ dir = 4 @@ -48691,13 +48784,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) -"nMN" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Chemistry Access Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/chemistry, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/central) "nMP" = ( /obj/structure/chair/pew{ dir = 1 @@ -48787,6 +48873,16 @@ /obj/structure/chair/stool/directional/east, /turf/open/floor/iron/dark, /area/station/medical/virology) +"nNH" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/vending/wardrobe/medi_wardrobe, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/medical/storage) "nNM" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -50084,9 +50180,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"ohp" = ( -/turf/open/floor/glass, -/area/station/maintenance/department/medical/central) "oht" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -50138,6 +50231,17 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/medical/chemistry) +"oid" = ( +/obj/vehicle/ridden/wheelchair{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/end{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/window/spawner/directional/north, +/turf/open/floor/iron, +/area/station/medical/medbay/aft) "oie" = ( /obj/effect/turf_decal/bot, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -50455,6 +50559,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet/black, /area/station/security/prison/safe) +"olY" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Security EVA" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/armory, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/red_alert_access, +/turf/open/floor/iron/smooth, +/area/station/security/processing) "omg" = ( /obj/effect/spawner/random/clothing/wardrobe_closet_colored, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -50897,6 +51013,20 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"orz" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/warning, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/light/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "orE" = ( /obj/structure/table/reinforced, /obj/item/reagent_containers/cup/beaker/large{ @@ -51107,13 +51237,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/mine/eva) -"oul" = ( -/obj/machinery/holopad, -/obj/effect/turf_decal/box/white{ - color = "#52B4E9" - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/treatment_center) "ouq" = ( /obj/structure/chair/plastic{ dir = 8 @@ -53056,6 +53179,20 @@ /obj/machinery/duct, /turf/open/floor/iron/kitchen/diagonal, /area/station/service/kitchen) +"oUF" = ( +/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ + color = "#ff0000"; + dir = 4; + name = "Scrubbers multi deck pipe adapter" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/tank_holder/extinguisher, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/central) "oUL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -53409,10 +53546,6 @@ dir = 4 }, /area/station/security/prison) -"pao" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/central) "par" = ( /obj/structure/toilet/greyscale, /obj/machinery/airalarm/directional/east, @@ -54133,19 +54266,6 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"pjF" = ( -/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ - color = "#ff0000"; - dir = 4; - name = "Scrubbers multi deck pipe adapter" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/central) "pjN" = ( /obj/structure/table/glass, /obj/effect/spawner/random/entertainment/deck{ @@ -54176,17 +54296,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) -"pkf" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/structure/bed/medical/emergency, -/obj/machinery/iv_drip, -/obj/machinery/light/small/directional/west, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/machinery/status_display/ai/directional/west, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "pkg" = ( /obj/effect/turf_decal/tile/purple/anticorner/contrasted{ dir = 8 @@ -54219,11 +54328,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/virology) -"pkN" = ( -/obj/structure/railing, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/central) "pkP" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /obj/machinery/light/directional/south, @@ -54480,6 +54584,16 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"poM" = ( +/obj/effect/mapping_helpers/airlock/access/all/medical/pharmacy, +/obj/machinery/door/airlock/research{ + name = "Chemical Storage" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/turf/open/floor/plating, +/area/station/medical/chem_storage) "poO" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/machinery/portable_atmospherics/canister/oxygen, @@ -54494,6 +54608,16 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/fore/lesser) +"ppk" = ( +/obj/structure/table/reinforced, +/obj/item/storage/box/beakers{ + pixel_y = 7 + }, +/obj/item/assembly/igniter{ + pixel_y = -3 + }, +/turf/open/floor/plating, +/area/station/medical/chem_storage) "ppl" = ( /obj/machinery/light/small/directional/west, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -56085,6 +56209,16 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) +"pLC" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk/multiz/down{ + dir = 4 + }, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/central) "pLS" = ( /obj/machinery/mineral/stacking_machine{ output_dir = 2; @@ -56333,14 +56467,6 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai_upload) -"pPO" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "pPR" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -56578,6 +56704,15 @@ }, /turf/open/floor/iron/dark, /area/station/service/hydroponics) +"pTs" = ( +/obj/effect/turf_decal/trimline/yellow/filled/end{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/textured, +/area/station/medical/chem_storage) "pTy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -57280,6 +57415,16 @@ /obj/machinery/plumbing/sender, /turf/open/floor/plating, /area/station/medical/chemistry) +"qcU" = ( +/obj/effect/mapping_helpers/airlock/access/all/medical/paramedic, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/medical/glass, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue/full, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "qdl" = ( /obj/machinery/light/small/directional/east, /obj/effect/decal/cleanable/dirt, @@ -57387,6 +57532,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/textured, /area/station/service/hydroponics) +"qet" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_edge{ + dir = 4 + }, +/area/station/medical/chem_storage) "qeF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -57447,20 +57600,6 @@ dir = 8 }, /area/station/commons/storage/mining) -"qfb" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/structure/closet/secure_closet/medical3, -/obj/item/defibrillator/loaded{ - pixel_y = 3 - }, -/obj/item/clothing/gloves/latex/nitrile, -/obj/item/clothing/gloves/latex/nitrile, -/obj/machinery/light/cold/directional/north, -/obj/structure/fireaxecabinet/jawsofrecovery/directional/north, -/turf/open/floor/iron/dark, -/area/station/medical/storage) "qfh" = ( /turf/open/floor/iron/recharge_floor, /area/station/science/robotics/mechbay) @@ -63766,18 +63905,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"rUQ" = ( -/obj/structure/table/reinforced, -/obj/item/storage/box/beakers{ - pixel_y = 7 - }, -/obj/item/assembly/igniter{ - pixel_y = -3 - }, -/turf/open/floor/iron/dark/textured_edge{ - dir = 4 - }, -/area/station/medical/chem_storage) "rUR" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/machinery/door/airlock/external{ @@ -63989,13 +64116,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron/smooth, /area/station/security/execution/transfer) -"rWW" = ( -/obj/machinery/vending/wardrobe/medi_wardrobe, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/storage) "rWZ" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/white/line{ @@ -64555,24 +64675,6 @@ /obj/structure/cable, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) -"sfd" = ( -/obj/structure/rack, -/obj/item/reagent_containers/cup/bottle/fluorine{ - pixel_x = 7; - pixel_y = 3 - }, -/obj/item/reagent_containers/cup/bottle/epinephrine{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/reagent_containers/cup/bottle/iodine{ - pixel_x = 1 - }, -/obj/structure/sign/warning/chem_diamond/directional/west, -/turf/open/floor/iron/dark/textured_edge{ - dir = 8 - }, -/area/station/medical/chem_storage) "sfr" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, @@ -64883,6 +64985,16 @@ /obj/effect/turf_decal/weather/snow/corner, /turf/open/misc/hay/icemoon, /area/icemoon/underground/explored) +"sku" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/end{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/storage) "skx" = ( /obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ dir = 4 @@ -66868,6 +66980,14 @@ }, /turf/open/floor/iron/dark/corner, /area/station/security/processing) +"sLs" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/textured, +/area/station/medical/chem_storage) "sLD" = ( /obj/structure/table/reinforced, /obj/item/stack/sheet/iron/fifty, @@ -68835,6 +68955,16 @@ /obj/effect/turf_decal/siding/yellow, /turf/open/floor/iron, /area/station/engineering/storage) +"tor" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/warning, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "toG" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 @@ -70038,6 +70168,18 @@ "tHr" = ( /turf/closed/wall/r_wall, /area/station/medical/treatment_center) +"tHu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/textured, +/area/station/medical/chem_storage) "tHv" = ( /obj/effect/turf_decal/trimline/blue/filled/warning, /turf/open/floor/iron/white, @@ -71101,13 +71243,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"tXc" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/landmark/start/paramedic, -/obj/structure/cable, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "tXh" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -72723,15 +72858,6 @@ }, /turf/open/floor/plating, /area/station/service/hydroponics) -"uvB" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Security EVA" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/armory, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/red_alert_access, -/turf/open/floor/iron/smooth, -/area/station/security/brig/upper) "uvC" = ( /obj/structure/disposalpipe/trunk{ dir = 1 @@ -72884,6 +73010,15 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) +"uxQ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "uyi" = ( /obj/item/chair/stool{ pixel_y = 0; @@ -73027,6 +73162,12 @@ /obj/effect/mapping_helpers/airlock/access/all/service/bar, /turf/open/floor/iron/dark/textured_half, /area/station/service/bar/backroom) +"uzA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "uzB" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -73034,15 +73175,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"uzJ" = ( -/obj/effect/turf_decal/siding/yellow/end{ - dir = 8 - }, -/obj/machinery/plumbing/receiver, -/obj/item/radio/intercom/directional/west, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plating, -/area/station/medical/treatment_center) "uzM" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 1 @@ -73617,10 +73749,6 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/medical/chemistry) -"uIM" = ( -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/central) "uIQ" = ( /obj/structure/table, /obj/item/stack/sheet/glass, @@ -74928,15 +75056,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) -"veU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "vfe" = ( /obj/machinery/atmospherics/components/unary/passive_vent, /obj/effect/turf_decal/stripes/line{ @@ -75253,12 +75372,6 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/iron/smooth, /area/station/maintenance/fore/lesser) -"vkD" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "vkF" = ( /obj/effect/turf_decal/tile/brown{ dir = 8 @@ -75300,6 +75413,16 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"vlz" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "vlE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -75525,16 +75648,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white/textured_half, /area/station/service/kitchen) -"vnN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/turf/open/floor/iron/textured, -/area/station/medical/chem_storage) "vnW" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ @@ -76031,6 +76144,15 @@ dir = 1 }, /area/station/security/evidence) +"vvI" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/end, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/iron/textured, +/area/station/medical/chem_storage) "vvJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, @@ -76991,6 +77113,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"vJd" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured, +/area/station/medical/treatment_center) "vJk" = ( /obj/machinery/atmospherics/components/binary/valve{ dir = 4 @@ -77189,13 +77321,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark, /area/station/service/chapel) -"vND" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/warning, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "vNI" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/closed/wall/r_wall, @@ -77260,6 +77385,13 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/service/janitor) +"vPr" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "vPt" = ( /obj/structure/closet/secure_closet/freezer/meat/all_access, /turf/open/floor/iron/showroomfloor, @@ -78260,6 +78392,14 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) +"wfz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/line, +/turf/open/floor/iron/white, +/area/station/medical/storage) "wfE" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -78720,6 +78860,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/command/bridge) +"wnf" = ( +/obj/machinery/light/directional/east, +/turf/open/floor/iron/dark/textured_edge{ + dir = 4 + }, +/area/station/medical/chem_storage) "wnm" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/table/reinforced, @@ -78887,15 +79033,6 @@ /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"wpZ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/end, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/turf/open/floor/iron/textured, -/area/station/medical/chem_storage) "wqn" = ( /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 8 @@ -79012,6 +79149,15 @@ /obj/structure/railing/corner/end, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"wsn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "wsp" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ dir = 1 @@ -80811,6 +80957,18 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/dark, /area/station/security/checkpoint/engineering) +"wTE" = ( +/obj/effect/turf_decal/trimline/blue/end{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/line, +/obj/effect/turf_decal/trimline/blue/end{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/line, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "wTL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -81001,18 +81159,6 @@ }, /turf/open/floor/iron, /area/station/command/teleporter) -"wVw" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/structure/sign/departments/chemistry/directional/west, -/obj/machinery/light/cold/directional/west, -/turf/open/floor/iron/dark, -/area/station/medical/treatment_center) "wVD" = ( /obj/machinery/newscaster/directional/south, /obj/effect/turf_decal/tile/neutral/half/contrasted, @@ -81194,18 +81340,6 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"wZu" = ( -/obj/vehicle/ridden/wheelchair{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/end{ - dir = 1 - }, -/obj/item/radio/intercom/directional/west, -/obj/structure/disposalpipe/segment, -/obj/structure/window/spawner/directional/north, -/turf/open/floor/iron, -/area/station/medical/medbay/aft) "wZD" = ( /obj/machinery/computer/records/security{ dir = 1 @@ -81385,6 +81519,15 @@ dir = 8 }, /area/station/security/prison/workout) +"xbx" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/light/cold/directional/west, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/trimline/blue/filled/line, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "xby" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/hollow/reinforced/middle, @@ -82381,6 +82524,19 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"xoe" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/structure/closet/secure_closet/medical3, +/obj/item/defibrillator/loaded{ + pixel_y = 3 + }, +/obj/item/clothing/gloves/latex/nitrile, +/obj/item/clothing/gloves/latex/nitrile, +/obj/machinery/light/cold/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/storage) "xow" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/machinery/firealarm/directional/west, @@ -84327,6 +84483,15 @@ /obj/structure/closet/secure_closet/freezer/fridge/all_access, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/mess) +"xQq" = ( +/obj/effect/turf_decal/siding/yellow/end{ + dir = 8 + }, +/obj/machinery/plumbing/receiver, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/sign/warning/chem_diamond/directional/west, +/turf/open/floor/plating, +/area/station/medical/treatment_center) "xQs" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 @@ -85106,14 +85271,6 @@ "ybv" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/ai_upload) -"yby" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/bed/dogbed, -/obj/effect/decal/cleanable/insectguts, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/central) "ybC" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 9 @@ -248206,7 +248363,7 @@ bqx xQG ykw mfH -uvB +cIY mfH mfH lHL @@ -248975,7 +249132,7 @@ wbG kkl dhU xQG -iWU +olY hQi rRM mFQ @@ -249544,8 +249701,8 @@ hHu tZZ mfW mfW +mfW oyY -aVw gxq aVw vBh @@ -249801,8 +249958,8 @@ iuv iuv iuv iuv -uJN iuv +uJN iuv iuv iuv @@ -250058,8 +250215,8 @@ dnq apb dnq bep -srw dnq +srw dnq ivo ikC @@ -250312,11 +250469,11 @@ azw mao azw azw -vTc -vTc -vTc -vTc -vTc +cGV +jKu +jKu +jKu +cGV cvS cvS cvS @@ -250327,7 +250484,7 @@ cvS cvS cvS abU -kRP +cvS uiI qzF gDp @@ -250569,24 +250726,24 @@ jqE kZb cJk azw -xxi -fqW -sfd -nCb -kWL -cvS -pjF -nhw +klH +dJc +eyp +vlz +eKX cvS +oUF +pLC +uhH aMh kNA mOo jPh ljD azf -kRP -kRP -kRP +cGA +cGA +cvS gDp boQ lgW @@ -250826,24 +250983,24 @@ rEp fTC blU azw -bbO -hhT -vnN -pQp -wpZ +cUW +cWP +biX +uzA +fZP cvS ril eHe -uhH -mnC -cvS -caZ -caZ -uIM -cGA -yby +vTc +vTc +vTc +vTc +vTc +vTc +vTc +bOl vnY -kRP +cvS sqN kRP rKv @@ -251083,24 +251240,24 @@ feU fTC qEj azw -rUQ -orE -aTE -hMH -yiK +bTL +gRe +nGV +uxQ +noU cvS dDC gXm +vTc +xxi +dCz +hMh +nCb +kWL +vTc +hnd +ihq cvS -cvS -cvS -ohp -ohp -ohp -ohp -gGf -pNq -kRP udL kRP bIa @@ -251343,21 +251500,21 @@ azw azw azw azw -mGs -vTc +qcU +cGV cvS kSn vEN -cvS -ltE -pkN -ohp -ohp -ohp -ohp +vTc +kHz +hJv +tHu +pQp +vvI +vTc +pNq +bAt pNq -dXU -kRP gDp kRP qjb @@ -251600,21 +251757,21 @@ goa biR dmI tdE -veU -pkf +wsn +fgW kRP kRP rWH -kRP -pao -cGA -ohp -ohp -ohp -ohp -ghz +jAt +qet +orE +wnf +ato +yiK +vTc +dQr ktB -kRP +aoN gDp kRP qGC @@ -251862,13 +252019,13 @@ fKi tHr rRA soK -kRP -nMN -kRP -kRP -kwX -lBS -kRP +jAt +poM +jAt +jAt +sLs +ppk +jAt kRP kRP kRP @@ -252119,13 +252276,13 @@ tZm pBA aQZ uNq -dTW -vND -uzJ -kRP -esC -eUI -kRP +fIq +tor +xQq +jAt +pTs +mSq +jAt qyR qyR kRP @@ -252377,12 +252534,12 @@ pZB whh pQL nCV -lGh +orz txo -kRP -kRP -kRP -kRP +jAt +jAt +jAt +jAt wCI qyR kRP @@ -252891,7 +253048,7 @@ qfi sEK eHg ahL -wVw +xbx xyy whU bYK @@ -253146,9 +253303,9 @@ sFG lwQ kmG cyo -lup -lup -aCA +juw +nji +ajJ jDn nbC qZv @@ -253405,7 +253562,7 @@ efK juw nji tkf -ikz +ajg vyW tHr pBA @@ -253657,12 +253814,12 @@ hgh kBL xPT cxA -bij -vkD -cey -lux -eHZ -lux +vJd +lOd +lVg +vPr +hOw +doE fUL qyO evp @@ -253919,7 +254076,7 @@ nMu wDe hxs uEr -nzs +fmY iuD qAf gHq @@ -254421,7 +254578,7 @@ qEM lso ioE mJM -jOz +wTE dEg hmx hgh @@ -254701,7 +254858,7 @@ tHv mPv cIU mlR -rWW +sku atb gvX uOg @@ -254941,14 +255098,14 @@ mjI fCM dIL hDq -tXc +kCb lwQ gkX oeW aTZ fle pyu -oul +lxC wRG rsR svq @@ -254958,7 +255115,7 @@ upO tQc vSY ubq -lfL +wfz xLW iPz kyY @@ -255462,21 +255619,21 @@ rDa mrB jQD slc -wZu +oid xza qjF -pPO +dEp qOj iyK uzr qQp qQp -qfb +xoe rZm sOO lRD gbP -jxv +xdl wPX cvS cvS @@ -255734,7 +255891,7 @@ fog lkH upd xdl -eDc +nNH hRA cKF sIJ diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index e910d6ac3eb..69762c9f047 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -63,6 +63,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"abz" = ( +/obj/effect/turf_decal/siding/blue/inner_corner{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/medical, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/sign/clock/directional/north, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/paramedic) "abI" = ( /obj/structure/chair/stool/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -126,6 +135,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/main) +"acu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/door/airlock/medical/glass{ + name = "Cryogenics Bay" + }, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "acB" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/carpet, @@ -229,6 +248,17 @@ }, /turf/open/floor/iron, /area/station/engineering/main) +"aew" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "afj" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -621,6 +651,12 @@ }, /turf/open/floor/iron, /area/station/cargo/lobby) +"alw" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "aly" = ( /obj/item/cultivator, /obj/item/hatchet, @@ -712,6 +748,12 @@ /obj/effect/turf_decal/tile/green/anticorner/contrasted, /turf/open/floor/iron, /area/station/security/courtroom) +"amq" = ( +/obj/machinery/duct, +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/random/engineering/tracking_beacon, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "amy" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -1072,22 +1114,6 @@ /obj/item/storage/box/lights/mixed, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"avb" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/holopad, -/obj/effect/turf_decal/box/white{ - color = "#52B4E9" - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 1 - }, -/turf/open/floor/iron/white/smooth_half, -/area/station/medical/cryo) "avc" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/camera/directional/east{ @@ -2141,6 +2167,12 @@ /obj/item/clothing/mask/muzzle, /turf/open/floor/iron/dark, /area/station/security/holding_cell) +"aNw" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "aNB" = ( /obj/machinery/camera/directional/east{ c_tag = "Atmospherics Tank - Mix" @@ -2909,14 +2941,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"bax" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, -/area/station/medical/office) "baE" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance/two, @@ -3227,22 +3251,6 @@ /obj/machinery/light/small/dim/directional/west, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"bgS" = ( -/obj/machinery/firealarm/directional/north, -/obj/machinery/camera/directional/west{ - c_tag = "Medbay Clinic"; - network = list("ss13","medbay") - }, -/obj/item/radio/intercom/directional/west, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 1 - }, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "bgV" = ( /obj/structure/chair{ dir = 4 @@ -3500,6 +3508,18 @@ }, /turf/open/floor/plating, /area/station/medical/treatment_center) +"bkT" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/cryo) "bkZ" = ( /obj/structure/filingcabinet, /obj/machinery/light/small/directional/south, @@ -3596,14 +3616,6 @@ /obj/structure/transit_tube/diagonal, /turf/open/space/basic, /area/space/nearstation) -"bnr" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/structure/chair/sofa/corp/right{ - dir = 1 - }, -/obj/machinery/light_switch/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/office) "bnx" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -4719,6 +4731,19 @@ /obj/effect/spawner/random/structure/crate_loot, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"bGp" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/line, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "bGu" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/spawner/random/structure/crate, @@ -4744,6 +4769,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"bGT" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/machinery/computer/records/medical/laptop, +/turf/open/floor/iron/dark, +/area/station/medical/break_room) "bHb" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -4797,6 +4830,13 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"bIg" = ( +/obj/effect/spawner/structure/window, +/obj/structure/curtain/cloth{ + color = "#52B4E9" + }, +/turf/open/floor/plating, +/area/station/medical/paramedic) "bIi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -5096,9 +5136,6 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) -"bMY" = ( -/turf/closed/wall, -/area/station/medical/office) "bNa" = ( /obj/machinery/shower/directional/west, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -5405,20 +5442,6 @@ }, /turf/open/floor/iron, /area/station/commons/lounge) -"bTm" = ( -/obj/structure/table/reinforced, -/obj/item/wheelchair{ - pixel_y = -3 - }, -/obj/item/wheelchair, -/obj/item/wheelchair{ - pixel_y = 3 - }, -/obj/structure/window/spawner/directional/north, -/obj/structure/window/spawner/directional/west, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/dark, -/area/station/medical/office) "bTq" = ( /obj/machinery/camera/motion/directional/south{ c_tag = "AI Upload Chamber - Port"; @@ -5668,18 +5691,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/service/library) -"bXX" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "bYm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, @@ -6360,6 +6371,17 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) +"cnG" = ( +/obj/effect/turf_decal/siding/white, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/computer/crew{ + dir = 1 + }, +/turf/open/floor/iron/white/side{ + dir = 1 + }, +/area/station/medical/treatment_center) "cnK" = ( /turf/closed/wall, /area/station/engineering/main) @@ -6455,13 +6477,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"cpR" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/break_room) "cpU" = ( /obj/structure/girder, /obj/effect/spawner/random/structure/grille, @@ -7051,13 +7066,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4, /turf/open/floor/iron, /area/station/security/brig) -"cxt" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/white, -/area/station/medical/office) "cxw" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/showcase/machinery/cloning_pod{ @@ -8049,6 +8057,14 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) +"cQZ" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "cRq" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -8383,13 +8399,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/chapel) -"cXz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/office) "cXH" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 @@ -8628,9 +8637,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"dca" = ( -/turf/open/floor/iron/white, -/area/station/medical/office) "dct" = ( /obj/machinery/computer/atmos_control/mix_tank{ dir = 1 @@ -9270,6 +9276,12 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"dnn" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "dno" = ( /turf/open/floor/iron/white, /area/station/medical/virology) @@ -10623,14 +10635,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/prison/safe) -"dMN" = ( -/obj/effect/landmark/start/paramedic, -/obj/effect/turf_decal/loading_area/white{ - color = "#52B4E9"; - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/medical/storage) "dMO" = ( /obj/structure/extinguisher_cabinet/directional/east, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -10706,18 +10710,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"dOz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/cryo) "dOA" = ( /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /obj/effect/turf_decal/siding/purple, @@ -10777,6 +10769,19 @@ }, /turf/open/floor/iron/dark, /area/station/security/evidence) +"dPU" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/line, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "dPV" = ( /obj/machinery/porta_turret/ai, /turf/open/floor/iron/dark, @@ -11917,13 +11922,6 @@ }, /turf/open/floor/plating, /area/station/security/execution/education) -"ehE" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/obj/machinery/photocopier/prebuilt, -/turf/open/floor/iron/white, -/area/station/medical/office) "ehG" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/effect/decal/cleanable/blood/old, @@ -14044,11 +14042,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/engineering/break_room) -"eRc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/effect/turf_decal/trimline/blue/filled/line, -/turf/open/floor/iron/white, -/area/station/medical/cryo) "eRd" = ( /obj/machinery/light/directional/north, /obj/structure/disposalpipe/trunk, @@ -14076,11 +14069,6 @@ /obj/item/multitool, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) -"eRX" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/structure/cable, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/office) "eSa" = ( /obj/item/wrench, /obj/structure/cable, @@ -15727,6 +15715,12 @@ /obj/structure/sign/warning/pods, /turf/closed/wall, /area/station/commons/locker) +"ftS" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "fuc" = ( /obj/structure/frame/machine{ anchored = 1 @@ -16176,13 +16170,6 @@ /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"fFi" = ( -/obj/machinery/computer/crew{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/dark, -/area/station/medical/office) "fFo" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -16206,6 +16193,9 @@ /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /turf/open/floor/plating, /area/station/maintenance/port) +"fFw" = ( +/turf/closed/wall, +/area/station/medical/cryo) "fFA" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -17103,18 +17093,6 @@ /obj/effect/turf_decal/tile/red/anticorner/contrasted, /turf/open/floor/iron, /area/station/security/office) -"fYc" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance{ - name = "Medical Freezer Maintenance" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "fYg" = ( /obj/machinery/computer/mechpad{ dir = 8 @@ -17404,16 +17382,21 @@ "gdb" = ( /turf/closed/wall/r_wall, /area/station/security/range) -"gdp" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, +"gdC" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 }, +/obj/machinery/holopad, +/obj/effect/turf_decal/box/white{ + color = "#52B4E9" + }, /obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ dir = 1 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, /turf/open/floor/iron/white/smooth_half, /area/station/medical/cryo) "gdF" = ( @@ -17583,12 +17566,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal) -"ghc" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/office) "ghk" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -18240,22 +18217,6 @@ "gtb" = ( /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"gtd" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 1 - }, -/obj/machinery/duct, -/turf/open/floor/iron/white/smooth_half, -/area/station/medical/cryo) "gtm" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -18730,6 +18691,15 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/wood, /area/station/service/theater) +"gBg" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "gBo" = ( /obj/effect/spawner/random/structure/grille, /obj/machinery/atmospherics/pipe/layer_manifold/cyan/hidden{ @@ -18758,6 +18728,15 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/plating, /area/station/commons/fitness/recreation) +"gCd" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/red/filled/warning{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "gCy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/window/reinforced/spawner/directional/east, @@ -18806,17 +18785,6 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"gDh" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "gDq" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, /obj/machinery/atmospherics/pipe/smart/simple/purple/visible, @@ -19872,12 +19840,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"gVn" = ( -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/turf/open/floor/iron/dark, -/area/station/medical/office) "gVx" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -19911,6 +19873,11 @@ /obj/effect/turf_decal/siding/purple, /turf/open/floor/iron/white, /area/station/science/research) +"gVT" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/port) "gWc" = ( /obj/machinery/computer/prisoner/gulag_teleporter_computer{ dir = 8 @@ -20473,14 +20440,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) -"hfi" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "hft" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -20713,6 +20672,13 @@ }, /turf/open/floor/plating, /area/station/security/execution/transfer) +"hjP" = ( +/obj/structure/fireaxecabinet/jawsofrecovery/directional/east, +/obj/structure/table/glass, +/obj/item/surgicaldrill, +/obj/item/toy/figure/paramedic, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/paramedic) "hjS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20883,6 +20849,14 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/engineering/break_room) +"hmj" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "hml" = ( /obj/effect/turf_decal/box/red, /obj/effect/turf_decal/arrows/red{ @@ -20957,6 +20931,9 @@ /obj/structure/mecha_wreckage/ripley, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"hnx" = ( +/turf/closed/wall, +/area/station/medical/paramedic) "hnG" = ( /obj/machinery/door/poddoor{ id = "Secure Storage"; @@ -21062,6 +21039,16 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/medical/abandoned) +"hqh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/radio/intercom/directional/west, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "hqr" = ( /obj/machinery/atmospherics/pipe/smart/simple/supply/visible{ dir = 10 @@ -21978,6 +21965,15 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"hGb" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "hGi" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -23325,6 +23321,22 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/storage/primary) +"ifw" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/turf/open/floor/iron/white/smooth_half, +/area/station/medical/cryo) "ifE" = ( /obj/structure/cable, /obj/effect/spawner/random/engineering/tracking_beacon, @@ -23492,6 +23504,18 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/plating, /area/station/maintenance/fore) +"iif" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/cryo) "iio" = ( /obj/machinery/door/airlock/command{ name = "Research Director's Office" @@ -24087,10 +24111,6 @@ /obj/structure/window/spawner/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"irL" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/turf/open/floor/iron/white, -/area/station/medical/office) "irQ" = ( /obj/structure/mop_bucket, /obj/item/mop, @@ -24146,13 +24166,6 @@ }, /turf/open/floor/plating, /area/station/engineering/atmospherics_engine) -"isu" = ( -/obj/effect/landmark/start/paramedic, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "isA" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -25112,6 +25125,12 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/security/brig) +"iKM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "iKT" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -25367,6 +25386,18 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/wood/parquet, /area/station/medical/psychology) +"iNt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "iNB" = ( /obj/machinery/firealarm/directional/east, /obj/structure/table/glass, @@ -25509,12 +25540,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal) -"iPM" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/office) "iPT" = ( /obj/machinery/light/floor, /turf/open/floor/wood, @@ -25810,6 +25835,11 @@ "iUv" = ( /turf/closed/wall/r_wall, /area/station/security/prison) +"iUJ" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/station/maintenance/port) "iVi" = ( /obj/machinery/door/airlock{ id_tag = "Cabin6"; @@ -25905,13 +25935,6 @@ /obj/structure/rack/skeletal, /turf/open/floor/engine/cult, /area/station/service/library) -"iWD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/turf/open/floor/iron/white, -/area/station/medical/office) "iWJ" = ( /obj/effect/turf_decal/stripes/corner, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -26467,13 +26490,6 @@ /obj/effect/landmark/navigate_destination, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"jfr" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/office) "jfB" = ( /obj/machinery/door/airlock/external{ name = "Mining Dock Airlock" @@ -26670,6 +26686,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/service/chapel) +"jiz" = ( +/obj/structure/chair/office/light, +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/effect/landmark/start/paramedic, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/paramedic) "jiI" = ( /obj/machinery/camera/directional/west{ c_tag = "Bridge - Port" @@ -26764,6 +26788,15 @@ }, /turf/open/floor/iron, /area/station/security/office) +"jkk" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/station/maintenance/port) "jku" = ( /obj/effect/turf_decal/bot{ dir = 1 @@ -27515,6 +27548,13 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"jwM" = ( +/obj/effect/turf_decal/trimline/red/filled/corner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "jwP" = ( /obj/structure/table, /obj/item/paper_bin, @@ -28438,6 +28478,15 @@ }, /turf/open/floor/iron/diagonal, /area/station/cargo/storage) +"jMf" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/machinery/door/airlock/medical/glass{ + name = "Paramedic Dispatch Room" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "jMo" = ( /obj/structure/chair/stool/directional/north, /turf/open/floor/iron, @@ -30717,6 +30766,15 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"kAP" = ( +/obj/machinery/duct, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/machinery/light/floor, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/trimline/blue/filled/line, +/turf/open/floor/iron/white, +/area/station/medical/cryo) "kAT" = ( /obj/effect/landmark/start/head_of_security, /obj/structure/chair/comfy/black, @@ -31163,6 +31221,16 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/checkpoint/supply) +"kJs" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/holopad, +/obj/effect/turf_decal/box/white{ + color = "#52B4E9" + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/medbay/central) "kJx" = ( /obj/structure/chair/office, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -31491,18 +31559,6 @@ /obj/machinery/telecomms/broadcaster/preset_right, /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) -"kOh" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/glass{ - name = "Medbay Security Post" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/obj/effect/turf_decal/tile/red/fourcorners, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) "kOu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -31630,6 +31686,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"kQN" = ( +/obj/machinery/status_display/evac/directional/south, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/camera/directional/south{ + c_tag = "Central Primary Hallway - Aft-Port Corner" + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "kQO" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /mob/living/basic/sloth/citrus, @@ -31691,11 +31755,6 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"kRA" = ( -/obj/effect/spawner/random/engineering/atmospherics_portable, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/port) "kRV" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -32363,6 +32422,14 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/white, /area/station/security/prison/mess) +"ldw" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 6 + }, +/obj/structure/table/glass, +/obj/machinery/fax, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "ldJ" = ( /obj/machinery/light/directional/north, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -32714,6 +32781,12 @@ }, /turf/open/floor/iron/solarpanel/airless, /area/station/solars/port/aft) +"llm" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "lln" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -34280,6 +34353,13 @@ /obj/effect/spawner/random/trash/caution_sign, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"lQP" = ( +/obj/effect/turf_decal/loading_area/white{ + color = "#52B4E9"; + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/storage) "lRA" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -34407,6 +34487,14 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white/side, /area/station/medical/treatment_center) +"lTS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "lUj" = ( /obj/structure/table, /obj/item/book/manual/wiki/security_space_law{ @@ -35378,6 +35466,17 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"mmx" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/structure/table/glass, +/obj/item/clothing/glasses/blindfold, +/obj/item/clothing/glasses/blindfold, +/obj/item/clothing/ears/earmuffs, +/obj/item/clothing/ears/earmuffs, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "mmA" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/machinery/camera/directional/south{ @@ -35451,15 +35550,6 @@ /obj/effect/mapping_helpers/airlock/access/any/security/general, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"mna" = ( -/obj/structure/chair/office/light{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/medical/office) "mnj" = ( /obj/structure/extinguisher_cabinet/directional/south, /obj/effect/turf_decal/trimline/brown/warning{ @@ -35832,15 +35922,6 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"mtj" = ( -/obj/machinery/medical_kiosk, -/obj/effect/turf_decal/siding/white, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white/side{ - dir = 1 - }, -/area/station/medical/treatment_center) "mtu" = ( /turf/open/floor/engine, /area/station/science/xenobiology) @@ -35984,13 +36065,6 @@ "mvR" = ( /turf/closed/wall/r_wall, /area/station/science/lab) -"mvY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/blue/filled/line, -/turf/open/floor/iron/white, -/area/station/medical/office) "mvZ" = ( /obj/machinery/light/directional/south, /obj/structure/rack, @@ -36199,6 +36273,15 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/visit) +"mzV" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "mAb" = ( /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, @@ -36392,6 +36475,13 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/commons/dorms) +"mCS" = ( +/obj/structure/sign/poster/official/soft_cap_pop_art/directional/north, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/break_room) "mCZ" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 9 @@ -38417,6 +38507,16 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"nmh" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "nmm" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ @@ -39091,14 +39191,6 @@ }, /turf/open/floor/plating, /area/station/cargo/sorting) -"nur" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/turf/open/floor/iron/white, -/area/station/medical/office) "nuB" = ( /obj/structure/secure_safe/directional/south, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -39645,15 +39737,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"nDT" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "nDW" = ( /obj/machinery/door/airlock/external, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -40452,6 +40535,19 @@ }, /turf/open/floor/iron/dark, /area/station/security/lockers) +"nUW" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/machinery/holopad, +/obj/effect/turf_decal/box/white{ + color = "#52B4E9" + }, +/obj/effect/landmark/start/paramedic, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 4 + }, +/area/station/medical/paramedic) "nVq" = ( /obj/structure/disposalpipe/segment, /obj/effect/spawner/random/maintenance, @@ -40947,16 +41043,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white, /area/station/security/prison) -"odu" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Cryogenics Bay" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white, -/area/station/medical/office) "odI" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ @@ -41535,13 +41621,6 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) -"oqi" = ( -/obj/effect/landmark/start/paramedic, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "oqk" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -41868,15 +41947,6 @@ /obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden, /turf/closed/wall/r_wall, /area/station/maintenance/disposal/incinerator) -"owf" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Medbay Staff Entrance" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white, -/area/station/medical/office) "owi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/holopad, @@ -42856,10 +42926,6 @@ /obj/effect/turf_decal/tile/yellow/full, /turf/open/floor/iron/white/smooth_large, /area/station/medical/chemistry) -"oNP" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/medical/office) "oNR" = ( /obj/effect/turf_decal/bot_white, /obj/effect/spawner/random/maintenance, @@ -43023,6 +43089,12 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/iron, /area/station/science/xenobiology) +"oQY" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "oQZ" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=1.5-Fore-Central"; @@ -43085,6 +43157,18 @@ /obj/effect/turf_decal/tile/brown/opposingcorners, /turf/open/floor/iron, /area/station/cargo/storage) +"oRP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "oRR" = ( /obj/machinery/camera/directional/east{ c_tag = "Outer Vault"; @@ -43376,16 +43460,6 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/fore) -"oYp" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/holopad, -/obj/effect/turf_decal/box/white{ - color = "#52B4E9" - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/office) "oYr" = ( /obj/structure/railing{ dir = 1 @@ -43533,6 +43607,11 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"paY" = ( +/obj/effect/turf_decal/siding/blue/inner_corner, +/obj/structure/closet/secure_closet/paramedic, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/paramedic) "pbb" = ( /obj/structure/table, /obj/machinery/microwave, @@ -43733,6 +43812,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) +"pev" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance{ + name = "Medical Freezer Maintenance" + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/turf/open/floor/plating, +/area/station/medical/cryo) "peF" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral{ @@ -43958,14 +44049,6 @@ /obj/item/clothing/under/misc/assistantformal, /turf/open/floor/wood, /area/station/commons/dorms) -"piJ" = ( -/obj/machinery/suit_storage_unit/medical, -/obj/effect/turf_decal/bot_red, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/medical/storage) "piM" = ( /obj/structure/rack, /obj/item/clothing/under/color/red, @@ -44423,6 +44506,18 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"pqj" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner, +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/machinery/camera/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "pqt" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 @@ -45036,6 +45131,14 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/dark/textured, /area/station/medical/cryo) +"pBD" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/obj/machinery/firealarm/directional/north, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "pBG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -45058,17 +45161,6 @@ }, /turf/open/floor/iron, /area/station/security/office) -"pBN" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/structure/chair/sofa/corp/left{ - dir = 1 - }, -/obj/machinery/airalarm/directional/south, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron/white, -/area/station/medical/office) "pCh" = ( /obj/machinery/camera/directional/east{ c_tag = "Prison Laundry"; @@ -45409,6 +45501,22 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"pHL" = ( +/obj/machinery/firealarm/directional/north, +/obj/machinery/camera/directional/west{ + c_tag = "Medbay Clinic"; + network = list("ss13","medbay") + }, +/obj/item/radio/intercom/directional/west, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/disposal/bin/tagger, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "pHS" = ( /obj/structure/light_construct/directional/east, /turf/open/floor/wood, @@ -46150,16 +46258,6 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/science/xenobiology/hallway) -"pUM" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding/white/corner, -/obj/machinery/firealarm/directional/north, -/obj/item/clipboard, -/obj/item/paper, -/obj/item/pen, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/dark, -/area/station/medical/office) "pUS" = ( /obj/item/paper_bin{ pixel_x = -3; @@ -46297,6 +46395,15 @@ /obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only, /turf/open/floor/plating, /area/station/maintenance/solars/port/fore) +"pXe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "pXh" = ( /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/dark, @@ -46352,12 +46459,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"pYw" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/office) "pYE" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -48026,6 +48127,23 @@ /obj/machinery/status_display/ai/directional/east, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) +"qDt" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 1 + }, +/obj/machinery/duct, +/obj/structure/cable, +/turf/open/floor/iron/white/smooth_half, +/area/station/medical/cryo) "qDy" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -48063,6 +48181,16 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"qDZ" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/effect/mapping_helpers/airlock/access/all/medical/paramedic, +/obj/effect/mapping_helpers/airlock/unres, +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay Staff Entrance" + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "qEb" = ( /obj/structure/chair/pew/right, /turf/open/floor/iron/chapel, @@ -48100,6 +48228,16 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"qEL" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/maintenance, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/unres, +/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/port) "qFo" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -48109,6 +48247,14 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/commons/lounge) +"qFE" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "qFP" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -48576,16 +48722,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"qNi" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/canister/anesthetic_mix, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) "qNk" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -48969,10 +49105,6 @@ "qSh" = ( /turf/closed/wall/r_wall, /area/station/maintenance/solars/starboard/fore) -"qSk" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, -/turf/closed/wall, -/area/station/maintenance/port) "qSp" = ( /obj/structure/rack, /obj/item/flashlight, @@ -49132,6 +49264,16 @@ /obj/effect/turf_decal/tile/purple/anticorner/contrasted, /turf/open/floor/iron/white, /area/station/science/robotics/lab) +"qTW" = ( +/obj/effect/turf_decal/stripes/end{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/anesthetic_mix, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/cryo) "qTX" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/firealarm/directional/south, @@ -49377,6 +49519,10 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/research) +"qYy" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/medbay/central) "qYC" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -50080,15 +50226,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/engineering/main) -"rlw" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, -/area/station/medical/office) "rlU" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/command/nuke_storage) @@ -50096,6 +50233,17 @@ /obj/structure/table, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) +"rmm" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/anesthetic_mix, +/obj/machinery/light_switch/directional/east, +/obj/effect/turf_decal/stripes/end{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/cryo) "rmF" = ( /obj/machinery/door/airlock/maintenance{ name = "Law Office Maintenance" @@ -50156,18 +50304,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/lockers) -"rne" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - name = "Paramedic Dispatch Room" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white, -/area/station/medical/office) "rnf" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/effect/turf_decal/stripes/line{ @@ -50671,13 +50807,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port) -"rvq" = ( -/obj/machinery/computer/records/medical{ - dir = 4 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/iron/dark, -/area/station/medical/office) "rvx" = ( /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /turf/open/floor/engine/n2o, @@ -50869,6 +50998,15 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"ryb" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/computer/records/medical{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/storage) "ryd" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -51052,6 +51190,17 @@ }, /turf/open/floor/plating, /area/station/science/ordnance/testlab) +"rBt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/corner, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/cryo) "rBB" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 1 @@ -51193,14 +51342,6 @@ /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/floor/iron, /area/station/commons/storage/tools) -"rEt" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "rEz" = ( /obj/machinery/light/directional/east, /obj/machinery/firealarm/directional/east, @@ -52109,14 +52250,6 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) -"rUL" = ( -/obj/structure/sign/poster/official/soft_cap_pop_art/directional/north, -/obj/effect/landmark/start/paramedic, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/break_room) "rUO" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line, @@ -52205,6 +52338,13 @@ /obj/machinery/portable_atmospherics/canister/nitrogen, /turf/open/floor/engine/n2, /area/station/engineering/atmos) +"rWp" = ( +/obj/machinery/computer/records/medical{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/paramedic) "rWH" = ( /obj/machinery/door/window/left/directional/south{ name = "HoP's Desk"; @@ -52758,13 +52898,6 @@ "sfA" = ( /turf/open/floor/carpet, /area/station/medical/psychology) -"sfF" = ( -/obj/machinery/duct, -/obj/effect/turf_decal/trimline/blue/filled/end, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, -/area/station/medical/cryo) "sfK" = ( /obj/structure/closet{ name = "evidence closet 1" @@ -53267,6 +53400,15 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"spV" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 + }, +/obj/machinery/photocopier/prebuilt, +/obj/machinery/camera/directional/north, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "sqt" = ( /obj/machinery/disposal/delivery_chute{ dir = 1; @@ -53473,11 +53615,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"svp" = ( -/obj/effect/landmark/start/paramedic, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/medbay/central) "svI" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -53615,6 +53752,18 @@ }, /turf/open/floor/iron/dark, /area/station/maintenance/port/aft) +"syj" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/door/airlock/medical/glass{ + name = "Paramedic Dispatch Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "syo" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/captain/private) @@ -54295,6 +54444,12 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron, /area/station/security/brig) +"sKx" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/port) "sKy" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -54429,6 +54584,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) +"sMr" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Medbay Security Post" + }, +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) "sMB" = ( /obj/machinery/door/window/brigdoor/security/cell/left/directional/south{ id = "Cell 1"; @@ -54850,16 +55016,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) -"sSn" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/maintenance, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/unres, -/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "sSo" = ( /obj/effect/landmark/start/station_engineer, /turf/open/floor/iron, @@ -55561,6 +55717,14 @@ dir = 4 }, /area/station/service/chapel) +"teJ" = ( +/obj/machinery/computer/crew{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west, +/obj/machinery/camera/directional/south, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/paramedic) "teY" = ( /obj/machinery/light/directional/east, /obj/machinery/camera/autoname/directional/east, @@ -57622,13 +57786,6 @@ }, /turf/open/floor/circuit/green/off, /area/station/science/research) -"tPb" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, -/area/station/medical/office) "tPd" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -59198,6 +59355,10 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) +"urD" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, +/turf/closed/wall, +/area/station/medical/cryo) "urE" = ( /obj/machinery/power/port_gen/pacman/pre_loaded, /turf/open/floor/plating, @@ -60037,18 +60198,6 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/iron, /area/station/cargo/storage) -"uET" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "uEW" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -60655,6 +60804,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port) +"uOI" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/paramedic) "uOX" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -60669,19 +60825,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"uPi" = ( -/obj/machinery/duct, -/obj/effect/turf_decal/trimline/blue/filled/corner, -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 8 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/machinery/light/floor, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/white, -/area/station/medical/cryo) "uPp" = ( /obj/effect/spawner/random/structure/chair_maintenance{ dir = 4 @@ -61174,13 +61317,6 @@ "uYp" = ( /turf/closed/wall, /area/station/medical/break_room) -"uYD" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port) "uYE" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 @@ -61530,6 +61666,13 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) +"veV" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "vfa" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 1 @@ -61909,19 +62052,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"vks" = ( -/obj/structure/table/reinforced, -/obj/item/emergency_bed, -/obj/item/emergency_bed{ - pixel_y = 3 - }, -/obj/item/emergency_bed{ - pixel_y = 6 - }, -/obj/structure/window/spawner/directional/west, -/obj/structure/fireaxecabinet/jawsofrecovery/directional/east, -/turf/open/floor/iron/dark, -/area/station/medical/office) "vkD" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -62726,17 +62856,6 @@ /obj/effect/turf_decal/tile/purple/opposingcorners, /turf/open/floor/iron, /area/station/science/research) -"vxW" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/canister/anesthetic_mix, -/obj/machinery/light_switch/directional/south, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) "vye" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, @@ -63017,12 +63136,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/research, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"vDz" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/office) "vDV" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -63327,14 +63440,6 @@ /obj/machinery/space_heater, /turf/open/floor/iron/checker, /area/station/maintenance/aft/lesser) -"vIn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 1 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/white, -/area/station/medical/office) "vIz" = ( /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ dir = 8 @@ -63493,13 +63598,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"vLf" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/obj/effect/landmark/start/paramedic, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "vLi" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, @@ -64492,23 +64590,6 @@ /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"waF" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Central Primary Hallway - Aft-Port Corner" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/blue/filled/corner, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/status_display/evac/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "waH" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -65797,6 +65878,13 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/secondary/command) +"wxl" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "wxn" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -66656,12 +66744,6 @@ /obj/item/mop, /turf/open/floor/iron, /area/station/service/janitor) -"wOz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/office) "wOB" = ( /obj/machinery/vending/wardrobe/engi_wardrobe, /obj/effect/turf_decal/delivery, @@ -67202,18 +67284,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/security/courtroom) -"wYe" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "wYl" = ( /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, @@ -68662,11 +68732,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"xxk" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) "xxF" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -69838,13 +69903,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"xST" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/radio/intercom/directional/west, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "xTg" = ( /obj/structure/chair/comfy{ dir = 4 @@ -70236,6 +70294,12 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/station/security/courtroom) +"xZs" = ( +/obj/effect/spawner/random/structure/closet_maintenance, +/obj/effect/spawner/random/maintenance/three, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/station/maintenance/port) "xZu" = ( /obj/structure/sink/kitchen/directional/east{ desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; @@ -70283,6 +70347,15 @@ /obj/machinery/monkey_recycler, /turf/open/floor/iron, /area/station/science/xenobiology) +"yau" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/paramedic) "yaA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -70802,21 +70875,6 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/medical/chemistry) -"yim" = ( -/obj/structure/table, -/obj/machinery/camera/directional/north{ - c_tag = "Medbay Paramedic Dispatch"; - name = "medical camera"; - network = list("ss13","medical") - }, -/obj/machinery/fax{ - fax_name = "Medical"; - name = "Medical Fax Machine" - }, -/obj/structure/noticeboard/directional/north, -/obj/structure/sign/clock/directional/west, -/turf/open/floor/iron/dark, -/area/station/medical/office) "yiJ" = ( /obj/structure/chair/sofa/right/brown, /obj/item/toy/plush/moth{ @@ -70911,24 +70969,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"ylf" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/right/directional/west{ - name = "First Aid Supplies"; - req_access = list("medical") - }, -/obj/item/clothing/glasses/blindfold{ - pixel_y = 3 - }, -/obj/item/clothing/glasses/blindfold, -/obj/item/clothing/ears/earmuffs{ - pixel_y = 3 - }, -/obj/item/clothing/ears/earmuffs, -/obj/item/clothing/glasses/eyepatch, -/obj/item/clothing/suit/jacket/straight_jacket, -/turf/open/floor/iron/dark, -/area/station/medical/office) "ylt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -89882,8 +89922,8 @@ pOa pOa pOa aDl -pOa -kRA +ayH +gVT jUb xYq dqN @@ -90142,8 +90182,8 @@ uOH ubp tTF jUb -dqN -qKs +iBf +mWW jUb jUb mqz @@ -90397,10 +90437,10 @@ bCr pOa bAA pOa -vZE +pOa +jUb +jUb jUb -iBf -mWW jUb kpB dIK @@ -90653,13 +90693,13 @@ lIa xjC pOa uOH -pOa -pOa -jUb -jUb -jUb -jUb -hfi +sKx +qEL +alw +lYG +uiM +nVq +dIK jUb jUb sSp @@ -90910,14 +90950,14 @@ kwX nZq pOa iar -uYD -sSn -nDT -lYG -uiM -nVq -dIK -jUb +jkk +fFw +fFw +fFw +pev +fFw +fFw +sSp kpi stZ tuC @@ -91167,14 +91207,14 @@ utt wLu pOa uAM -vZE -pOa -jUb -jUb -fYc -jUb -jUb -jUb +iUJ +fFw +mpV +izs +iif +gvd +grm +sSp ina drE vfa @@ -91186,7 +91226,7 @@ wDq hgu vun kcZ -dMN +lQP ejg ehX jei @@ -91424,13 +91464,13 @@ pEH pEH pOa shl -cIW -pOa -mpV -izs -dOz -gvd -grm +xZs +fFw +xYM +jFF +qDt +aSe +jeL sSp wvP wUQ @@ -91682,12 +91722,12 @@ knK sQx kir vXH -pOa -xYM -jFF -gtd -aSe -jeL +urD +pBs +lgC +gdC +kAP +qTW jxc tuC iMv @@ -91939,17 +91979,17 @@ sVY pOa sQY nPt -qSk -pBs -lgC -avb -uPi -sfF +fFw +hCy +jkT +ifw +rBt +bkT wsv hcU -isu +amq ekk -mtj +cnG buN lTR bHE @@ -92196,12 +92236,12 @@ sVY vXH sQY tWq -pOa -hCy -jkT -gdp -eRc -qNi +fFw +ubP +jqQ +mbV +hEA +rmm jxc gNT oah @@ -92224,7 +92264,7 @@ fiH nMf uYp uYp -rUL +mCS ujH gKO uYp @@ -92453,12 +92493,12 @@ sVY clp etn ayH -pOa -ubP -jqQ -mbV -hEA -vxW +hnx +hnx +bIg +acu +bIg +hnx sSp jFB bHE @@ -92474,7 +92514,7 @@ wIF wWs fOu fBJ -piJ +ryb rvb nsD tFr @@ -92482,7 +92522,7 @@ nMf gLJ uYp kbB -cpR +bGT jHQ uYp yiJ @@ -92710,12 +92750,12 @@ sVY pOa qZn pOa -pOa -bMY -oNP -odu -oNP -bMY +hnx +abz +paY +veV +yau +teJ sSp sAv pSl @@ -92735,7 +92775,7 @@ opD vun gQG tFr -oqi +nMf sDJ uYp pCl @@ -92964,15 +93004,15 @@ sVY sVY sVY sVY -xxk +oQY ahr -bMY -yim -rvq -fFi -iWD -vDz -pBN +dYa +hnx +pBD +nUW +pXe +jiz +rWp sSp iwj ppG @@ -93222,14 +93262,14 @@ jWg tKu bBA txz -wYe -bMY -pUM -mna -gVn -cXz -dca -bnr +dPU +dYa +jMf +hmj +cQZ +hGb +uOI +hjP sSp sSp sSp @@ -93479,18 +93519,18 @@ gUt gUt dvZ qQm -waF -bMY -bMY -nur -jfr -vIn -pYw -irL -oNP -rEt -xST -pLz +bGp +kQN +hnx +hnx +bIg +syj +bIg +hnx +fEK +lTS +hqh +dpI dpI ttE ttE @@ -93738,14 +93778,14 @@ vVV htd tAG gDv -oNP -iPM -eRX -oYp -wOz -mvY -rne -bXX +qDZ +llm +ftS +mzV +ftS +ftS +qFE +aew iFi eUW iFi @@ -93993,16 +94033,16 @@ tOh tOh nNY hPM -xAb -dYa -owf -iPM -tPb -bax -ghc -cxt -oNP -gDh +nmh +wxl +duu +gBg +xxU +kJs +iKM +jwM +pqj +oRP tFr nmQ ije @@ -94252,14 +94292,14 @@ iun htd xAb nvI -oNP -ehE -rlw -bTm -ylf -vks -bMY -uET +fEK +spV +gCd +aNw +mmx +ldw +fEK +iNt iZF qyr pKP @@ -94511,7 +94551,7 @@ aum qPJ qPJ qPJ -kOh +sMr qPJ qPJ qPJ @@ -94772,7 +94812,7 @@ jJd dQL tWQ qPJ -bgS +pHL taO dlH jsP @@ -94798,7 +94838,7 @@ iqz vZF xCR kiz -svp +qYy fxW mkO tyy @@ -96311,7 +96351,7 @@ lYL mTk asm kqm -vLf +dnn kXD kWO rvE diff --git a/_maps/map_files/NebulaStation/NebulaStation.dmm b/_maps/map_files/NebulaStation/NebulaStation.dmm index e4851944078..cce2405ec5b 100644 --- a/_maps/map_files/NebulaStation/NebulaStation.dmm +++ b/_maps/map_files/NebulaStation/NebulaStation.dmm @@ -700,7 +700,6 @@ pixel_x = 7; pixel_y = 18 }, -/obj/machinery/firealarm/directional/west, /turf/open/floor/wood/parquet, /area/station/medical/psychology) "aft" = ( @@ -10035,20 +10034,20 @@ /turf/open/floor/grass, /area/station/command/heads_quarters/hos) "bAD" = ( -/obj/structure/bed/pod{ - desc = "An old medical bed, just waiting for replacement with something up to date."; - name = "medical bed" - }, -/obj/item/bedsheet/medical, -/obj/effect/turf_decal/siding{ - dir = 6 - }, /obj/machinery/camera/directional/east{ c_tag = "Padded Cell"; network = list("ss13","medbay") }, -/turf/open/floor/iron/white/small, -/area/station/medical/patients_rooms) +/obj/structure/chair/sofa/corp/left{ + dir = 8 + }, +/obj/item/radio/intercom/directional/east, +/obj/effect/landmark/start/paramedic, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "bAI" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 @@ -11460,6 +11459,15 @@ "bKj" = ( /turf/closed/wall, /area/station/commons/fitness/recreation) +"bKl" = ( +/obj/effect/turf_decal/box/white{ + color = "#52B4E9" + }, +/obj/structure/bed/medical, +/obj/machinery/iv_drip, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/white/textured, +/area/station/medical/medbay/central) "bKq" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/spawner/random/trash/janitor_supplies, @@ -13126,6 +13134,21 @@ /obj/effect/turf_decal/delivery/white, /turf/open/floor/iron/dark, /area/station/service/chapel/funeral) +"bXc" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/structure/table/glass, +/obj/item/folder/white{ + pixel_x = 2; + pixel_y = 1 + }, +/obj/item/flashlight/lamp{ + pixel_y = -1; + pixel_x = -9 + }, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "bXe" = ( /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 9 @@ -13203,12 +13226,14 @@ /turf/open/floor/iron/dark/small, /area/station/engineering/main) "bXP" = ( -/obj/machinery/door/airlock/medical{ - name = "Padded Cell"; - id_tag = "padded" +/obj/effect/turf_decal/siding/blue{ + dir = 8 }, -/turf/open/floor/iron/white/herringbone, -/area/station/medical/patients_rooms) +/obj/effect/turf_decal/siding/blue{ + dir = 4 + }, +/turf/open/floor/iron/dark/herringbone, +/area/station/medical/paramedic) "bXQ" = ( /obj/effect/mapping_helpers/broken_floor, /obj/item/clothing/suit/caution{ @@ -14352,7 +14377,7 @@ /obj/machinery/digital_clock/directional/west, /obj/machinery/light/small/directional/west, /turf/open/floor/plating, -/area/station/medical/patients_rooms) +/area/station/maintenance/department/cargo) "chn" = ( /obj/effect/turf_decal/siding/thinplating_new/dark, /obj/effect/turf_decal/tile/neutral, @@ -19435,15 +19460,6 @@ dir = 4 }, /area/station/security/brig/lower) -"cTV" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "cTY" = ( /obj/effect/turf_decal/siding/white/corner{ dir = 1 @@ -20796,9 +20812,8 @@ /obj/effect/turf_decal/siding/wood{ dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/parquet, /area/station/medical/psychology) "deI" = ( @@ -22169,6 +22184,21 @@ dir = 8 }, /area/station/hallway/secondary/exit/departure_lounge) +"dov" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "medbay"; + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/warning, +/obj/effect/turf_decal/trimline/blue/warning{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/textured, +/area/station/medical/medbay/lobby) "doy" = ( /turf/closed/wall, /area/station/security/prison/workout) @@ -26171,10 +26201,10 @@ }, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment{ dir = 6 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/small, /area/station/medical/medbay/lobby) "dTY" = ( @@ -30781,10 +30811,6 @@ req_access = list("medical"); pixel_x = -27 }, -/obj/item/toy/figure/paramedic{ - pixel_y = 16; - pixel_x = -1 - }, /obj/machinery/light_switch/directional/west{ pixel_y = -6 }, @@ -35065,6 +35091,16 @@ /obj/structure/flora/rock/pile/jungle/style_random, /turf/open/floor/engine/hull/reinforced, /area/space/nearstation) +"fiB" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/structure/chair/sofa/corp/right{ + dir = 8 + }, +/obj/effect/landmark/start/paramedic, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "fiD" = ( /obj/machinery/door/airlock/maintenance{ name = "Library Maintenance" @@ -35165,15 +35201,14 @@ /turf/open/floor/iron/dark, /area/station/commons/storage/primary) "fjq" = ( -/obj/effect/turf_decal/siding{ - dir = 5 +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 }, -/obj/structure/toilet{ - pixel_y = 8 +/obj/structure/chair/sofa/corp{ + dir = 8 }, -/obj/machinery/digital_clock/directional/north, -/turf/open/floor/iron/white/small, -/area/station/medical/patients_rooms) +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "fjv" = ( /obj/effect/turf_decal/siding, /obj/effect/turf_decal/trimline/blue/filled/warning, @@ -36503,6 +36538,7 @@ /turf/open/floor/plating, /area/station/maintenance/port/central) "fuU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/carpet, /area/station/medical/psychology) "fuV" = ( @@ -37203,6 +37239,19 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/white, /area/station/science/lobby) +"fzH" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/flora/grass/jungle/a/style_random, +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/structure/flora/bush/flowers_br/style_random, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/curtain/cloth{ + color = "#52B4E9" + }, +/turf/open/floor/grass, +/area/station/medical/paramedic) "fzL" = ( /obj/structure/lattice/catwalk, /turf/open/space/openspace, @@ -40107,13 +40156,6 @@ /obj/machinery/suit_storage_unit/engine, /turf/open/floor/iron/dark/textured, /area/station/engineering/engine_smes) -"fVk" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "fVl" = ( /obj/structure/chair/sofa/bench/left{ dir = 1 @@ -40774,7 +40816,7 @@ /obj/structure/broken_flooring/side/directional/north, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, -/area/station/medical/patients_rooms) +/area/station/maintenance/department/cargo) "gaL" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -40925,17 +40967,13 @@ /turf/open/floor/iron/dark/textured, /area/station/security/brig/lower) "gbV" = ( -/obj/machinery/power/apc/auto_name/directional/west, /obj/structure/table/glass, /obj/machinery/computer/records/medical/laptop, /obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 + dir = 4 }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white, -/area/station/medical/patients_rooms) +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "gbW" = ( /obj/structure/bookcase/random/fiction, /turf/open/floor/wood/large, @@ -42421,17 +42459,16 @@ /turf/open/floor/iron/dark, /area/station/science/ordnance) "gmk" = ( -/obj/effect/turf_decal/siding{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/blue{ dir = 8 }, -/obj/effect/turf_decal/siding/corner, -/obj/effect/turf_decal/siding/corner{ +/obj/effect/turf_decal/siding/blue{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white/herringbone, -/area/station/medical/patients_rooms) +/obj/structure/cable, +/turf/open/floor/iron/dark/herringbone, +/area/station/medical/paramedic) "gml" = ( /obj/structure/table/reinforced/rglass, /obj/item/pai_card{ @@ -42792,6 +42829,8 @@ dir = 4 }, /obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/parquet, /area/station/medical/psychology) "goM" = ( @@ -43102,7 +43141,7 @@ /obj/structure/cable, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, -/area/station/medical/patients_rooms) +/area/station/maintenance/department/cargo) "gro" = ( /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 8 @@ -43662,7 +43701,6 @@ }, /obj/structure/railing, /obj/effect/turf_decal/siding/thinplating_new/dark, -/obj/structure/fireaxecabinet/jawsofrecovery/directional/east, /turf/open/floor/iron/dark, /area/station/medical/storage) "gwJ" = ( @@ -46180,17 +46218,20 @@ /turf/open/floor/iron/dark, /area/station/science/xenobiology) "gPo" = ( -/obj/effect/turf_decal/siding{ - dir = 4 - }, -/obj/effect/turf_decal/siding{ +/obj/effect/turf_decal/siding/blue{ dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +/obj/effect/turf_decal/siding/blue{ + dir = 4 }, -/turf/open/floor/iron/white/herringbone, -/area/station/medical/patients_rooms) +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/holopad, +/obj/effect/turf_decal/box/white{ + color = "#52B4E9" + }, +/turf/open/floor/iron/dark/herringbone, +/area/station/medical/paramedic) "gPr" = ( /obj/machinery/holopad{ pixel_x = 1 @@ -48737,8 +48778,6 @@ "hiq" = ( /obj/effect/turf_decal/tile/blue/fourcorners, /obj/effect/landmark/navigate_destination/med, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white/small, /area/station/medical/medbay/lobby) @@ -48965,18 +49004,17 @@ /turf/open/floor/iron/white/small, /area/station/commons/toilet/shower) "hjE" = ( -/obj/effect/turf_decal/siding{ - dir = 1 - }, -/obj/effect/turf_decal/siding, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment{ dir = 9 }, -/turf/open/floor/iron/white/herringbone, -/area/station/medical/patients_rooms) +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "hjG" = ( /obj/machinery/door/airlock/research/glass/incinerator/ordmix_exterior{ name = "Burn Chamber Exterior Airlock" @@ -52400,8 +52438,7 @@ /obj/effect/turf_decal/siding/wood/corner{ dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/filingcabinet/white, /turf/open/floor/wood/parquet, /area/station/medical/psychology) "hMf" = ( @@ -53567,7 +53604,7 @@ /obj/item/emergency_bed, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, -/area/station/medical/patients_rooms) +/area/station/maintenance/department/cargo) "hTB" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 8 @@ -54660,7 +54697,7 @@ /area/station/maintenance/port/aft) "icj" = ( /turf/closed/wall, -/area/station/medical/office) +/area/station/medical/paramedic) "icp" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -56606,6 +56643,8 @@ dir = 4 }, /obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/small, /area/station/medical/medbay/lobby) "irw" = ( @@ -63799,6 +63838,7 @@ dir = 1 }, /obj/structure/hedge, +/obj/machinery/digital_clock/directional/north, /turf/open/floor/iron/white, /area/station/hallway/primary/fore) "jxc" = ( @@ -64107,6 +64147,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) +"jzp" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/maintenance{ + name = "Medbay Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/paramedic, +/turf/open/floor/plating, +/area/station/maintenance/department/cargo) "jzs" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/structure/cable, @@ -64938,6 +64987,8 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/psychology, /obj/structure/cable, /obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/psychology) "jEa" = ( @@ -66616,14 +66667,15 @@ }, /area/station/security/lockers) "jQI" = ( -/obj/effect/turf_decal/siding, -/obj/effect/turf_decal/siding{ - dir = 1 +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white/herringbone, -/area/station/medical/patients_rooms) +/obj/structure/fireaxecabinet/jawsofrecovery/directional/east, +/obj/effect/turf_decal/trimline/blue/tram{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "jQK" = ( /obj/effect/turf_decal/siding/brown{ dir = 4 @@ -67249,13 +67301,13 @@ /area/station/science/cytology) "jWh" = ( /obj/structure/table/reinforced/rglass, -/obj/machinery/fax{ - fax_name = "Research Director's Office"; - name = "Research Director's Fax Machine" - }, /obj/item/folder/blue, /obj/item/clothing/neck/stethoscope, /obj/item/clothing/glasses/hud/health, +/obj/machinery/fax{ + fax_name = "Chief Medical Officer's Office"; + name = "Chief Medical Officer's Fax Machine" + }, /turf/open/floor/carpet/blue, /area/station/command/heads_quarters/cmo) "jWj" = ( @@ -71291,12 +71343,18 @@ /area/station/engineering/atmos/project) "kyd" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 + dir = 8 }, -/obj/item/kirbyplants/random, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/patients_rooms) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/obj/structure/sign/clock/directional/east, +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "kye" = ( /obj/structure/flora/rock/pile/jungle/large/style_random, /obj/effect/decal/cleanable/dirt, @@ -73034,17 +73092,9 @@ /turf/open/floor/iron/dark/textured, /area/station/commons/dorms) "kJX" = ( -/obj/structure/sink/directional/east, -/obj/structure/mirror/directional/west, -/obj/effect/turf_decal/siding{ - dir = 10 - }, -/mob/living/basic/mouse/brown{ - dir = 4; - name = "Jerry" - }, -/turf/open/floor/iron/white/small, -/area/station/medical/patients_rooms) +/obj/effect/turf_decal/siding/blue/end, +/turf/open/floor/iron/dark/herringbone, +/area/station/medical/paramedic) "kKb" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -73361,6 +73411,13 @@ color = "#3d3e42" }, /area/station/security/prison) +"kMY" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "kMZ" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 1 @@ -78354,8 +78411,9 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/effect/mapping_helpers/airlock/access/all/medical/paramedic, /turf/open/floor/iron/white, -/area/station/medical/patients_rooms) +/area/station/medical/paramedic) "lBS" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, @@ -80959,7 +81017,6 @@ dir = 8 }, /obj/effect/landmark/start/hangover, -/obj/machinery/firealarm/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) "lYN" = ( @@ -81467,7 +81524,6 @@ dir = 1 }, /obj/machinery/duct, -/obj/effect/landmark/start/paramedic, /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white/smooth_large, /area/station/medical/treatment_center) @@ -85260,6 +85316,13 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) +"mHR" = ( +/obj/effect/spawner/structure/window, +/obj/structure/curtain/cloth{ + color = "#52B4E9" + }, +/turf/open/floor/plating, +/area/station/medical/paramedic) "mHT" = ( /turf/closed/wall/r_wall, /area/station/security/prison/safe) @@ -86879,6 +86942,7 @@ page_link = "Psychologist"; name = "Brain System" }, +/obj/machinery/firealarm/directional/west, /turf/open/floor/wood/parquet, /area/station/medical/psychology) "mTg" = ( @@ -87096,23 +87160,6 @@ "mUP" = ( /turf/closed/wall, /area/station/service/minibar) -"mUT" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "medbay"; - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/warning, -/turf/open/floor/iron/dark/textured, -/area/station/medical/medbay/lobby) "mUW" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -92395,7 +92442,7 @@ /area/space/nearstation) "nMh" = ( /obj/structure/bonfire/prelit, -/obj/item/food/kebab, +/obj/item/food/kebab/monkey, /turf/open/misc/asteroid/airless, /area/space/nearstation) "nMm" = ( @@ -92809,9 +92856,13 @@ /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 }, -/obj/structure/chair/sofa/corp/left, -/turf/open/floor/iron/white, -/area/station/medical/patients_rooms) +/obj/machinery/suit_storage_unit/medical, +/obj/effect/turf_decal/box/white/corners{ + dir = 1; + color = "#52B4E9" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/paramedic) "nPA" = ( /obj/structure/frame/computer{ dir = 4 @@ -93098,7 +93149,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/structure/disposalpipe/segment, /turf/open/floor/iron/small, -/area/station/medical/patients_rooms) +/area/station/maintenance/department/cargo) "nRp" = ( /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 1 @@ -93955,7 +94006,6 @@ dir = 1 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood/parquet, /area/station/medical/psychology) "nXY" = ( @@ -97621,15 +97671,14 @@ }, /area/station/ai_monitored/turret_protected/aisat/service) "oyb" = ( -/obj/item/radio/intercom/directional/west, -/obj/effect/turf_decal/trimline/blue/filled/line, /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 1 }, /obj/structure/cable, /obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, -/area/station/medical/patients_rooms) +/obj/effect/turf_decal/trimline/blue/filled/corner, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "oye" = ( /obj/structure/flora/grass/jungle/b/style_random, /obj/structure/flora/bush/sparsegrass/style_random, @@ -101650,8 +101699,8 @@ /obj/structure/chair/office/light{ dir = 4 }, -/obj/effect/landmark/start/paramedic, /obj/structure/cable, +/obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/white/herringbone, /area/station/medical/office) "pbo" = ( @@ -102116,6 +102165,8 @@ location = "F5-Medbay-Lobby"; codes_txt = "patrol;next_patrol=F6-Medbay" }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/small, /area/station/medical/medbay/lobby) "pem" = ( @@ -103297,7 +103348,6 @@ /obj/effect/turf_decal/trimline/blue/corner{ dir = 1 }, -/obj/effect/landmark/start/paramedic, /turf/open/floor/iron/dark, /area/station/medical/lower) "pnu" = ( @@ -107826,7 +107876,6 @@ /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/small, /area/station/medical/medbay/lobby) @@ -113960,13 +114009,17 @@ /turf/open/floor/iron/dark/small, /area/station/engineering/atmos) "qQq" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/flora/grass/jungle/a/style_random, +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/structure/flora/bush/flowers_br/style_random, +/obj/structure/curtain/cloth{ + color = "#52B4E9" }, -/obj/item/kirbyplants/random, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/turf/open/floor/grass, +/area/station/medical/paramedic) "qQu" = ( /obj/structure/flora/grass/jungle/b/style_random, /obj/structure/flora/bush/flowers_br/style_random, @@ -115885,10 +115938,6 @@ /area/station/engineering/atmos) "rgm" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "medbay"; - dir = 1 - }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, @@ -115896,6 +115945,12 @@ dir = 1 }, /obj/effect/turf_decal/trimline/blue/warning, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "medbay"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured, /area/station/medical/medbay/lobby) "rgp" = ( @@ -117966,6 +118021,15 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"rvC" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/machinery/computer/crew{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "rvD" = ( /obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ color = "#ff0000"; @@ -121855,6 +121919,8 @@ }, /obj/structure/cable, /obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/corner{ dir = 8 }, @@ -122058,24 +122124,13 @@ /obj/structure/chair/office/light{ dir = 1 }, -/obj/machinery/button/door/directional/west{ - name = "Padded Cell Bolts Control"; - id = "padded"; - normaldoorcontrol = 1; - specialfunctions = 4; - pixel_x = -24; - pixel_y = 6 - }, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 }, -/obj/machinery/newscaster/directional/south, -/obj/machinery/light_switch/directional/west{ - pixel_x = -26; - pixel_y = -6 - }, -/turf/open/floor/iron/white, -/area/station/medical/patients_rooms) +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "saR" = ( /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 4 @@ -123132,16 +123187,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/port/central) -"sjK" = ( -/obj/effect/turf_decal/siding{ - dir = 8 - }, -/obj/effect/turf_decal/siding/corner{ - dir = 4 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/white/small, -/area/station/medical/patients_rooms) "sjU" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/thinplating_new/dark, @@ -127691,6 +127736,7 @@ dir = 9 }, /obj/item/kirbyplants/random, +/obj/machinery/firealarm/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/central) "sVB" = ( @@ -128851,13 +128897,18 @@ /turf/open/floor/plating, /area/station/maintenance/port/central) "tet" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/flora/grass/jungle/a/style_random, +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/structure/flora/bush/flowers_br/style_random, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/curtain/cloth{ + color = "#52B4E9" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/turf/open/floor/grass, +/area/station/medical/paramedic) "tez" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, @@ -129566,7 +129617,6 @@ dir = 1 }, /obj/structure/cable, -/obj/effect/landmark/start/paramedic, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/smooth_large, /area/station/medical/treatment_center) @@ -130453,16 +130503,15 @@ /turf/open/floor/iron/dark, /area/station/engineering/atmos) "tqL" = ( -/obj/structure/sign/departments/psychology/directional/east, -/obj/effect/turf_decal/box/white{ +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/structure/closet/secure_closet/paramedic, +/obj/effect/turf_decal/box/white/corners{ color = "#52B4E9" }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/machinery/holopad, -/turf/open/floor/iron/white, -/area/station/medical/patients_rooms) +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/paramedic) "tqT" = ( /obj/effect/turf_decal/trimline/dark/warning{ dir = 4 @@ -131438,6 +131487,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"txY" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "tye" = ( /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 1 @@ -132266,6 +132322,9 @@ /obj/effect/turf_decal/trimline/blue/line{ dir = 8 }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, /turf/open/floor/iron/white/small, /area/station/medical/medbay/lobby) "tDh" = ( @@ -132300,7 +132359,7 @@ /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/iron/small, -/area/station/medical/patients_rooms) +/area/station/maintenance/department/cargo) "tDu" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 1 @@ -133168,10 +133227,9 @@ /area/station/engineering/storage/tech) "tJb" = ( /obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/suit_storage_unit/medical, -/obj/effect/turf_decal/delivery, /obj/structure/railing, /obj/effect/turf_decal/siding/thinplating_new/dark, +/obj/structure/closet/l3closet, /turf/open/floor/iron/dark, /area/station/medical/storage) "tJp" = ( @@ -136257,8 +136315,18 @@ /turf/open/floor/iron/dark/side, /area/station/maintenance/aft/greater) "uhK" = ( -/turf/closed/wall, -/area/station/medical/patients_rooms) +/obj/machinery/newscaster/directional/south, +/obj/structure/table/glass, +/obj/item/toy/figure/paramedic, +/obj/item/surgicaldrill{ + pixel_y = 3; + pixel_x = 5 + }, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "uhM" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/ai) @@ -136466,7 +136534,6 @@ /turf/open/floor/iron/dark/herringbone, /area/station/ai_monitored/aisat/exterior) "ujm" = ( -/obj/structure/filingcabinet/white, /obj/effect/turf_decal/siding/wood{ dir = 9 }, @@ -140567,15 +140634,14 @@ /turf/open/floor/plating, /area/station/maintenance/fore/lesser) "uRZ" = ( -/obj/effect/turf_decal/siding{ - dir = 5 +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/blue/end{ + dir = 1 }, -/obj/effect/turf_decal/siding/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/white/herringbone, -/area/station/medical/patients_rooms) +/turf/open/floor/iron/dark/herringbone, +/area/station/medical/paramedic) "uSc" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/south, @@ -141614,6 +141680,8 @@ /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/small, /area/station/medical/medbay/lobby) "uZE" = ( @@ -141789,9 +141857,9 @@ /obj/machinery/door/airlock/maintenance{ name = "Medbay Maintenance" }, -/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, +/obj/effect/mapping_helpers/airlock/access/all/medical/paramedic, /turf/open/floor/plating, -/area/station/medical/patients_rooms) +/area/station/medical/paramedic) "vaG" = ( /obj/structure/railing{ dir = 8 @@ -143195,8 +143263,6 @@ /turf/open/floor/iron/dark/small, /area/station/engineering/supermatter/room) "vjr" = ( -/obj/machinery/digital_clock/directional/north, -/obj/structure/chair/sofa/corp/right, /obj/effect/turf_decal/trimline/blue/filled/line, /obj/effect/turf_decal/trimline/blue/corner{ dir = 1 @@ -143205,8 +143271,10 @@ /obj/machinery/camera/autoname/directional/north{ network = list("ss13","medbay") }, -/turf/open/floor/iron/white, -/area/station/medical/patients_rooms) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "vjs" = ( /obj/effect/turf_decal/siding/dark{ dir = 4 @@ -143686,18 +143754,6 @@ /obj/effect/landmark/blobstart, /turf/open/floor/iron, /area/station/maintenance/fore/lesser) -"vmp" = ( -/obj/machinery/door/airlock/medical{ - name = "Psychology" - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/effect/mapping_helpers/airlock/access/all/medical/psychology, -/obj/effect/landmark/navigate_destination, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white, -/area/station/medical/psychology) "vmt" = ( /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 10 @@ -149366,15 +149422,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"wfW" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/maintenance{ - name = "Medbay Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/cargo) "wgg" = ( /obj/effect/turf_decal/trimline/dark_red/warning{ dir = 6 @@ -151099,7 +151146,7 @@ /obj/effect/turf_decal/siding/wood{ dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/parquet, /area/station/medical/psychology) "wvm" = ( @@ -155132,6 +155179,9 @@ }, /turf/open/floor/iron/white, /area/station/science/research) +"xbK" = ( +/turf/closed/wall, +/area/station/medical/office) "xbM" = ( /obj/effect/turf_decal/trimline/yellow/corner{ dir = 1 @@ -159478,6 +159528,8 @@ dir = 1 }, /obj/machinery/firealarm/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/parquet, /area/station/medical/psychology) "xKc" = ( @@ -161282,6 +161334,12 @@ }, /turf/open/floor/iron/dark, /area/station/science/explab) +"xYm" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "xYr" = ( /obj/structure/flora/bush/fullgrass, /obj/structure/flora/grass/jungle/a/style_random, @@ -257154,13 +257212,13 @@ mAA aan iPk uVa -icj -icj +xbK +xbK jLx -icj +xbK daE -icj -icj +xbK +xbK uVa gsx aan @@ -257411,7 +257469,7 @@ sGo rOK oBt nCQ -icj +xbK eCd sWo hlR @@ -257668,7 +257726,7 @@ sOB jed oBt tvH -icj +xbK mzf ygg axM @@ -257924,8 +257982,8 @@ rUX cxH hzk oBt -nCQ -icj +bKl +xbK hhs pbi seg @@ -258182,13 +258240,13 @@ qan aan fPb uVd -icj -icj +xbK +xbK oBu yjt wOe -icj -icj +xbK +xbK uVd nch aan @@ -258437,8 +258495,8 @@ cUI iMx bon nox -fVk -uVd +wkG +dov kCn rbi jgD @@ -258696,8 +258754,8 @@ iqC rgy lXX rgm -cTV -eIq +gbr +pKh uZv pef irs @@ -258944,17 +259002,17 @@ kLa tDq chl hTz -uhK -uhK +icj +mHR lBR -uhK -uhK -uVa +mHR +icj +fzH qQq tet -mUT -gbr -pKh +uVd +kMY +eIq pTK hiq dTX @@ -259197,7 +259255,7 @@ jVh kLa bIz kyi -wfW +jzp grk gaK nRn @@ -259206,8 +259264,8 @@ oyb hjE gbV saO -uhK -uhK +bXc +rvC uhK uVd lYL @@ -259458,14 +259516,14 @@ kLa sdm sdm sdm -uhK +icj vjr uRZ gmk gPo bXP -sjK kJX +xYm uVd efm hAd @@ -259715,12 +259773,12 @@ kLa iCL kwm axI -uhK +icj nPx tqL jQI kyd -uhK +fiB fjq bAD hkc @@ -259975,11 +260033,11 @@ kIT bxI bxI bxI -vmp bxI bxI bxI bxI +icj hkc nAQ dXX @@ -261521,7 +261579,7 @@ bxI bxI uZQ iCr -bxI +hkc rrV fEu vxQ @@ -262030,7 +262088,7 @@ ujf rNp mEs toZ -mEs +txY fut rEg tYn diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index 1da2b58460f..e79b80c8d3b 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -1994,14 +1994,6 @@ }, /turf/open/misc/asteroid/airless, /area/station/asteroid) -"agV" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 5 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "agW" = ( /obj/effect/mapping_helpers/airlock/access/all/service/bar, /obj/machinery/door/airlock{ @@ -2233,6 +2225,15 @@ }, /turf/open/floor/wood/large, /area/station/service/library) +"aie" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/thinplating, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/white/warning, +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/iron, +/area/station/maintenance/tram/mid) "aiw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, @@ -4197,6 +4198,19 @@ /obj/machinery/smartfridge/petri/preloaded, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"aDq" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/start/paramedic, +/obj/machinery/holopad, +/obj/effect/turf_decal/box/white{ + color = "#52B4E9" + }, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "aDu" = ( /obj/effect/turf_decal/arrows/white{ dir = 8 @@ -4715,12 +4729,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit) -"aHA" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/tram/center) "aHD" = ( /obj/structure/table/wood, /obj/item/radio/intercom/directional/north, @@ -4782,6 +4790,17 @@ "aIi" = ( /turf/open/floor/iron, /area/station/security/prison/work) +"aIj" = ( +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/space_heater, +/turf/open/floor/iron, +/area/station/hallway/secondary/construction/engineering) "aIp" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -5145,12 +5164,6 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"aLB" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/landmark/start/paramedic, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "aLC" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 @@ -5649,6 +5662,16 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/foyer) +"aQa" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/obj/machinery/firealarm/directional/west, +/obj/machinery/light/cold/directional/north, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "aQf" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 10 @@ -6839,6 +6862,15 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) +"bpC" = ( +/obj/structure/chair/sofa/corp/left, +/obj/item/radio/intercom/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/break_room) "bpP" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, @@ -7367,14 +7399,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/tram/mid) -"byW" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/plastic{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/maintenance/tram/mid) "bzo" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -8127,14 +8151,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, /area/station/maintenance/central/greater) -"bMZ" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 6 - }, -/obj/structure/closet/emcloset, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/service) "bNa" = ( /obj/machinery/door/airlock/research{ name = "Research Division Access" @@ -9420,10 +9436,6 @@ dir = 8 }, /area/station/science/ordnance/office) -"cgd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/hallway/secondary/construction/engineering) "cgl" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 4 @@ -9980,19 +9992,6 @@ /obj/structure/table/reinforced, /turf/open/floor/iron/dark, /area/station/service/bar) -"crU" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/dark_red/warning{ - dir = 5 - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/transport/linear/public, -/turf/open/floor/plating/elevatorshaft, -/area/station/maintenance/tram/mid) "crV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -10198,6 +10197,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"cvR" = ( +/obj/machinery/computer/crew{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "cwg" = ( /obj/structure/stairs/north, /turf/open/floor/iron/stairs/medium, @@ -10449,15 +10455,6 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"czp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plating, -/area/station/maintenance/tram/mid) "czB" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 10 @@ -10762,6 +10759,17 @@ "cFs" = ( /turf/open/openspace, /area/station/hallway/primary/tram/left) +"cFx" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/chair/plastic{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/maintenance/tram/mid) "cFF" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -11684,6 +11692,16 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"cUW" = ( +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron, +/area/station/hallway/secondary/construction/engineering) "cVd" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -12136,21 +12154,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/service/theater) -"dcq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/neutral/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/white/warning{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/maintenance/tram/mid) "dcz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/loading_area{ @@ -12414,6 +12417,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"dgR" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/storage) "dgV" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/mix_input{ dir = 8 @@ -13351,14 +13360,6 @@ }, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) -"dyZ" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron, -/area/station/maintenance/tram/mid) "dzu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -13553,6 +13554,13 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/rd) +"dCu" = ( +/obj/effect/spawner/structure/window, +/obj/structure/curtain/cloth{ + color = "#52B4E9" + }, +/turf/open/floor/plating, +/area/station/medical/paramedic) "dCD" = ( /obj/structure/bookcase/random/reference, /turf/open/floor/wood/large, @@ -14385,6 +14393,11 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) +"dQC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/plating, +/area/station/maintenance/tram/mid) "dQI" = ( /obj/machinery/disposal/bin, /obj/machinery/airalarm/directional/south, @@ -14849,17 +14862,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/cargo/drone_bay) -"dYU" = ( -/obj/effect/turf_decal/caution/stand_clear/white{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/white/line, -/obj/machinery/door/window/elevator/right/directional/south{ - elevator_mode = 1; - transport_linked_id = "tram_lower_center_lift" - }, -/turf/open/floor/iron, -/area/station/hallway/primary/tram/center) "dZu" = ( /obj/machinery/mecha_part_fabricator, /obj/effect/turf_decal/delivery, @@ -14874,6 +14876,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/service/library) +"dZS" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/machinery/firealarm/directional/west{ + pixel_y = 5 + }, +/obj/structure/table/glass, +/obj/item/surgicaldrill, +/obj/item/toy/figure/paramedic, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "dZX" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -15104,6 +15118,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"edH" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 5 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/structure/closet/emcloset, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) "edP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, @@ -16018,28 +16042,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"exT" = ( -/obj/structure/table, -/obj/item/radio{ - pixel_x = -6; - pixel_y = -3 - }, -/obj/item/book/manual/wiki/security_space_law{ - pixel_x = 9; - pixel_y = 4 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 - }, -/obj/machinery/firealarm/directional/west{ - pixel_y = 5 - }, -/obj/machinery/light_switch/directional/west{ - pixel_x = -22; - pixel_y = -9 - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/medical) "exV" = ( /obj/machinery/door/firedoor/border_only{ dir = 4 @@ -20046,12 +20048,6 @@ /obj/effect/turf_decal/trimline/purple/filled/line, /turf/open/floor/iron/white, /area/station/science/lower) -"fWX" = ( -/obj/structure/sign/departments/engineering{ - pixel_x = 32 - }, -/turf/open/openspace, -/area/station/hallway/primary/tram/center) "fXb" = ( /obj/machinery/door/airlock{ name = "Barber Maintenance" @@ -20891,13 +20887,6 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"gmj" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/tram/mid) "gmm" = ( /obj/structure/cable, /obj/machinery/door/airlock/maintenance_hatch{ @@ -20957,6 +20946,13 @@ }, /turf/open/floor/iron/smooth, /area/station/hallway/primary/tram/center) +"gnm" = ( +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 8 + }, +/obj/structure/table, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/service) "gnp" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -21054,6 +21050,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/security/brig) +"gom" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/station/maintenance/tram/mid) "gov" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -21217,6 +21220,17 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"grS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/maintenance/tram/mid) "gsu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -21289,6 +21303,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"gtS" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "gtZ" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/machinery/airalarm/directional/south, @@ -21461,6 +21485,23 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"gxh" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/machinery/door/airlock/medical{ + name = "Paramedic Dispatch" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/paramedic, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "gxm" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 8 @@ -21936,6 +21977,9 @@ /obj/structure/holosign/barrier/atmos/tram, /turf/open/floor/plating, /area/station/maintenance/tram/right) +"gFD" = ( +/turf/closed/wall/r_wall, +/area/station/hallway/secondary/construction/engineering) "gFI" = ( /obj/machinery/door/airlock{ name = "Private Quarters N"; @@ -24075,11 +24119,6 @@ dir = 1 }, /area/station/hallway/secondary/service) -"hxL" = ( -/obj/structure/transport/linear/public, -/obj/effect/turf_decal/caution/stand_clear/red, -/turf/open/floor/plating/elevatorshaft, -/area/station/maintenance/tram/mid) "hyE" = ( /obj/structure/table/glass, /obj/item/book/manual/wiki/security_space_law{ @@ -24479,6 +24518,9 @@ }, /turf/open/floor/iron/dark, /area/station/science/lower) +"hGm" = ( +/turf/closed/wall, +/area/station/hallway/secondary/construction/engineering) "hGt" = ( /obj/structure/table, /obj/item/stack/sheet/glass/fifty, @@ -24668,6 +24710,13 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, /area/station/engineering/atmos) +"hKg" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/construction/engineering) "hKj" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, @@ -25045,19 +25094,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/science/ordnance/storage) -"hQK" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/dark_red/warning{ - dir = 6 - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/transport/linear/public, -/turf/open/floor/plating/elevatorshaft, -/area/station/maintenance/tram/mid) "hQZ" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/right/directional/south{ @@ -25119,6 +25155,10 @@ /obj/item/pillow/random, /turf/open/floor/carpet, /area/station/commons/dorms) +"hRT" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/hallway/secondary/construction/engineering) "hSm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -26648,6 +26688,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/courtroom/holding) +"iwk" = ( +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 9 + }, +/obj/structure/closet/firecloset, +/turf/open/floor/iron, +/area/station/hallway/secondary/construction/engineering) "iws" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/poddoor/shutters{ @@ -27012,6 +27062,12 @@ /obj/item/paper/fluff/jobs/engineering/frequencies, /turf/open/floor/iron, /area/station/tcommsat/computer) +"iDC" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/tram/mid) "iDQ" = ( /obj/effect/turf_decal/tile/neutral/tram, /obj/effect/turf_decal/stripes/white/line, @@ -28486,6 +28542,16 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/security/brig) +"jei" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/structure/chair/sofa/corp/right{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "jel" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch" @@ -31449,23 +31515,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/tram/left) -"kbG" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/dark_red/warning{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/transport/linear/public, -/obj/machinery/elevator_control_panel/directional/east{ - linked_elevator_id = "tram_lower_center_lift"; - preset_destination_names = list("2"="Lower Deck", "3"="Upper Deck") - }, -/turf/open/floor/plating/elevatorshaft, -/area/station/maintenance/tram/mid) "kbM" = ( /obj/structure/table/wood, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -31862,6 +31911,16 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"kgE" = ( +/obj/structure/closet/secure_closet/medical3, +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/glasses/hud/health, +/obj/item/storage/belt/medical, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/storage) "kgG" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -31960,15 +32019,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/storage) -"kiN" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/machinery/firealarm/directional/west, -/obj/machinery/light/cold/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "kiT" = ( /obj/structure/chair/office{ dir = 8 @@ -32183,6 +32233,14 @@ /obj/machinery/newscaster/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) +"klt" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 9 + }, +/obj/structure/closet/firecloset, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) "kly" = ( /obj/structure/cable, /obj/structure/disposalpipe/junction/flip{ @@ -32857,18 +32915,6 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"kxC" = ( -/mob/living/basic/pet/cat/jerry, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/bed/dogbed{ - name = "cat bed"; - desc = "A comfy-looking cat bed. You can even strap your pet in, in case the gravity turns off." - }, -/turf/open/floor/iron, -/area/station/maintenance/tram/mid) "kxF" = ( /obj/item/kirbyplants/random/dead/research_director, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -33052,6 +33098,16 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"kAN" = ( +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/structure/closet/firecloset, +/turf/open/floor/iron, +/area/station/hallway/secondary/construction/engineering) "kAO" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -33772,6 +33828,13 @@ /obj/effect/turf_decal/box, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) +"kLX" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/iron/dark, +/area/station/maintenance/tram/mid) "kMc" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron, @@ -34576,6 +34639,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/commons/dorms) +"kYj" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/bed/dogbed{ + name = "cat bed"; + desc = "A comfy-looking cat bed. You can even strap your pet in, in case the gravity turns off." + }, +/mob/living/basic/pet/cat/jerry, +/turf/open/floor/iron, +/area/station/maintenance/tram/mid) "kYk" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door_buttons/airlock_controller{ @@ -34794,6 +34869,25 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit) +"lcO" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) +"lcZ" = ( +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "ldd" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -35048,14 +35142,6 @@ /obj/machinery/telecomms/server/presets/security, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"liB" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/machinery/computer/crew, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "liC" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -35287,18 +35373,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) -"llU" = ( -/obj/effect/turf_decal/trimline/neutral/filled/corner{ - dir = 1 - }, -/obj/machinery/button/elevator/directional/north{ - id = "tram_lower_center_lift" - }, -/obj/machinery/lift_indicator/directional/north{ - linked_elevator_id = "tram_lower_center_lift" - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/construction/engineering) "llY" = ( /obj/machinery/computer/dna_console{ dir = 4 @@ -35378,10 +35452,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/maint) -"lns" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron, -/area/station/maintenance/tram/mid) "lnO" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -35496,6 +35566,9 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/checkpoint/escape) +"loZ" = ( +/turf/closed/wall, +/area/station/medical/paramedic) "lpg" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -35797,16 +35870,6 @@ "ltw" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/captain/private) -"ltL" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/obj/item/stack/medical/mesh, -/obj/item/stack/medical/gauze, -/obj/structure/table/glass, -/obj/machinery/digital_clock/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "ltZ" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 5 @@ -36513,12 +36576,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"lEL" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "lEU" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 4 @@ -37169,14 +37226,6 @@ /obj/effect/turf_decal/tile/brown/fourcorners, /turf/open/floor/iron, /area/station/cargo/warehouse) -"lQH" = ( -/obj/effect/turf_decal/caution/stand_clear/white, -/obj/machinery/door/window/elevator/left/directional/north{ - elevator_mode = 1; - transport_linked_id = "tram_lower_center_lift" - }, -/turf/open/floor/iron, -/area/station/maintenance/tram/mid) "lQM" = ( /turf/closed/wall/r_wall, /area/station/maintenance/port/central) @@ -37305,14 +37354,6 @@ /obj/structure/falsewall, /turf/open/floor/plating, /area/station/cargo/sorting) -"lTc" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/effect/landmark/start/paramedic, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "lTh" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -38342,6 +38383,13 @@ /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/wood/large, /area/station/service/barber) +"mkN" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "mkS" = ( /obj/effect/turf_decal/siding/wood/corner, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38602,6 +38650,15 @@ desc = "A wall impregnated with Fixium, able to withstand massive explosions with ease" }, /area/station/science/ordnance/bomb) +"mpV" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + name = "Office Shutters"; + id = "paramedic_shutters" + }, +/turf/open/floor/plating, +/area/station/medical/medbay/lobby) "mpX" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/table/wood, @@ -38926,14 +38983,6 @@ /obj/machinery/light/small/broken/directional/south, /turf/open/floor/carpet, /area/station/commons/vacant_room/office) -"mxR" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10 - }, -/obj/structure/closet/firecloset, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/service) "mya" = ( /obj/structure/rack, /obj/item/clothing/glasses/meson{ @@ -39475,15 +39524,6 @@ }, /turf/open/floor/iron, /area/station/security/prison) -"mHO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/white/line, -/obj/structure/lattice/catwalk, -/turf/open/floor/plating, -/area/station/maintenance/tram/mid) "mHP" = ( /obj/machinery/door/airlock{ name = "Private Quarters O"; @@ -40093,6 +40133,18 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/carpet, /area/station/hallway/secondary/entry) +"mWQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/structure/lattice/catwalk, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/tram/mid) "mWR" = ( /obj/structure/fluff/tram_rail/end, /turf/open/openspace, @@ -41836,6 +41888,16 @@ /obj/structure/cable, /turf/open/openspace, /area/station/maintenance/solars/starboard/fore) +"nAq" = ( +/obj/machinery/suit_storage_unit/medical, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 4 + }, +/area/station/medical/paramedic) "nAB" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -42263,6 +42325,21 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/science) +"nKe" = ( +/obj/effect/turf_decal/trimline/neutral/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/white/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/iron, +/area/station/maintenance/tram/mid) "nKg" = ( /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, @@ -42681,13 +42758,6 @@ dir = 8 }, /area/station/command/gateway) -"nRK" = ( -/obj/effect/turf_decal/trimline/dark_red/warning{ - dir = 1 - }, -/obj/structure/transport/linear/public, -/turf/open/floor/plating/elevatorshaft, -/area/station/maintenance/tram/mid) "nRO" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -43213,17 +43283,6 @@ /obj/machinery/light/cold/directional/east, /turf/open/floor/iron/white, /area/station/command/heads_quarters/captain/private) -"oab" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/machinery/airalarm/directional/east, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "oae" = ( /turf/open/floor/iron/grimy, /area/station/commons/vacant_room) @@ -43400,13 +43459,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) -"odH" = ( -/obj/structure/closet/l3closet, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/storage) "odK" = ( /obj/structure/closet/crate/wooden/toy, /turf/open/floor/iron/white/side{ @@ -44429,6 +44481,15 @@ }, /turf/open/space/openspace, /area/station/solars/starboard/fore) +"ozJ" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/construction/engineering) "ozX" = ( /obj/structure/toilet{ dir = 8 @@ -44558,14 +44619,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white, /area/station/science/lower) -"oDd" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/firealarm/directional/east, -/obj/machinery/suit_storage_unit/medical, -/turf/open/floor/iron/dark, -/area/station/medical/storage) "oDj" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -45014,16 +45067,6 @@ }, /turf/open/floor/iron/freezer, /area/station/science/lower) -"oNW" = ( -/obj/effect/turf_decal/trimline/dark_red/warning{ - dir = 9 - }, -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/transport/linear/public, -/turf/open/floor/plating/elevatorshaft, -/area/station/maintenance/tram/mid) "oOb" = ( /obj/structure/railing, /obj/effect/turf_decal/delivery, @@ -45731,16 +45774,6 @@ "pcu" = ( /turf/closed/wall/r_wall, /area/station/maintenance/tram/mid) -"pcx" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/filled/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron, -/area/station/maintenance/tram/mid) "pcA" = ( /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark/herringbone, @@ -46465,12 +46498,6 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/dark, /area/station/security/office) -"pps" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "ppK" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -48076,16 +48103,6 @@ }, /turf/open/floor/glass, /area/station/commons/fitness/recreation) -"pPN" = ( -/obj/effect/turf_decal/trimline/dark_red/warning{ - dir = 10 - }, -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/transport/linear/public, -/turf/open/floor/plating/elevatorshaft, -/area/station/maintenance/tram/mid) "pPP" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 8 @@ -48512,6 +48529,18 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) +"pYo" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/landmark/event_spawn, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/tram/mid) "pYt" = ( /obj/structure/table/wood, /obj/item/book/manual/wiki/security_space_law, @@ -48729,6 +48758,14 @@ /obj/structure/sign/clock/directional/west, /turf/open/floor/iron, /area/station/security/courtroom) +"qcv" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/iron, +/area/station/maintenance/tram/mid) "qcw" = ( /obj/machinery/computer/station_alert{ dir = 1 @@ -49382,6 +49419,15 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/commons/vacant_room/office) +"qnZ" = ( +/obj/effect/turf_decal/trimline/neutral/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/filled/corner{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/construction/engineering) "qoo" = ( /obj/machinery/door/airlock/research/glass{ name = "Robotics Lab" @@ -49970,6 +50016,15 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/science/ordnance/testlab) +"qAs" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/construction/engineering) "qAy" = ( /obj/structure/weightmachine, /obj/effect/turf_decal/sand, @@ -50247,16 +50302,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/ordnance, /turf/open/floor/iron/dark/airless, /area/station/science/ordnance/freezerchamber) -"qDQ" = ( -/obj/structure/transport/linear/public, -/obj/effect/landmark/transport/transport_id{ - specific_transport_id = "tram_lower_center_lift" - }, -/obj/effect/abstract/elevator_music_zone{ - linked_elevator_id = "tram_lower_center_lift" - }, -/turf/open/floor/plating/elevatorshaft, -/area/station/maintenance/tram/mid) "qEb" = ( /obj/structure/easel, /obj/item/canvas/twentythree_twentythree, @@ -51059,6 +51104,16 @@ /obj/effect/turf_decal/tile/neutral/tram, /turf/open/indestructible/tram/plate, /area/station/hallway/primary/tram/center) +"qUr" = ( +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/construction/engineering) "qUy" = ( /obj/machinery/camera/directional/south{ name = "holodeck camera"; @@ -51328,6 +51383,19 @@ /obj/item/stack/sheet/glass/fifty, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"qYn" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 + }, +/obj/structure/chair/sofa/corp/left{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/east{ + pixel_x = 26 + }, +/obj/effect/landmark/start/paramedic, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "qYs" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -51775,6 +51843,12 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/cargo/warehouse) +"rgv" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "rgK" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -52481,17 +52555,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"rrJ" = ( -/obj/structure/closet/secure_closet/medical3, -/obj/item/clothing/glasses/hud/health, -/obj/item/clothing/glasses/hud/health, -/obj/item/storage/belt/medical, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/fireaxecabinet/jawsofrecovery/directional/north, -/turf/open/floor/iron/dark, -/area/station/medical/storage) "rrL" = ( /obj/machinery/disposal/bin, /obj/structure/cable, @@ -54357,9 +54420,6 @@ /obj/structure/plasticflaps/opaque, /turf/open/floor/plating, /area/station/engineering/atmos) -"saZ" = ( -/turf/open/floor/iron, -/area/station/maintenance/tram/mid) "sbe" = ( /obj/structure/table/wood, /obj/structure/window/reinforced/spawner/directional/west{ @@ -55141,6 +55201,29 @@ /obj/effect/spawner/random/armory/rubbershot, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"sqg" = ( +/obj/structure/table, +/obj/item/radio{ + pixel_x = -6; + pixel_y = -3 + }, +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = 9; + pixel_y = 4 + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 + }, +/obj/machinery/firealarm/directional/west{ + pixel_y = 5; + pixel_x = -22 + }, +/obj/machinery/light_switch/directional/west{ + pixel_x = -22; + pixel_y = -9 + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/medical) "sql" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 1 @@ -57296,6 +57379,16 @@ /obj/structure/rack, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"tcL" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/corner, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "tcO" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -58426,6 +58519,13 @@ }, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) +"txf" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/iron/dark, +/area/station/maintenance/tram/mid) "txh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -60230,6 +60330,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/interrogation) +"udK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/tram/mid) "udO" = ( /obj/structure/chair/stool/bar/directional/south, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -60942,6 +61049,12 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/wood, /area/station/commons/dorms) +"uoj" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "uon" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -60951,13 +61064,6 @@ "uov" = ( /turf/closed/wall/r_wall, /area/station/security/processing) -"uoD" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/tram/mid) "uoJ" = ( /obj/structure/closet/secure_closet/security/science, /obj/item/clothing/mask/whistle, @@ -61147,6 +61253,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/atmos) +"urx" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/obj/structure/fireaxecabinet/jawsofrecovery/directional/east, +/obj/machinery/light/cold/directional/east, +/obj/structure/closet/secure_closet/paramedic, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 8 + }, +/area/station/medical/paramedic) "urA" = ( /obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible, /turf/open/floor/iron, @@ -61357,6 +61474,15 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"uuU" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/service) "uuZ" = ( /obj/structure/chair/pew, /obj/effect/landmark/start/hangover, @@ -61525,6 +61651,14 @@ }, /turf/open/floor/plating, /area/station/maintenance/tram/mid) +"uxB" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/firealarm/directional/east, +/obj/structure/closet/l3closet, +/turf/open/floor/iron/dark, +/area/station/medical/storage) "uxG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/purple/visible, /obj/machinery/meter, @@ -62816,6 +62950,13 @@ /obj/structure/lattice, /turf/open/space/openspace, /area/station/solars/starboard/fore) +"uRy" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "uRR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/bar/opposingcorners, @@ -63303,6 +63444,17 @@ }, /turf/open/floor/wood/parquet, /area/station/medical/psychology) +"val" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/tram/mid) "vaq" = ( /obj/structure/ladder, /obj/effect/decal/cleanable/dirt, @@ -63731,11 +63883,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) -"vhF" = ( -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/structure/table, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/service) "vhG" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -63752,19 +63899,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) -"vic" = ( -/obj/machinery/lift_indicator{ - pixel_x = -5; - pixel_y = -3; - linked_elevator_id = "tram_lower_center_lift" - }, -/obj/machinery/button/elevator{ - pixel_x = -7; - pixel_y = -1; - id = "tram_lower_center_lift" - }, -/turf/closed/wall, -/area/station/hallway/primary/tram/center) "viC" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -64347,13 +64481,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) -"vrO" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 8 - }, -/obj/machinery/light/dim/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/tram/center) "vrP" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/cable/layer1, @@ -64473,6 +64600,19 @@ /obj/structure/sink/directional/west, /turf/open/floor/iron/freezer, /area/station/science/lower) +"vtF" = ( +/obj/machinery/computer/records/medical{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/button/door/directional/east{ + pixel_y = 0; + id = "paramedic_shutters"; + name = "Shutters button"; + pixel_x = 23 + }, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "vua" = ( /turf/open/floor/carpet, /area/station/service/chapel/monastery) @@ -65683,6 +65823,16 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) +"vQu" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "vQO" = ( /obj/machinery/camera/directional/north{ c_tag = "Civilian - Theatre Backstage" @@ -65975,6 +66125,13 @@ /obj/structure/sign/warning/pods/directional/north, /turf/open/openspace, /area/station/hallway/secondary/entry) +"vUZ" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/service) "vVc" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -66047,6 +66204,18 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"vXF" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "vXL" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /turf/open/floor/iron, @@ -66058,16 +66227,6 @@ /obj/effect/landmark/firealarm_sanity, /turf/open/openspace, /area/station/science/xenobiology) -"vXT" = ( -/obj/structure/chair/sofa/corp/left, -/obj/item/radio/intercom/directional/east, -/obj/effect/landmark/start/paramedic, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/break_room) "vYg" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -66327,14 +66486,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/cafeteria, /area/station/command/heads_quarters/rd) -"wcN" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/white/full, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "wcW" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 6 @@ -69467,6 +69618,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/dorms) +"xmv" = ( +/obj/effect/turf_decal/caution/stand_clear/white, +/turf/open/floor/iron, +/area/station/hallway/secondary/construction/engineering) "xmE" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -69507,6 +69662,16 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/commons/dorms/laundry) +"xmX" = ( +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/secondary/construction/engineering) "xmY" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -71868,15 +72033,6 @@ /obj/item/stack/package_wrap, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) -"yhs" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/computer/records/medical, -/obj/machinery/light/cold/directional/north, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "yhI" = ( /obj/structure/cable, /obj/structure/cable/layer1, @@ -102103,7 +102259,7 @@ axr gJt jra ahy -mxR +gnm qjU qjU qjU @@ -102360,9 +102516,9 @@ qjT kJY ovL ahy -vhF -qjU -gmj +uuU +iDC +gom pnF tqp kFp @@ -102617,11 +102773,11 @@ lOe toh xpb jeS -bMZ -qjU -uoD -pnF -kFp +vUZ +kLX +txf +aie +udK kFp eYs kFp @@ -103125,7 +103281,7 @@ cWZ cWZ cWZ cWZ -wcN +dJJ mjG lSC dJJ @@ -103137,7 +103293,7 @@ qjU lhI kFp kFp -eYs +val kFp kFp qXj @@ -103382,7 +103538,7 @@ klk kNo xLm cWZ -agV +edH jaG dWn dJJ @@ -103394,7 +103550,7 @@ qjU lhI kFp kFp -eYs +val kFp kFp okG @@ -103651,7 +103807,7 @@ qjU lhI kFp kFp -eYs +val kFp kFp mqq @@ -103908,7 +104064,7 @@ qjU fMS kFp kFp -eYs +val kFp kFp byM @@ -104165,7 +104321,7 @@ qAb oaD kFp kFp -czp +pYo kFp kFp aVD @@ -104422,7 +104578,7 @@ qjU ioh kFp kFp -eYs +val kFp kFp mqq @@ -104679,7 +104835,7 @@ qjU npX kFp kFp -eYs +val kFp kFp mqq @@ -104924,7 +105080,7 @@ ocn uyf ecJ cWZ -pjC +klt jra lIe qjU @@ -104936,7 +105092,7 @@ qjU npX kFp kFp -eYs +val kFp kFp mqq @@ -105181,7 +105337,7 @@ cWZ cWZ cWZ cWZ -wcN +dJJ mjG rxy qjU @@ -105193,7 +105349,7 @@ qjU npX kFp kFp -eYs +val kFp kFp mqq @@ -105205,8 +105361,8 @@ fal fal fal fal -pcu -llU +gFD +qnZ tpm wjB vJA @@ -105450,20 +105606,20 @@ qjU eRI qyr qyr -mHO +mWQ qyr qyr xdJ qjU qjU aaa -qjU -oNW -pWP -pPN -ceb -lns -cgd +hGm +iwk +kAN +cUW +aIj +aIj +hKg vIC pOZ hoT @@ -105703,23 +105859,23 @@ bor bor hwO qjU -dyZ +cFx rhL kFp kFp -eYs -kFp -kFp -dcq -kxC -qjU +grS +dQC +dQC +nKe +qcv +dQC aaa -qjU -nRK -qDQ -hxL -lQH -saZ +hRT +qnZ +oFd +oFd +xmv +oFd akM wRi oFd @@ -105960,7 +106116,7 @@ rrC bHn lTP qjU -gmj +kYj pnF tqp kFp @@ -105968,15 +106124,15 @@ ycV kFp tqp kGR -byW -qjU +lhi +kFp aaa -qjU -crU -kbG -hQK -ceb -pcx +hRT +ozJ +qAs +qUr +xmX +vuT vuT vuT nku @@ -106228,7 +106384,7 @@ qjU qjU qjU aaa -qjU +hGm hZr hZr hZr @@ -165347,7 +165503,7 @@ xBk xBk xBk xBk -rrJ +kgE bbk yeN kRL @@ -165606,7 +165762,7 @@ iZi dAJ mPr vcv -odH +dgR kRL dJG qcj @@ -167148,7 +167304,7 @@ qkP bqg glU aKM -oDd +uxB xRx lWu tTN @@ -168679,7 +168835,7 @@ oKm qrl lej iVr -wyd +lDt wyd rks rks @@ -168936,8 +169092,8 @@ bHm ykP lej iVr -lDt -kiN +wyd +aQa xJA gHh cen @@ -169720,11 +169876,11 @@ aKq aKP aLe oIU -aLB +aLA whF ecW dXo -lTc +uRy lrQ xOn gHp @@ -170483,7 +170639,7 @@ qtc kin juV uAx -oab +gtS iZh dyI gMT @@ -170737,12 +170893,12 @@ lej fxs wyd wyd -rks -rks -rks +mpV +mpV +mpV wyd wyd -dyI +mkN gMT uHB jtr @@ -170992,14 +171148,14 @@ mjp izU eQL ycx -vrO -fnb -eSz -eSz -eSz -qNI -liB -lEL +loZ +nAq +rgv +rgv +vQu +dZS +dCu +dyI qPd iTt rjs @@ -171249,14 +171405,14 @@ eSz dTx sIM uZb -rOu -dYU -eSz -eSz -eSz -qNI -yhs -jVw +loZ +lcZ +lcO +aDq +uoj +tcL +gxh +vXF qPd jVw pnU @@ -171506,14 +171662,14 @@ kNT ghs rOu rSo -aHA -fnb -fWX -eSz -eSz -qNI -ltL -pps +loZ +cvR +vtF +urx +jei +qYn +dCu +dyI sqT sTF sTF @@ -171532,7 +171688,7 @@ nMg qdK xom gVO -vXT +bpC cyL nen hrr @@ -171763,11 +171919,11 @@ kNT krM keN csl -vic -izU -izU -clT -clT +loZ +loZ +loZ +loZ +loZ clT clT sbO @@ -172025,7 +172181,7 @@ wza izU fLb fIB -exT +sqg cuP iFP qPd diff --git a/_maps/map_files/wawastation/wawastation.dmm b/_maps/map_files/wawastation/wawastation.dmm index bcbbf9bdaa3..0b132f350b2 100644 --- a/_maps/map_files/wawastation/wawastation.dmm +++ b/_maps/map_files/wawastation/wawastation.dmm @@ -3890,7 +3890,7 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 }, -/turf/open/floor/iron/white, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "bqT" = ( /obj/structure/cable, @@ -4791,7 +4791,8 @@ dir = 5 }, /obj/machinery/newscaster/directional/east, -/turf/open/floor/iron/white, +/obj/effect/landmark/start/paramedic, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "bGu" = ( /obj/structure/chair/sofa/bench/right{ @@ -7288,7 +7289,7 @@ /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "cEG" = ( /obj/effect/spawner/structure/window/reinforced, @@ -8110,7 +8111,7 @@ network = list("ss13","medbay") }, /obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/white, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "cUe" = ( /obj/machinery/rnd/production/protolathe/department/science, @@ -9125,7 +9126,7 @@ /obj/item/storage/toolbox/emergency, /obj/structure/table, /obj/machinery/light_switch/directional/west, -/turf/open/floor/iron/white, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "dla" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -10213,7 +10214,7 @@ /obj/structure/disposalpipe/trunk/multiz{ dir = 1 }, -/turf/open/floor/iron/white, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "dCI" = ( /obj/structure/disposalpipe/segment{ @@ -10443,11 +10444,10 @@ /area/station/science/auxlab/firing_range) "dHk" = ( /obj/structure/cable, -/obj/effect/landmark/start/paramedic, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, -/turf/open/floor/iron/white, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "dHy" = ( /obj/machinery/light/small/directional/north, @@ -11612,12 +11612,6 @@ /obj/effect/mapping_helpers/requests_console/supplies, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"ebo" = ( -/obj/effect/landmark/start/paramedic, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, -/area/station/medical/paramedic) "ebs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/landmark/event_spawn, @@ -12344,7 +12338,6 @@ /obj/machinery/door/airlock/medical{ name = "Medical Breakroom and Paramedic Dispatch" }, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, /obj/structure/cable, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12352,7 +12345,8 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/iron/white, +/obj/effect/mapping_helpers/airlock/access/any/medical/paramedic, +/turf/open/floor/holofloor/dark, /area/station/medical/exam_room) "epr" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -14660,7 +14654,7 @@ }, /obj/structure/table, /obj/machinery/requests_console/auto_name/directional/west, -/turf/open/floor/iron/white, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "fhu" = ( /turf/open/floor/engine/n2, @@ -17209,7 +17203,7 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "fZc" = ( /obj/structure/cable, @@ -19828,7 +19822,7 @@ }, /obj/item/radio/intercom/directional/east, /obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "gTM" = ( /obj/effect/spawner/structure/window/reinforced, @@ -21741,7 +21735,8 @@ dir = 1 }, /obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/white, +/obj/effect/landmark/start/paramedic, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "hAL" = ( /obj/structure/cable, @@ -22200,7 +22195,6 @@ name = "Reception" }, /obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -22208,7 +22202,8 @@ /obj/structure/disposalpipe/segment{ dir = 8 }, -/turf/open/floor/iron/white, +/obj/effect/mapping_helpers/airlock/access/any/medical/paramedic, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "hIv" = ( /obj/effect/turf_decal/tile/neutral{ @@ -22814,7 +22809,7 @@ dir = 10 }, /obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron/white, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "hTQ" = ( /obj/machinery/atmospherics/components/unary/passive_vent{ @@ -24264,7 +24259,7 @@ /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "ivh" = ( /obj/machinery/atmospherics/pipe/smart/manifold/cyan/hidden{ @@ -24299,7 +24294,7 @@ /obj/structure/disposalpipe/segment{ dir = 5 }, -/turf/open/floor/iron/white, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "ivR" = ( /obj/effect/turf_decal/tile/neutral{ @@ -25151,7 +25146,7 @@ /obj/structure/disposalpipe/segment{ dir = 6 }, -/turf/open/floor/iron/white, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "iLb" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -25959,7 +25954,8 @@ /obj/machinery/light/warm/directional/west, /obj/item/storage/fancy/coffee_condi_display, /obj/structure/table, -/turf/open/floor/iron/white, +/obj/item/surgicaldrill, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "jbV" = ( /obj/structure/plasticflaps, @@ -27078,13 +27074,6 @@ }, /turf/open/floor/carpet/purple, /area/station/service/library) -"jvd" = ( -/obj/structure/cable, -/obj/effect/landmark/start/paramedic, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, -/area/station/medical/paramedic) "jvt" = ( /obj/structure/closet/secure_closet/chemical, /obj/effect/turf_decal/stripes/line{ @@ -27227,12 +27216,9 @@ /area/station/command/meeting_room) "jyg" = ( /obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/suit_storage_unit/medical, -/obj/effect/turf_decal/box/white{ - color = "#52B4E9" - }, /obj/item/radio/intercom/directional/north, /obj/machinery/light_switch/directional/west, +/obj/structure/closet/l3closet, /turf/open/floor/iron/white, /area/station/medical/storage) "jyu" = ( @@ -27248,7 +27234,8 @@ "jyx" = ( /obj/structure/chair/office, /obj/structure/cable, -/turf/open/floor/iron/white, +/obj/effect/landmark/start/paramedic, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "jyM" = ( /obj/structure/ladder{ @@ -33092,7 +33079,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "ltF" = ( /obj/structure/cable, @@ -37961,7 +37948,7 @@ "naZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "nbf" = ( /obj/structure/cable, @@ -38162,7 +38149,11 @@ dir = 8 }, /obj/machinery/digital_clock/directional/west, -/turf/open/floor/iron/white, +/obj/machinery/suit_storage_unit/medical, +/obj/effect/turf_decal/box/white{ + color = "#52B4E9" + }, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "neb" = ( /obj/structure/table, @@ -38698,11 +38689,13 @@ /turf/open/floor/iron, /area/station/engineering/atmos/project) "nnF" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +/obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 }, -/obj/effect/landmark/start/paramedic, -/turf/open/floor/iron/white, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "nnL" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -39815,13 +39808,13 @@ name = "Medical Breakroom and Paramedic Dispatch" }, /obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, /obj/effect/turf_decal/tile/blue/fourcorners, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, +/obj/effect/mapping_helpers/airlock/access/any/medical/paramedic, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "nKi" = ( /obj/effect/landmark/start/cargo_technician, @@ -40126,7 +40119,7 @@ /obj/effect/spawner/random/vending/colavend, /obj/machinery/airalarm/directional/east, /obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "nOZ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -42101,7 +42094,6 @@ color = "#52B4E9" }, /obj/effect/turf_decal/tile/blue/full, -/obj/effect/landmark/start/paramedic, /turf/open/floor/iron/white/smooth_large, /area/station/medical/storage) "oDZ" = ( @@ -43202,23 +43194,11 @@ /turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "oVX" = ( -/obj/structure/table, -/obj/structure/window/spawner/directional/east, -/obj/item/clothing/suit/jacket/straight_jacket, -/obj/item/clothing/glasses/blindfold{ - pixel_y = 3 +/obj/structure/closet/secure_closet/paramedic, +/obj/effect/turf_decal/trimline/blue/filled/end{ + dir = 4 }, -/obj/item/clothing/glasses/blindfold{ - pixel_y = 3 - }, -/obj/item/clothing/glasses/eyepatch, -/obj/item/clothing/ears/earmuffs{ - pixel_y = 3 - }, -/obj/item/clothing/ears/earmuffs{ - pixel_y = 3 - }, -/turf/open/floor/iron/white/textured, +/turf/open/floor/holofloor/dark, /area/station/medical/paramedic) "oWd" = ( /obj/structure/cable, @@ -52781,7 +52761,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, -/turf/open/floor/iron/white/smooth_large, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "set" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ @@ -53741,7 +53721,8 @@ pixel_y = 3 }, /obj/structure/fireaxecabinet/jawsofrecovery/directional/west, -/turf/open/floor/iron/white/textured, +/obj/structure/window/spawner/directional/north, +/turf/open/floor/holofloor/dark, /area/station/medical/paramedic) "stw" = ( /obj/effect/spawner/structure/window/reinforced, @@ -54621,7 +54602,7 @@ /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, +/turf/open/floor/iron/dark, /area/station/medical/paramedic) "sIx" = ( /obj/structure/cable, @@ -58468,7 +58449,7 @@ /obj/item/emergency_bed{ pixel_y = 11 }, -/turf/open/floor/iron/white/textured, +/turf/open/floor/holofloor/dark, /area/station/medical/paramedic) "tYI" = ( /obj/effect/landmark/start/head_of_security, @@ -85924,9 +85905,9 @@ cBb hAA naZ sep -ebo -ebo -jvd +naZ +naZ +iuV sIv rnk bAr diff --git a/code/__DEFINES/access.dm b/code/__DEFINES/access.dm index 558678eff69..264e82328aa 100644 --- a/code/__DEFINES/access.dm +++ b/code/__DEFINES/access.dm @@ -89,6 +89,8 @@ #define ACCESS_PSYCHOLOGY "psychology" /// Access for the Chief Medical Officer's personal quarters in mapping, as well as some other CMO-related things. #define ACCESS_CMO "cmo" +/// Access to the Paramedic dispatch. +#define ACCESS_PARAMEDIC "paramedic" /// General access for Cargo, allows for entry to Cargo Bay and Cargo's Office. #define ACCESS_CARGO "cargo" @@ -325,6 +327,7 @@ ACCESS_NETWORK, \ ACCESS_ORDNANCE, \ ACCESS_ORDNANCE_STORAGE, \ + ACCESS_PARAMEDIC, \ ACCESS_PHARMACY, \ ACCESS_PLUMBING, \ ACCESS_PSYCHOLOGY, \ @@ -461,6 +464,7 @@ ACCESS_MEDICAL, \ ACCESS_MORGUE, \ ACCESS_MORGUE_SECURE, \ + ACCESS_PARAMEDIC, \ ACCESS_PHARMACY, \ ACCESS_PLUMBING, \ ACCESS_PSYCHOLOGY, \ diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm index 3ca26908e24..9a8f4002a44 100644 --- a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm @@ -132,9 +132,6 @@ ///cancel clean #define COMSIG_ATOM_CANCEL_CLEAN (1<<0) -/// From /obj/item/stack/make_item() -#define COMSIG_ATOM_CONSTRUCTED "atom_constructed" - /// From /obj/effect/particle_effect/sparks/proc/sparks_touched(datum/source, atom/movable/singed) #define COMSIG_ATOM_TOUCHED_SPARKS "atom_touched_sparks" #define COMSIG_ATOM_TOUCHED_HAZARDOUS_SPARKS "atom_touched_hazardous_sparks" diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.dm b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.dm index 48d1c6f9a04..33fad5b5309 100644 --- a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.dm +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.dm @@ -24,8 +24,8 @@ #define COMPONENT_BULLET_PIERCED (1<<2) ///from base of atom/bullet_act(): (/obj/proj, def_zone, piercing_hit, blocked) #define COMSIG_ATOM_BULLET_ACT "atom_bullet_act" -///from base of atom/on_craft_completion(): (components, datum/crafting_recipe/current_recipe) -#define COMSIG_ATOM_ON_CRAFT "atom_checkparts" +///from base of atom/on_craft_completion(): (components, datum/crafting_recipe/current_recipe, atom/crafter) +#define COMSIG_ATOM_ON_CRAFT "atom_on_craft_completion" ///from base of atom/used_in_craft(): (atom/result) #define COMSIG_ATOM_USED_IN_CRAFT "atom_used_in_craft" ///from base of atom/blob_act(): (/obj/structure/blob) diff --git a/code/__DEFINES/dcs/signals/signals_lockable_storage.dm b/code/__DEFINES/dcs/signals/signals_lockable_storage.dm new file mode 100644 index 00000000000..1c770ef257f --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_lockable_storage.dm @@ -0,0 +1,4 @@ +// /datum/component/lockable_storage signals + +///from base of /datum/component/lockable_storage/proc/set_lock_code(new_code): (obj/source, new_code) +#define COMSIG_LOCKABLE_STORAGE_SET_CODE "lockable_storage_set_code" diff --git a/code/__DEFINES/fish.dm b/code/__DEFINES/fish.dm index 8125013f88e..6b6ff85778b 100644 --- a/code/__DEFINES/fish.dm +++ b/code/__DEFINES/fish.dm @@ -182,9 +182,9 @@ #define GET_FISH_WEIGHT_RANK(weighty) max(round(1 + log(2, max(weighty/FISH_WEIGHT_FORCE_DIVISOR, 1)), 1), 1) ///The breeding timeout for newly instantiated fish is multiplied by this. -#define NEW_FISH_BREEDING_TIMEOUT_MULT 2 -///The last feeding timestamp of newly instantiated fish is multiplied by this: ergo, they spawn 50% hungry. -#define NEW_FISH_LAST_FEEDING_MULT 0.33 +#define NEW_FISH_BREEDING_TIMEOUT_MULT 0.6 +///The last feeding timestamp of newly instantiated fish is multiplied by this. +#define NEW_FISH_LAST_FEEDING_MULT 0.33 //Their hunger meter starts at 33% ///If get_hunger is above this value, the fish is considered to be starving and will slowly lose health because of it #define FISH_STARVING_THRESHOLD 1 diff --git a/code/__DEFINES/hud.dm b/code/__DEFINES/hud.dm index f062eb0ab3e..dbac7902de4 100644 --- a/code/__DEFINES/hud.dm +++ b/code/__DEFINES/hud.dm @@ -201,6 +201,9 @@ #define ui_ghost_language_menu "SOUTH: 6, CENTER+4:22" #define ui_ghost_floor_changer "SOUTH: 6, CENTER+4:7" +//Voidwalker +#define ui_voidwalker_left_of_hands "CENTER+-2:16,SOUTH+0:5" + //Blobbernauts #define ui_blobbernaut_overmind_health "EAST-1:28,CENTER+0:19" diff --git a/code/__DEFINES/obj_flags.dm b/code/__DEFINES/obj_flags.dm index 1828f736a89..4ea38724cd3 100644 --- a/code/__DEFINES/obj_flags.dm +++ b/code/__DEFINES/obj_flags.dm @@ -5,16 +5,17 @@ #define CAN_BE_HIT (1<<1) //can this be bludgeoned by items? #define DANGEROUS_POSSESSION (1<<2) //Admin possession yes/no #define UNIQUE_RENAME (1<<3) // can you customize the description/name of the thing? -#define BLOCK_Z_OUT_DOWN (1<<4) // Should this object block z falling from loc? -#define BLOCK_Z_OUT_UP (1<<5) // Should this object block z uprise from loc? -#define BLOCK_Z_IN_DOWN (1<<6) // Should this object block z falling from above? -#define BLOCK_Z_IN_UP (1<<7) // Should this object block z uprise from below? -#define BLOCKS_CONSTRUCTION (1<<8) //! Does this object prevent things from being built on it? -#define BLOCKS_CONSTRUCTION_DIR (1<<9) //! Does this object prevent same-direction things from being built on it? -#define IGNORE_DENSITY (1<<10) //! Can we ignore density when building on this object? (for example, directional windows and grilles) -#define INFINITE_RESKIN (1<<11) // We can reskin this item infinitely -#define CONDUCTS_ELECTRICITY (1<<12) //! Can this object conduct electricity? -#define NO_DEBRIS_AFTER_DECONSTRUCTION (1<<13) //! Atoms don't spawn anything when deconstructed. They just vanish +#define RENAME_NO_DESC (1<<4) // if it can be renamed, is its description excluded? +#define BLOCK_Z_OUT_DOWN (1<<5) // Should this object block z falling from loc? +#define BLOCK_Z_OUT_UP (1<<6) // Should this object block z uprise from loc? +#define BLOCK_Z_IN_DOWN (1<<7) // Should this object block z falling from above? +#define BLOCK_Z_IN_UP (1<<8) // Should this object block z uprise from below? +#define BLOCKS_CONSTRUCTION (1<<9) //! Does this object prevent things from being built on it? +#define BLOCKS_CONSTRUCTION_DIR (1<<10) //! Does this object prevent same-direction things from being built on it? +#define IGNORE_DENSITY (1<<11) //! Can we ignore density when building on this object? (for example, directional windows and grilles) +#define INFINITE_RESKIN (1<<12) // We can reskin this item infinitely +#define CONDUCTS_ELECTRICITY (1<<13) //! Can this object conduct electricity? +#define NO_DEBRIS_AFTER_DECONSTRUCTION (1<<14) //! Atoms don't spawn anything when deconstructed. They just vanish // If you add new ones, be sure to add them to /obj/Initialize as well for complete mapping support @@ -118,3 +119,7 @@ #define INCLUDE_POCKETS (1<<0) #define INCLUDE_ACCESSORIES (1<<1) #define INCLUDE_HELD (1<<2) +/// Include prosthetic item limbs (which are not flavoured as being equipped items) +#define INCLUDE_PROSTHETICS (1<<3) +/// Include items that are not "real" items, such as hand items +#define INCLUDE_ABSTRACT (1<<4) diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm index 5087279b3f3..f2d6bc5e623 100644 --- a/code/__DEFINES/preferences.dm +++ b/code/__DEFINES/preferences.dm @@ -157,8 +157,17 @@ #define SPRITE_ACCESSORY_NONE "None" // Loadout -/// Used to make something not recolorable even if it's capable -#define DONT_GREYSCALE -1 +/// When equipped, applies a job specific palette to the item. Only applicable to GAGS items. +#define LOADOUT_FLAG_JOB_GREYSCALING (1<<0) +/// Prevents GAGS items from being player customizable. +#define LOADOUT_FLAG_BLOCK_GREYSCALING (1<<1) +/// Allows the item to be greyscaled by the player, if it's a GAGS item. Automatically set if the item is innately recolorable. +#define LOADOUT_FLAG_GREYSCALING_ALLOWED (1<<2) +/// Allows the item to be renamed by the player. +#define LOADOUT_FLAG_ALLOW_NAMING (1<<3) +/// Allows the item to be reskinned by the player. Only applicable to items with unique_reskin defined. +#define LOADOUT_FLAG_ALLOW_RESKIN (1<<4) + // Loadout item info keys // Changing these will break existing loadouts /// Tracks GAGS color information @@ -174,3 +183,21 @@ #define UPPER_LIP "Upper" #define MIDDLE_LIP "Middle" #define LOWER_LIP "Lower" + +// Job greyscale colors for loadout items +#define COLOR_JOB_ASSISTANT /obj/item/clothing/under/color/grey::greyscale_colors +#define COLOR_JOB_BOTANIST "#33cc33" +#define COLOR_JOB_CARGO_GENERIC "#824b32" +#define COLOR_JOB_CE "#d0d0d0" +#define COLOR_JOB_CHEF "#d0d0d0" +#define COLOR_JOB_CHEMIST "#ff6600" +#define COLOR_JOB_CLOWN "#ffbeff" +#define COLOR_JOB_CMO "#009999" +#define COLOR_JOB_DEFAULT "#303030" +#define COLOR_JOB_ENGI_GENERIC "#ff6600" +#define COLOR_JOB_JANITOR /obj/item/clothing/gloves/color/purple::greyscale_colors +#define COLOR_JOB_LAWYER "#003399" +#define COLOR_JOB_SCI_GENERIC "#800080" +#define COLOR_JOB_SEC_GENERIC "#A53228" +#define COLOR_JOB_MED_GENERIC "#5B97BC" +#define COLOR_JOB_COMMAND_GENERIC "#3C5A96" diff --git a/code/__DEFINES/processing.dm b/code/__DEFINES/processing.dm index 905c03830d5..27f0d2126b1 100644 --- a/code/__DEFINES/processing.dm +++ b/code/__DEFINES/processing.dm @@ -1,3 +1,4 @@ #define TOOL_PROCESSING_RESULT "result" #define TOOL_PROCESSING_AMOUNT "amount" #define TOOL_PROCESSING_TIME "time" +#define TOOL_PROCESSING_SOUND "sound" diff --git a/code/__DEFINES/sound.dm b/code/__DEFINES/sound.dm index 0bf6bcb8c1e..37faad6a2fb 100644 --- a/code/__DEFINES/sound.dm +++ b/code/__DEFINES/sound.dm @@ -356,6 +356,35 @@ GLOBAL_LIST_EMPTY(sfx_datum_by_key) #define SFX_CIG_PACK_RUSTLE "cig_pack_rustle" #define SFX_CIG_PACK_THROW_DROP "cig_pack_throw_drop" #define SFX_RORO_WARBLE "roro_warble" +#define SFX_POTTED_PLANT_PICKUP "potted_plant_pickup" +#define SFX_POTTED_PLANT_DROP "potted_plant_drop" +#define SFX_GOGGLES_PICKUP "goggles_pickup" +#define SFX_GOGGLES_DROP "goggles_drop" +#define SFX_GOGGLES_EQUIP "goggles_equip" +#define SFX_GLASSES_PICKUP "glasses_pickup" +#define SFX_GLASSES_DROP "glasses_drop" +#define SFX_GLASSES_EQUIP "glasses_equip" +#define SFX_FOOD_PLATE_PICKUP "food_plate_pickup" +#define SFX_FOOD_PLATE_DROP "food_plate_drop" +#define SFX_TRAY_PICKUP "tray_pickup" +#define SFX_TRAY_DROP "tray_drop" +#define SFX_TRAY_INSERT "tray_insert" +#define SFX_CUTLERY_PICKUP "generic_cutlery_pickup" +#define SFX_CUTLERY_DROP "generic_cutlery_drop" +#define SFX_KNIFE_PICKUP "knife_pickup" +#define SFX_KNIFE_DROP "knife_drop" +#define SFX_KNIFE_SLICE "knife_slice" +#define SFX_POT_PICKUP "pot_pickup" +#define SFX_POT_DROP "pot_drop" +#define SFX_ROLLING_PIN_PICKUP "rolling_pin_pickup" +#define SFX_ROLLING_PIN_DROP "rolling_pin_drop" +#define SFX_ROLLING_PIN_ROLLING "rolling_pin_rolling" +#define SFX_FIRE_MODE_SWITCH "fire_mode_switch" +#define SFX_REMOTE_MODE_SWITCH "remote_mode_switch" +#define SFX_REMOTE_ACTION "remote_action" +#define SFX_GAS_MASK_PICKUP "gas_mask_pickup" +#define SFX_GAS_MASK_DROP "gas_mask_drop" +#define SFX_GAS_MASK_EQUIP "gas_mask_equip" // Standard is 44.1khz #define MIN_EMOTE_PITCH 40000 diff --git a/code/__DEFINES/traits/declarations.dm b/code/__DEFINES/traits/declarations.dm index 99b94835c42..1936297d3b6 100644 --- a/code/__DEFINES/traits/declarations.dm +++ b/code/__DEFINES/traits/declarations.dm @@ -552,6 +552,10 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_CULT_HALO "cult_halo" /// Their eyes glow an unnatural red colour. Currently used to set special examine text on humans. Does not guarantee the mob's eyes are coloured red, nor that there is any visible glow on their character sprite. #define TRAIT_UNNATURAL_RED_GLOWY_EYES "unnatural_red_glowy_eyes" +/// Their eyes glow in the dark (aka emissive appearance) +#define TRAIT_LUMINESCENT_EYES "luminescent_eyes" +/// Their eyes reflect light, making them shine faintly in dim, shadowy areas. Kinda like nocturnal animals. +#define TRAIT_REFLECTIVE_EYES "reflective_eyes" /// Their eyes are bloodshot. Currently used to set special examine text on humans. Examine text is overridden by TRAIT_UNNATURAL_RED_GLOWY_EYES. #define TRAIT_BLOODSHOT_EYES "bloodshot_eyes" /// This mob should never close UI even if it doesn't have a client diff --git a/code/__DEFINES/vv.dm b/code/__DEFINES/vv.dm index 6c9d4e2b850..accfdf2ab22 100644 --- a/code/__DEFINES/vv.dm +++ b/code/__DEFINES/vv.dm @@ -136,6 +136,7 @@ #define VV_HK_VIEW_PLANES "view_planes" #define VV_HK_GIVE_AI "give_ai" #define VV_HK_GIVE_AI_SPEECH "give_ai_speech" +#define VV_HK_GIVE_ACCESS "give_access" // /mob/living #define VV_HK_GIVE_SPEECH_IMPEDIMENT "impede_speech" diff --git a/code/__HELPERS/honkerblast.dm b/code/__HELPERS/honkerblast.dm index ea8eea00e59..e76d8178228 100644 --- a/code/__HELPERS/honkerblast.dm +++ b/code/__HELPERS/honkerblast.dm @@ -23,8 +23,7 @@ victim.Stun(100) victim.adjust_stutter(30 SECONDS) victim.set_jitter_if_lower(1000 SECONDS) - var/obj/item/organ/ears/ears = victim.get_organ_slot(ORGAN_SLOT_EARS) - ears?.adjustEarDamage(10, 15) + victim.sound_damage(10, 30 SECONDS) to_chat(victim, "HONK") var/obj/item/clothing/shoes/victim_shoes = victim.get_item_by_slot(ITEM_SLOT_FEET) if(!victim_shoes || victim_shoes.fastening_type == SHOES_SLIPON) @@ -35,13 +34,11 @@ victim.Paralyze(20) victim.Stun(50) victim.set_jitter_if_lower(500 SECONDS) - var/obj/item/organ/ears/ears = victim.get_organ_slot(ORGAN_SLOT_EARS) - ears?.adjustEarDamage(7, 10) + victim.sound_damage(7, 20 SECONDS) to_chat(victim, "HONK") for(var/mob/living/carbon/victim in lightly_honked) victim.Knockdown(20) victim.set_jitter_if_lower(200 SECONDS) - var/obj/item/organ/ears/ears = victim.get_organ_slot(ORGAN_SLOT_EARS) - ears?.adjustEarDamage(4, 5) + victim.sound_damage(4, 10 SECONDS) to_chat(victim, "HONK") diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 241a4e48f2d..a4001295735 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -279,6 +279,10 @@ GLOBAL_LIST_INIT(skin_tone_names, list( var/holding = user.get_active_held_item() +#ifdef UNIT_TESTS + timed_action_flags &= ~IGNORE_SLOWDOWNS //it shouldn't stop unit test dummies from being fast as hell +#endif + if(!(timed_action_flags & IGNORE_SLOWDOWNS)) delay *= user.cached_multiplicative_actions_slowdown diff --git a/code/_globalvars/lists/cargo.dm b/code/_globalvars/lists/cargo.dm index 1a41609d25c..21e15a6d765 100644 --- a/code/_globalvars/lists/cargo.dm +++ b/code/_globalvars/lists/cargo.dm @@ -1,12 +1,6 @@ GLOBAL_LIST_INIT(discountable_packs, init_discountable_packs()) -/proc/init_discountable_packs() - var/list/packs = list() - for(var/datum/supply_pack/prototype as anything in subtypesof(/datum/supply_pack)) - var/discountable = initial(prototype.discountable) - if(discountable) - LAZYADD(packs[discountable], prototype) - return packs +GLOBAL_LIST_INIT(exports_list, init_Exports()) GLOBAL_LIST_INIT(pack_discount_odds, list( SUPPLY_PACK_STD_DISCOUNTABLE = 45, @@ -15,3 +9,20 @@ GLOBAL_LIST_INIT(pack_discount_odds, list( )) GLOBAL_LIST_EMPTY(supplypod_loading_bays) + +/// Caled when the global discount pack list is initialized +/proc/init_discountable_packs() + var/list/packs = list() + for(var/datum/supply_pack/prototype as anything in subtypesof(/datum/supply_pack)) + var/discountable = initial(prototype.discountable) + if(discountable) + LAZYADD(packs[discountable], prototype) + return packs + +/// Called when the global exports_list is empty, and sets it up. +/proc/init_Exports() + var/list/exports = list() + for(var/datum/export/subtype as anything in subtypesof(/datum/export)) + if(subtype::abstract_type != subtype) + exports += new subtype + return exports diff --git a/code/_globalvars/lists/clothing.dm b/code/_globalvars/lists/clothing.dm index 451a01bedd8..22d0ffc661a 100644 --- a/code/_globalvars/lists/clothing.dm +++ b/code/_globalvars/lists/clothing.dm @@ -12,3 +12,11 @@ GLOBAL_LIST_INIT(backpacklist, list( FSATCHEL, FMESSENGER, // BUBBER EDIT END )) + + +GLOBAL_LIST_INIT(suit_sensor_mode_to_defines, list( + "Off" = SENSOR_OFF, + "Binary vitals" = SENSOR_LIVING, + "Exact vitals" = SENSOR_VITALS, + "Tracking beacon" = SENSOR_COORDS, +)) diff --git a/code/_globalvars/lists/languages.dm b/code/_globalvars/lists/languages.dm new file mode 100644 index 00000000000..8aaf38596ca --- /dev/null +++ b/code/_globalvars/lists/languages.dm @@ -0,0 +1,42 @@ +/// List of language prototypes to reference, assoc [type] = prototype +GLOBAL_LIST_INIT_TYPED(language_datum_instances, /datum/language, init_language_prototypes()) +/// List if all language typepaths learnable, IE, those with keys +GLOBAL_LIST_INIT(all_languages, init_all_languages()) +/// /List of language prototypes to reference, assoc "name" = typepath +GLOBAL_LIST_INIT(language_types_by_name, init_language_types_by_name()) +/// 1000 element long list containing the 1000 most common words in the English language. +/// Indexed by word, value is the rank of the word in the list. So accessing it is fasta. +GLOBAL_LIST_INIT(most_common_words, init_common_words()) + +/proc/init_language_prototypes() + var/list/lang_list = list() + for(var/datum/language/lang_type as anything in typesof(/datum/language)) + if(!initial(lang_type.key)) + continue + + lang_list[lang_type] = new lang_type() + return lang_list + +/proc/init_all_languages() + var/list/lang_list = list() + for(var/datum/language/lang_type as anything in typesof(/datum/language)) + if(!initial(lang_type.key)) + continue + lang_list += lang_type + return lang_list + +/proc/init_language_types_by_name() + var/list/lang_list = list() + for(var/datum/language/lang_type as anything in typesof(/datum/language)) + if(!initial(lang_type.key)) + continue + lang_list[initial(lang_type.name)] = lang_type + return lang_list + +/proc/init_common_words() + var/list/word_to_commonness_list = list() + var/i = 1 + for(var/word in world.file2list("strings/1000_most_common.txt")) + word_to_commonness_list[word] = i + i += 1 + return word_to_commonness_list diff --git a/code/_globalvars/lists/mobs.dm b/code/_globalvars/lists/mobs.dm index fb6ac5078c4..3a81366facd 100644 --- a/code/_globalvars/lists/mobs.dm +++ b/code/_globalvars/lists/mobs.dm @@ -82,37 +82,6 @@ GLOBAL_LIST_EMPTY(revenant_relay_mobs) ///underages who have been reported to security for trying to buy things they shouldn't, so they can't spam GLOBAL_LIST_EMPTY(narcd_underages) -/// List of language prototypes to reference, assoc [type] = prototype -GLOBAL_LIST_INIT_TYPED(language_datum_instances, /datum/language, init_language_prototypes()) -/// List if all language typepaths learnable, IE, those with keys -GLOBAL_LIST_INIT(all_languages, init_all_languages()) -/// /List of language prototypes to reference, assoc "name" = typepath -GLOBAL_LIST_INIT(language_types_by_name, init_language_types_by_name()) - -/proc/init_language_prototypes() - var/list/lang_list = list() - for(var/datum/language/lang_type as anything in typesof(/datum/language)) - if(!initial(lang_type.key)) - continue - - lang_list[lang_type] = new lang_type() - return lang_list - -/proc/init_all_languages() - var/list/lang_list = list() - for(var/datum/language/lang_type as anything in typesof(/datum/language)) - if(!initial(lang_type.key)) - continue - lang_list += lang_type - return lang_list - -/proc/init_language_types_by_name() - var/list/lang_list = list() - for(var/datum/language/lang_type as anything in typesof(/datum/language)) - if(!initial(lang_type.key)) - continue - lang_list[initial(lang_type.name)] = lang_type - return lang_list /// A list of all the possible blood types, keyed by id (which is just the name in most cases) GLOBAL_LIST_INIT(blood_types, init_blood_types()) diff --git a/code/_globalvars/lists/strings.dm b/code/_globalvars/lists/strings.dm index 80cc4816c1e..3ef823c2b8f 100644 --- a/code/_globalvars/lists/strings.dm +++ b/code/_globalvars/lists/strings.dm @@ -6,7 +6,6 @@ GLOBAL_LIST_INIT(greek_letters, world.file2list("strings/greek_letters.txt")) GLOBAL_LIST_INIT(gross_adjectives, world.file2list("strings/names/gross_adjectives.txt")) GLOBAL_LIST_INIT(ing_verbs, world.file2list("strings/names/ing_verbs.txt")) GLOBAL_LIST_INIT(junkmail_messages, world.file2list("strings/junkmail.txt")) -GLOBAL_LIST_INIT(most_common_words, world.file2list("strings/1000_most_common.txt")) GLOBAL_LIST_INIT(numbers_as_words, world.file2list("strings/numbers_as_words.txt")) GLOBAL_LIST_INIT(phonetic_alphabet, world.file2list("strings/phonetic_alphabet.txt")) GLOBAL_LIST_INIT(verbs, world.file2list("strings/names/verbs.txt")) diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm index 723c2178936..7bd7ad674c8 100644 --- a/code/_globalvars/traits/_traits.dm +++ b/code/_globalvars/traits/_traits.dm @@ -381,6 +381,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_LITERATE" = TRAIT_LITERATE, "TRAIT_LIVERLESS_METABOLISM" = TRAIT_LIVERLESS_METABOLISM, "TRAIT_LOUD_BINARY" = TRAIT_LOUD_BINARY, + "TRAIT_LUMINESCENT_EYES" = TRAIT_LUMINESCENT_EYES, "TRAIT_MADNESS_IMMUNE" = TRAIT_MADNESS_IMMUNE, "TRAIT_MAFIAINITIATE" = TRAIT_MAFIAINITIATE, "TRAIT_MAGICALLY_GIFTED" = TRAIT_MAGICALLY_GIFTED, @@ -510,6 +511,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_REAGENT_SCANNER" = TRAIT_REAGENT_SCANNER, "TRAIT_RECENTLY_BLOCKED_MAGIC" = TRAIT_RECENTLY_BLOCKED_MAGIC, "TRAIT_RECENTLY_TREATED" = TRAIT_RECENTLY_TREATED, + "TRAIT_REFLECTIVE_EYES" = TRAIT_REFLECTIVE_EYES, "TRAIT_REGEN_SHIELD" = TRAIT_REGEN_SHIELD, "TRAIT_RELAYING_ATTACKER" = TRAIT_RELAYING_ATTACKER, "TRAIT_REMOTE_TASTING" = TRAIT_REMOTE_TASTING, diff --git a/code/_globalvars/traits/admin_tooling.dm b/code/_globalvars/traits/admin_tooling.dm index b592bbda9d6..14d3c81c0f4 100644 --- a/code/_globalvars/traits/admin_tooling.dm +++ b/code/_globalvars/traits/admin_tooling.dm @@ -171,6 +171,7 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_LIMBATTACHMENT" = TRAIT_LIMBATTACHMENT, "TRAIT_LITERATE" = TRAIT_LITERATE, "TRAIT_LIVERLESS_METABOLISM" = TRAIT_LIVERLESS_METABOLISM, + "TRAIT_LUMINESCENT_EYES" = TRAIT_LUMINESCENT_EYES, "TRAIT_MADNESS_IMMUNE" = TRAIT_MADNESS_IMMUNE, "TRAIT_MAGICALLY_GIFTED" = TRAIT_MAGICALLY_GIFTED, "TRAIT_MARTIAL_ARTS_IMMUNE" = TRAIT_MARTIAL_ARTS_IMMUNE, @@ -259,6 +260,7 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_QUICKER_CARRY" = TRAIT_QUICKER_CARRY, "TRAIT_RADIMMUNE" = TRAIT_RADIMMUNE, "TRAIT_RAD_RESISTANCE" = TRAIT_RAD_RESISTANCE, // BUBBER EDIT + "TRAIT_REFLECTIVE_EYES" = TRAIT_REFLECTIVE_EYES, "TRAIT_REMOTE_TASTING" = TRAIT_REMOTE_TASTING, "TRAIT_RESISTCOLD" = TRAIT_RESISTCOLD, "TRAIT_RESISTHEAT" = TRAIT_RESISTHEAT, diff --git a/code/_onclick/click_alt.dm b/code/_onclick/click_alt.dm index 32d6d315673..9de205d116e 100644 --- a/code/_onclick/click_alt.dm +++ b/code/_onclick/click_alt.dm @@ -127,8 +127,8 @@ return FALSE /// No loot panel if it's on our person - if(isobj(target) && (target in get_all_gear())) - to_chat(src, span_warning("You can't search for this item, it's already in your inventory! Take it off first.")) + if(isobj(target) && (target in get_all_gear(INCLUDE_PROSTHETICS|INCLUDE_ABSTRACT|INCLUDE_ACCESSORIES))) + to_chat(src, span_warning("You can't search for this item, it's already in your inventory![!HAS_TRAIT(target, TRAIT_NODROP) ? " Take it off first." : ""]")) return FALSE client.loot_panel.open(get_turf(target)) diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index ba9edd34d38..6501e7c2bd7 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -380,7 +380,8 @@ GLOBAL_LIST_INIT(available_erp_ui_styles, list( screenmob.client.screen += infodisplay if(always_visible_inventory.len) screenmob.client.screen += always_visible_inventory - if(open_containers.len) + if(open_containers.len && screenmob == mymob) // Don't show open inventories to ghosts + list_clear_nulls(open_containers) screenmob.client.screen += open_containers screenmob.client.screen += toggle_palette diff --git a/code/_onclick/hud/voidwalkerhud.dm b/code/_onclick/hud/voidwalkerhud.dm index 736c29d626d..7ba892f7d7a 100644 --- a/code/_onclick/hud/voidwalkerhud.dm +++ b/code/_onclick/hud/voidwalkerhud.dm @@ -8,6 +8,11 @@ floor_change.screen_loc = ui_rest static_inventory += floor_change + resist_icon = new /atom/movable/screen/resist(null, src) + resist_icon.icon = ui_style + resist_icon.screen_loc = ui_voidwalker_left_of_hands + resist_icon.update_appearance() + action_intent = new /atom/movable/screen/combattoggle/flashy/voidwalker(null, src) action_intent.icon = ui_style static_inventory += action_intent @@ -51,7 +56,7 @@ /atom/movable/screen/vomit_jump name = "vomit tracker" icon = 'icons/hud/screen_voidwalker.dmi' - icon_state = "vomitjump" + icon_state = "template" /// So we can sort of loop through it var/index = 1 diff --git a/code/controllers/subsystem/dynamic/__dynamic_defines.dm b/code/controllers/subsystem/dynamic/__dynamic_defines.dm index f24c772fa24..500666dcd14 100644 --- a/code/controllers/subsystem/dynamic/__dynamic_defines.dm +++ b/code/controllers/subsystem/dynamic/__dynamic_defines.dm @@ -43,6 +43,9 @@ /// Ruleset can be configured by admins (implements /proc/configure_ruleset) /// Only implemented for midrounds currently #define RULESET_ADMIN_CONFIGURABLE (1<<2) +/// Applied to rulesets which intentionally share a pref_flag with another rulesets +/// Denotes multiple rulesets which abide by the same preference, but are each a variation of some base ruleset +#define RULESET_VARIATION (1<<3) /// Href for cancelling midround rulesets before execution #define MIDROUND_CANCEL_HREF(...) "(CANCEL)" diff --git a/code/controllers/subsystem/dynamic/_dynamic_ruleset.dm b/code/controllers/subsystem/dynamic/_dynamic_ruleset.dm index 707c0220ca6..e03f733eb7a 100644 --- a/code/controllers/subsystem/dynamic/_dynamic_ruleset.dm +++ b/code/controllers/subsystem/dynamic/_dynamic_ruleset.dm @@ -10,9 +10,12 @@ /// Don't change this unless you know what you're doing. var/config_tag - /// What flag to check for jobbans? Optional, if unset, uses pref_flag + /// What flag to check for jobbans? + /// Optional, if unset, uses pref_flag for jobbans instead var/jobban_flag - /// What flag to check for prefs? Required if the antag has an associated preference + /// What flag to check for prefs? + /// Required if the antag has an associated preference, and must be unique + /// (unless RULESET_VARIATION is set in ruleset_flags) var/pref_flag /// Flags for this ruleset var/ruleset_flags = NONE diff --git a/code/controllers/subsystem/dynamic/dynamic_ruleset_midround.dm b/code/controllers/subsystem/dynamic/dynamic_ruleset_midround.dm index b418f1ade42..6df942b5242 100644 --- a/code/controllers/subsystem/dynamic/dynamic_ruleset_midround.dm +++ b/code/controllers/subsystem/dynamic/dynamic_ruleset_midround.dm @@ -658,7 +658,7 @@ candidate_role = "Changeling" pref_flag = ROLE_CHANGELING_MIDROUND jobban_flag = ROLE_CHANGELING - ruleset_flags = RULESET_INVADER + ruleset_flags = RULESET_INVADER|RULESET_VARIATION weight = 5 min_pop = 15 max_antag_cap = 1 @@ -670,6 +670,21 @@ /datum/dynamic_ruleset/midround/from_ghosts/space_changeling/assign_role(datum/mind/candidate) generate_changeling_meteor(candidate) +/datum/dynamic_ruleset/midround/from_ghosts/space_changeling/mass + name = "Mass Space Changelings" + config_tag = "Mass Changelings" + midround_type = HEAVY_MIDROUND + min_pop = 25 + min_antag_cap = 2 + max_antag_cap = 3 + repeatable_weight_decrease = 4 + weight = list( + DYNAMIC_TIER_LOW = 0, + DYNAMIC_TIER_LOWMEDIUM = 3, + DYNAMIC_TIER_MEDIUMHIGH = 4, + DYNAMIC_TIER_HIGH = 5, + ) + /datum/dynamic_ruleset/midround/from_ghosts/paradox_clone name = "Paradox Clone" config_tag = "Paradox Clone" @@ -1064,6 +1079,7 @@ false_alarm_able = TRUE pref_flag = ROLE_SLEEPER_AGENT jobban_flag = ROLE_TRAITOR + ruleset_flags = RULESET_VARIATION weight = 10 min_pop = 3 blacklisted_roles = list( @@ -1079,6 +1095,22 @@ "[command_name()] High-Priority Update", ) +/datum/dynamic_ruleset/midround/from_living/traitor/mass + name = "Mass Traitors" + config_tag = "Mass Traitors" + midround_type = HEAVY_MIDROUND + min_pop = 15 + min_antag_cap = 2 + max_antag_cap = 4 + repeatable_weight_decrease = 8 + blacklisted_roles = list() + weight = list( + DYNAMIC_TIER_LOW = 0, + DYNAMIC_TIER_LOWMEDIUM = 3, + DYNAMIC_TIER_MEDIUMHIGH = 8, + DYNAMIC_TIER_HIGH = 10, + ) + /datum/dynamic_ruleset/midround/from_living/malf_ai name = "Malfunctioning AI" config_tag = "Midround Malfunctioning AI" diff --git a/code/controllers/subsystem/networks/id_access.dm b/code/controllers/subsystem/networks/id_access.dm index c6ba797a3f5..d4b0e572da6 100644 --- a/code/controllers/subsystem/networks/id_access.dm +++ b/code/controllers/subsystem/networks/id_access.dm @@ -290,6 +290,7 @@ SUBSYSTEM_DEF(id_access) desc_by_access["[ACCESS_VIROLOGY]"] = "Virology" desc_by_access["[ACCESS_PSYCHOLOGY]"] = "Psychology" desc_by_access["[ACCESS_CMO]"] = "CMO Office" + desc_by_access["[ACCESS_PARAMEDIC]"] = "Paramedic Office" desc_by_access["[ACCESS_QM]"] = "QM Office" desc_by_access["[ACCESS_SURGERY]"] = "Surgery" desc_by_access["[ACCESS_THEATRE]"] = "Theatre" diff --git a/code/controllers/subsystem/stock_market.dm b/code/controllers/subsystem/stock_market.dm index 1cce5a8c549..8ecd6cc8085 100644 --- a/code/controllers/subsystem/stock_market.dm +++ b/code/controllers/subsystem/stock_market.dm @@ -20,16 +20,9 @@ SUBSYSTEM_DEF(stock_market) /datum/controller/subsystem/stock_market/Initialize() for(var/datum/material/possible_market as anything in subtypesof(/datum/material)) // I need to make this work like this, but lets hardcode it for now if(possible_market.tradable) - materials_prices += possible_market materials_prices[possible_market] = possible_market.value_per_unit * SHEET_MATERIAL_AMOUNT - - materials_trends += possible_market materials_trends[possible_market] = rand(MARKET_TREND_DOWNWARD,MARKET_TREND_UPWARD) //aka -1 to 1 - - materials_trend_life += possible_market materials_trend_life[possible_market] = rand(1,3) - - materials_quantity += possible_market materials_quantity[possible_market] = possible_market.tradable_base_quantity + (rand(-(possible_market.tradable_base_quantity) * 0.5, possible_market.tradable_base_quantity * 0.5)) return SS_INIT_SUCCESS diff --git a/code/datums/components/aquarium.dm b/code/datums/components/aquarium.dm index 314b34bfe13..f9ba8b5164e 100644 --- a/code/datums/components/aquarium.dm +++ b/code/datums/components/aquarium.dm @@ -388,7 +388,7 @@ for(var/obj/item/fish/fish_type as anything in types_to_mate_with) var/list/type_fishes = tracked_fish_by_type[fish_type] - if(length(type_fishes) >= initial(fish_type.stable_population)) + if(length(type_fishes) >= fish_type::stable_population) continue candidates += type_fishes diff --git a/code/datums/components/connect_inventory.dm b/code/datums/components/connect_inventory.dm index c2e688171b4..2322c3ed9d7 100644 --- a/code/datums/components/connect_inventory.dm +++ b/code/datums/components/connect_inventory.dm @@ -32,7 +32,7 @@ /datum/component/connect_inventory/proc/update_signals() unregister_signals() - for(var/obj/item/item as anything in tracked.get_equipped_items(INCLUDE_POCKETS | INCLUDE_HELD)) + for(var/obj/item/item as anything in tracked.get_equipped_items(INCLUDE_POCKETS|INCLUDE_HELD|INCLUDE_PROSTHETICS|INCLUDE_ABSTRACT)) if(!(allowed_slots & tracked.get_slot_by_item(item))) continue RegisterSignal(item, COMSIG_ITEM_DROPPED, PROC_REF(on_unequipped_item)) @@ -40,7 +40,7 @@ parent.RegisterSignal(item, signal, connections[signal]) /datum/component/connect_inventory/proc/unregister_signals() - for(var/obj/item/item as anything in tracked.get_equipped_items(INCLUDE_POCKETS | INCLUDE_HELD)) + for(var/obj/item/item as anything in tracked.get_equipped_items(INCLUDE_POCKETS|INCLUDE_HELD|INCLUDE_PROSTHETICS|INCLUDE_ABSTRACT)) UnregisterSignal(item, COMSIG_ITEM_DROPPED) parent.UnregisterSignal(item, connections) diff --git a/code/datums/components/crafting/crafting.dm b/code/datums/components/crafting/crafting.dm index d7511de26c6..775761f0e77 100644 --- a/code/datums/components/crafting/crafting.dm +++ b/code/datums/components/crafting/crafting.dm @@ -382,8 +382,8 @@ if(recipe.structures) requirements += recipe.structures + var/list/surroundings for(var/path_key in requirements) - var/list/surroundings var/amount = recipe.reqs?[path_key] || recipe.machinery?[path_key] || recipe.structures?[path_key] if(!amount)//since machinery & structures can have 0 aka CRAFTING_MACHINERY_USE - i.e. use it, don't consume it! continue diff --git a/code/datums/components/crafting/structures.dm b/code/datums/components/crafting/structures.dm index 0332357f5f0..7d95f927999 100644 --- a/code/datums/components/crafting/structures.dm +++ b/code/datums/components/crafting/structures.dm @@ -105,3 +105,46 @@ /obj/item/stack/sheet/iron = 30, ) category = CAT_STRUCTURE + +/datum/crafting_recipe/secure_safe + name = "Secure safe" + result = /obj/item/wallframe/secure_safe + reqs = list( + /obj/item/stack/sheet/plasteel = 10, + /obj/item/stack/sheet/mineral/titanium = 5, + /obj/item/stack/cable_coil = 5, + /obj/item/stack/rods = 5, + /obj/item/wallframe/button = 1, + ) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WELDER, TOOL_DRILL) + time = 30 SECONDS + category = CAT_STRUCTURE + +/datum/crafting_recipe/vault + name = "Vault" + result = /obj/structure/safe/open + reqs = list( + /obj/item/stack/sheet/mineral/metal_hydrogen = 20, + /obj/item/stack/sheet/mineral/plastitanium = 10, + /obj/item/stack/cable_coil = 5, + /obj/item/stack/rods = 5, + /obj/item/wallframe/secure_safe = 1, + ) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WELDER, TOOL_DRILL) + time = 90 SECONDS + category = CAT_STRUCTURE + crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND + +/datum/crafting_recipe/vault_floor + name = "Floor Vault" + result = /obj/structure/safe/floor/open + reqs = list( + /obj/item/stack/sheet/mineral/metal_hydrogen = 20, + /obj/item/stack/sheet/mineral/plastitanium = 10, + /obj/item/stack/cable_coil = 5, + /obj/item/stack/rods = 5, + ) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WELDER, TOOL_DRILL) + time = 90 SECONDS + category = CAT_STRUCTURE + crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND diff --git a/code/datums/components/crafting/tools.dm b/code/datums/components/crafting/tools.dm index 8977724ac64..539b2b765f5 100644 --- a/code/datums/components/crafting/tools.dm +++ b/code/datums/components/crafting/tools.dm @@ -118,3 +118,14 @@ ) category = CAT_TOOLS +/datum/crafting_recipe/jaws_of_recovery + name = "Modified Jaws of Life" + time = 10 SECONDS + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WELDER) + result = /obj/item/crowbar/power/paramedic/silent + reqs = list( + /obj/item/crowbar/power = 1, + /obj/item/bonesetter = 1, + ) + category = CAT_TOOLS + diff --git a/code/datums/components/lockable_storage.dm b/code/datums/components/lockable_storage.dm index 456bac0c45d..51a0e48be6c 100644 --- a/code/datums/components/lockable_storage.dm +++ b/code/datums/components/lockable_storage.dm @@ -34,13 +34,8 @@ canthold = list(/obj/item/storage/briefcase/secure), ) - - src.lock_code = lock_code - if(!isnull(lock_code)) - atom_parent.atom_storage.set_locked(STORAGE_FULLY_LOCKED) src.can_hack_open = can_hack_open - - atom_parent.update_appearance() + set_lock_code(lock_code) /datum/component/lockable_storage/RegisterWithParent() . = ..() @@ -144,8 +139,18 @@ if(!tool.use_tool(parent, user, 40 SECONDS, volume = 50)) return source.balloon_alert(user, "hacked") + set_lock_code(null) + +/datum/component/lockable_storage/proc/break_lock() + can_hack_open = FALSE // since it's broken for good lock_code = null + var/obj/source = parent + source.obj_flags |= EMAGGED + source.atom_storage.locked = STORAGE_NOT_LOCKED + SEND_SIGNAL(source, COMSIG_LOCKABLE_STORAGE_SET_CODE, lock_code) + source.update_appearance() + /datum/component/lockable_storage/proc/on_emag(obj/source, mob/user, obj/item/card/emag/emag_card) SIGNAL_HANDLER @@ -154,17 +159,36 @@ if(source.obj_flags & EMAGGED) return FALSE - source.obj_flags |= EMAGGED - can_hack_open = FALSE // since it's broken for good source.visible_message(span_warning("Sparks fly from [source]!"), blind_message = span_hear("You hear a faint electrical spark.")) source.balloon_alert(user, "lock destroyed") playsound(source, SFX_SPARKS, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - lock_code = null - source.atom_storage.locked = STORAGE_NOT_LOCKED - source.update_appearance() + break_lock() return ITEM_INTERACT_SUCCESS +/** + * Sets the lock code for this storage and updates the locked state accordingly + * Arguments: + * * new_code - The new lock code to set, can be null to remove the code + */ +/datum/component/lockable_storage/proc/set_lock_code(new_code, mob/living/user) + var/obj/source = parent + + // Can't set lock code if the electronics are emagged + if(source.obj_flags & EMAGGED) + return FALSE + + lock_code = new_code + SEND_SIGNAL(source, COMSIG_LOCKABLE_STORAGE_SET_CODE, new_code) + var/lock_state = lock_code ? STORAGE_FULLY_LOCKED : STORAGE_NOT_LOCKED + source.atom_storage.set_locked(lock_state) + source.update_appearance() + + if(istype(user) && new_code) + to_chat(user, span_notice("You set the [source] pincode to [lock_code].")) + + return TRUE + ///Updates the icon state depending on if we're locked or not. /datum/component/lockable_storage/proc/on_update_icon_state(obj/source) SIGNAL_HANDLER @@ -219,7 +243,7 @@ if(!lock_code) if(length(numeric_input) != 5) return TRUE - lock_code = numeric_input + set_lock_code(numeric_input, usr) numeric_input = "" return TRUE //unlocking the current code. diff --git a/code/datums/components/riding/riding_vehicle.dm b/code/datums/components/riding/riding_vehicle.dm index 9002801770d..44ab639f2e6 100644 --- a/code/datums/components/riding/riding_vehicle.dm +++ b/code/datums/components/riding/riding_vehicle.dm @@ -475,3 +475,60 @@ var/obj/vehicle/ridden/wheelchair/motorized/our_chair = parent if(istype(our_chair) && our_chair.power_cell) our_chair.power_cell.use(our_chair.energy_usage / max(our_chair.power_efficiency, 1) * 0.05) + +/datum/component/riding/vehicle/golfcart + ride_check_flags = RIDER_NEEDS_ARMS | UNBUCKLE_DISABLED_RIDER + vehicle_move_delay = 1.5 + keytype = /obj/item/key/golfcart + +/datum/component/riding/vehicle/golfcart/restore_parent_layer_and_offsets() + // just don't restore anything. + // restoring layers fucks stuff to do with the rear part + return + +/datum/component/riding/vehicle/golfcart/driver_move(atom/movable/movable_parent, mob/living/user, direction) + if (!istype(parent, /obj/vehicle/ridden/golfcart)) + return ..() + var/obj/vehicle/ridden/golfcart/cart = parent + if (!cart.cell && !cart.is_hotrod()) + return COMPONENT_DRIVER_BLOCK_MOVE + if (cart.cell) + if (cart.cell.charge <= 0) + return COMPONENT_DRIVER_BLOCK_MOVE + if (get_turf(cart.child) == get_step(cart, direction)) + cart.set_movedelay_effect(2) + else + cart.set_movedelay_effect(1) + vehicle_move_delay = cart.movedelay + return ..() + +/datum/component/riding/vehicle/golfcart/handle_ride(mob/user, direction) + if (!istype(parent, /obj/vehicle/ridden/golfcart)) + return ..() + var/obj/vehicle/ridden/golfcart/cart = parent + if (cart.cell) + var/charge_to_use = min(cart.charge_per_move, cart.cell.charge) + cart.cell.use(charge_to_use) + return ..() + +/datum/component/riding/vehicle/golfcart/update_parent_layer_and_offsets(dir, animate) + . = ..() + if (istype(parent, /obj)) + var/obj/objectified = parent + objectified.update_appearance(UPDATE_ICON) + +/datum/component/riding/vehicle/golfcart/get_rider_offsets_and_layers(pass_index, mob/offsetter) + return list( + TEXT_NORTH = list(0, -16), + TEXT_SOUTH = list(0, 10), + TEXT_EAST = list(-8, 2), + TEXT_WEST = list(8, 2), + ) + +/datum/component/riding/vehicle/golfcart/get_parent_offsets_and_layers() + return list( + TEXT_NORTH = list(0, 0, ABOVE_MOB_LAYER), + TEXT_SOUTH = list(0, 0, ABOVE_MOB_LAYER), + TEXT_EAST = list(0, 0, VEHICLE_LAYER), + TEXT_WEST = list(0, 0, VEHICLE_LAYER), + ) diff --git a/code/datums/components/throwbonus_on_windup.dm b/code/datums/components/throwbonus_on_windup.dm index f93109126d1..dd12b945f29 100644 --- a/code/datums/components/throwbonus_on_windup.dm +++ b/code/datums/components/throwbonus_on_windup.dm @@ -45,13 +45,17 @@ start_windup() /datum/component/throwbonus_on_windup/proc/start_windup() + if(!QDELETED(our_bar)) + CRASH("throwbonus_on_windup component attempted to start windup while already winding up a throw!") throwforce_bonus = initial(throwforce_bonus) var/mob/living/our_holder = holder?.resolve() if(isnull(holder)) return + if(throw_text) to_chat(our_holder, span_warning(throw_text)) + var/x_position = CEILING(our_holder.get_visual_width() * 0.5, 1) our_bar = new() our_bar.maximum_count = maximum_bonus @@ -76,9 +80,12 @@ holder = null return ..() -/datum/component/throwbonus_on_windup/proc/throw_change(datum/source, throw_mode) +/datum/component/throwbonus_on_windup/proc/throw_change(mob/living/source, throw_mode) SIGNAL_HANDLER + if (source.get_active_held_item() != parent) + return + if(throw_mode) start_windup() else diff --git a/code/datums/components/wall_mounted.dm b/code/datums/components/wall_mounted.dm index daab50eb187..757b171023e 100644 --- a/code/datums/components/wall_mounted.dm +++ b/code/datums/components/wall_mounted.dm @@ -2,40 +2,26 @@ /datum/component/wall_mounted dupe_mode = COMPONENT_DUPE_ALLOWED /// The wall our object is currently linked to. - var/turf/hanging_wall_turf - /// Callback to the parent's proc to call on the linked object when the wall disappear's or changes. - var/datum/callback/on_drop + var/turf/closed/wall/hanging_wall_turf /datum/component/wall_mounted/Initialize(target_wall, on_drop_callback) . = ..() - if(!isobj(parent)) - return COMPONENT_INCOMPATIBLE - if(!isturf(target_wall)) + if(!isobj(parent) || !iswallturf(target_wall)) return COMPONENT_INCOMPATIBLE hanging_wall_turf = target_wall - on_drop = on_drop_callback /datum/component/wall_mounted/RegisterWithParent() ADD_TRAIT(parent, TRAIT_WALLMOUNTED, REF(src)) RegisterSignal(hanging_wall_turf, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine)) RegisterSignal(hanging_wall_turf, COMSIG_TURF_CHANGE, PROC_REF(on_turf_changing)) RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_move)) - RegisterSignal(parent, COMSIG_QDELETING, PROC_REF(on_linked_destroyed)) /datum/component/wall_mounted/UnregisterFromParent() REMOVE_TRAIT(parent, TRAIT_WALLMOUNTED, REF(src)) UnregisterSignal(hanging_wall_turf, list(COMSIG_ATOM_EXAMINE, COMSIG_TURF_CHANGE)) - UnregisterSignal(parent, list(COMSIG_QDELETING, COMSIG_MOVABLE_MOVED)) + UnregisterSignal(parent, COMSIG_MOVABLE_MOVED) hanging_wall_turf = null -/** - * Basic reference handling if the hanging/linked object is destroyed first. - */ -/datum/component/wall_mounted/proc/on_linked_destroyed() - SIGNAL_HANDLER - if(!QDELING(src)) - qdel(src) - /** * When the wall is examined, explains that it's supporting the linked object. */ @@ -49,7 +35,8 @@ */ /datum/component/wall_mounted/proc/on_turf_changing(datum/source, path, new_baseturfs, flags, post_change_callbacks) SIGNAL_HANDLER - if (ispath(path, /turf/open)) + + if(ispath(path, /turf/open)) drop_wallmount() @@ -69,34 +56,21 @@ * Except for intercoms, which are handled by creating a new wallframe intercom, as they're apparently items. */ /datum/component/wall_mounted/proc/drop_wallmount() - SIGNAL_HANDLER + PRIVATE_PROC(TRUE) + var/obj/hanging_parent = parent + hanging_parent.visible_message(message = span_warning("\The [hanging_parent] falls apart!"), vision_distance = 5) + hanging_parent.deconstruct(FALSE) - if(on_drop) - hanging_parent.visible_message(message = span_warning("\The [hanging_parent] falls off the wall!"), vision_distance = 5) - on_drop.Invoke(hanging_parent) - else - hanging_parent.visible_message(message = span_warning("\The [hanging_parent] falls apart!"), vision_distance = 5) - hanging_parent.deconstruct() - if(!QDELING(src)) - qdel(src) //Well, we fell off the wall, so we're done here. - -/** - * Checks object direction and then verifies if there's a wall in that direction. Finally, applies a wall_mounted component to the object. - * - * @param directional If TRUE, will use the direction of the object to determine the wall to attach to. If FALSE, will use the object's loc. - * @param custom_drop_callback If set, will use this callback instead of the default deconstruct callback. - */ -/obj/proc/find_and_hang_on_wall(directional = TRUE, custom_drop_callback) +///Checks object direction and then verifies if there's a wall in that direction. Finally, applies a wall_mounted component to the object. +/obj/proc/find_and_hang_on_wall() if(istype(get_area(src), /area/shuttle)) return FALSE //For now, we're going to keep the component off of shuttles to avoid the turf changing issue. We'll hit that later really; - var/turf/attachable_wall - if(directional) - attachable_wall = get_step(src, dir) - else - attachable_wall = loc ///Pull from the curent object loc + var/turf/attachable_wall = loc //first attempt to locate a wall in our current turf if(!iswallturf(attachable_wall)) - return FALSE//Nothing to latch onto, or not the right thing. - src.AddComponent(/datum/component/wall_mounted, attachable_wall, custom_drop_callback) + attachable_wall = get_step(src, dir) //if no then attempt to locate it in our direction + if(!iswallturf(attachable_wall)) + return FALSE //Nothing to latch onto, or not the right thing. + AddComponent(/datum/component/wall_mounted, attachable_wall) return TRUE diff --git a/code/datums/diseases/advance/symptoms/deafness.dm b/code/datums/diseases/advance/symptoms/deafness.dm index bf096a9fb4a..89755c17c4b 100644 --- a/code/datums/diseases/advance/symptoms/deafness.dm +++ b/code/datums/diseases/advance/symptoms/deafness.dm @@ -45,7 +45,6 @@ return var/mob/living/carbon/infected_mob = advanced_disease.affected_mob - var/obj/item/organ/ears/ears = infected_mob.get_organ_slot(ORGAN_SLOT_EARS) switch(advanced_disease.stage) if(3, 4) @@ -53,15 +52,18 @@ to_chat(infected_mob, span_warning("[pick("You hear a ringing in your ear.", "Your ears pop.")]")) if(5) if(causes_permanent_deafness) - if(ears.damage < ears.maxHealth) + if(!HAS_TRAIT_FROM(infected_mob, TRAIT_DEAF, DISEASE_TRAIT)) to_chat(infected_mob, span_userdanger("Your ears pop painfully and start bleeding!")) // Just absolutely murder me man - ears.apply_organ_damage(ears.maxHealth) + infected_mob.adjustOrganLoss(ORGAN_SLOT_EARS, INFINITY) infected_mob.emote("scream") ADD_TRAIT(infected_mob, TRAIT_DEAF, DISEASE_TRAIT) else to_chat(infected_mob, span_userdanger("Your ears pop and begin ringing loudly!")) - ears.deaf = min(20, ears.deaf + 15) + var/obj/item/organ/ears/ears = infected_mob.get_organ_slot(ORGAN_SLOT_EARS) + var/deafness_to_add = min(40 SECONDS - ears.temporary_deafness, 30 SECONDS) + if(deafness_to_add > 0) + ears.adjust_temporary_deafness(deafness_to_add) /datum/symptom/deafness/on_stage_change(datum/disease/advance/advanced_disease) . = ..() diff --git a/code/datums/diseases/advance/symptoms/sensory.dm b/code/datums/diseases/advance/symptoms/sensory.dm index 2848ec484b3..e0677571599 100644 --- a/code/datums/diseases/advance/symptoms/sensory.dm +++ b/code/datums/diseases/advance/symptoms/sensory.dm @@ -96,7 +96,8 @@ if(4, 5) if(advanced_disease.has_required_infectious_organ(infected_mob, ORGAN_SLOT_EARS)) var/obj/item/organ/ears/ears = infected_mob.get_organ_slot(ORGAN_SLOT_EARS) - ears.adjustEarDamage(-4, -4) + ears?.apply_organ_damage(-4) + ears?.adjust_temporary_deafness(-8 SECONDS) if(!advanced_disease.has_required_infectious_organ(infected_mob, ORGAN_SLOT_EYES)) return diff --git a/code/datums/elements/cuffable_item.dm b/code/datums/elements/cuffable_item.dm index 4d22337098f..b81068d2361 100644 --- a/code/datums/elements/cuffable_item.dm +++ b/code/datums/elements/cuffable_item.dm @@ -20,7 +20,7 @@ if(length(user.held_items) < 0 || iscyborg(user) || source.anchored) return - examine_list += span_smallnotice("You could bind [source.p_they()] to your wrist with a pair of handcuffs...") + examine_list += span_smallnotice("You could bind [source.p_them()] to your wrist with a pair of handcuffs...") ///Give context to players holding a pair of handcuffs when hovering the item /datum/element/cuffable_item/proc/on_requesting_context_from_item(datum/source, list/context, obj/item/held_item, mob/user) diff --git a/code/datums/elements/earhealing.dm b/code/datums/elements/earhealing.dm index ac69e8cc18e..33e599eddbe 100644 --- a/code/datums/elements/earhealing.dm +++ b/code/datums/elements/earhealing.dm @@ -27,8 +27,9 @@ for(var/i in user_by_item) var/mob/living/carbon/user = user_by_item[i] var/obj/item/organ/ears/ears = user.get_organ_slot(ORGAN_SLOT_EARS) - if(!ears || !ears.damage || (ears.organ_flags & ORGAN_FAILING) || IS_ROBOTIC_ORGAN(ears)) + if(!ears || (ears.organ_flags & ORGAN_FAILING) || IS_ROBOTIC_ORGAN(ears)) continue - ears.deaf = max(ears.deaf - 0.25 * seconds_per_tick, (ears.damage < ears.maxHealth ? 0 : 1)) // Do not clear deafness if our ears are too damaged + + ears.adjust_temporary_deafness(-0.5 SECONDS * seconds_per_tick) ears.apply_organ_damage(-0.025 * seconds_per_tick) CHECK_TICK diff --git a/code/datums/elements/food/processable.dm b/code/datums/elements/food/processable.dm index 59c8c046263..cffd0c5f22f 100644 --- a/code/datums/elements/food/processable.dm +++ b/code/datums/elements/food/processable.dm @@ -14,8 +14,10 @@ var/table_required ///Verb used in processing food (such as slice, flatten), defaults to process var/screentip_verb + ///Sound to play when the do_after begins + var/sound_to_play -/datum/element/processable/Attach(datum/target, tool_behaviour, result_atom_type, amount_created = 3, time_to_process = 2 SECONDS, table_required = FALSE, screentip_verb = "Process") +/datum/element/processable/Attach(datum/target, tool_behaviour, result_atom_type, amount_created = 3, time_to_process = 2 SECONDS, table_required = FALSE, screentip_verb = "Process", sound_to_play = null) . = ..() if(!isatom(target)) return ELEMENT_INCOMPATIBLE @@ -26,6 +28,7 @@ src.result_atom_type = result_atom_type src.table_required = table_required src.screentip_verb = screentip_verb + src.sound_to_play = sound_to_play var/atom/atom_target = target atom_target.flags_1 |= HAS_CONTEXTUAL_SCREENTIPS_1 @@ -67,7 +70,7 @@ to_chat(user, span_notice("You cannot make [initial(result_atom_type.name)] here! You need a table or at least a tray.")) return - mutable_recipes += list(list(TOOL_PROCESSING_RESULT = result_atom_type, TOOL_PROCESSING_AMOUNT = amount_created, TOOL_PROCESSING_TIME = time_to_process)) + mutable_recipes += list(list(TOOL_PROCESSING_RESULT = result_atom_type, TOOL_PROCESSING_AMOUNT = amount_created, TOOL_PROCESSING_TIME = time_to_process, TOOL_PROCESSING_SOUND = sound_to_play)) ///So people know what the frick they're doing without reading from a wiki page (I mean they will inevitably but i'm trying to help, ok?) /datum/element/processable/proc/OnExamine(atom/source, mob/user, list/examine_list) diff --git a/code/datums/elements/tool_renaming.dm b/code/datums/elements/tool_renaming.dm index 729c5fd6a21..7583d27495b 100644 --- a/code/datums/elements/tool_renaming.dm +++ b/code/datums/elements/tool_renaming.dm @@ -28,15 +28,17 @@ return NONE var/obj/renamed_obj = interacting_with + var/obj/item/tool = source - if(!(renamed_obj.obj_flags & UNIQUE_RENAME)) + if(!(renamed_obj.obj_flags & UNIQUE_RENAME) || !user.can_write(tool)) return NONE - - INVOKE_ASYNC(src, PROC_REF(async_rename), user, renamed_obj) + INVOKE_ASYNC(src, PROC_REF(async_rename), user, renamed_obj, !(renamed_obj.obj_flags & RENAME_NO_DESC)) return ITEM_INTERACT_SUCCESS -/datum/element/tool_renaming/proc/async_rename(mob/living/user, obj/renamed_obj) - var/custom_choice = tgui_input_list(user, "What would you like to edit?", "Customization", list(OPTION_RENAME, OPTION_DESCRIPTION, OPTION_RESET)) +/datum/element/tool_renaming/proc/async_rename(mob/living/user, obj/renamed_obj, description_option) + if(!renamed_obj.rename_checks(user)) + return + var/custom_choice = tgui_input_list(user, "What would you like to edit?", "Customization", list(OPTION_RENAME, description_option? OPTION_DESCRIPTION : null, OPTION_RESET)) if(QDELETED(renamed_obj) || !user.can_perform_action(renamed_obj) || isnull(custom_choice)) return @@ -49,7 +51,7 @@ if(input == old_name || !input) to_chat(user, span_notice("You changed [renamed_obj] to... well... [renamed_obj].")) return - renamed_obj.AddComponent(/datum/component/rename, input, renamed_obj.desc) + renamed_obj.AddComponent(/datum/component/rename, renamed_obj.nameformat(input, user), renamed_obj.desc) to_chat(user, span_notice("You have successfully renamed \the [old_name] to [renamed_obj].")) renamed_obj.update_appearance(UPDATE_NAME) @@ -61,13 +63,14 @@ if(input == old_desc || !input) to_chat(user, span_notice("You decide against changing [renamed_obj]'s description.")) return - renamed_obj.AddComponent(/datum/component/rename, renamed_obj.name, input) + renamed_obj.AddComponent(/datum/component/rename, renamed_obj.name, renamed_obj.descformat(input, user)) to_chat(user, span_notice("You have successfully changed [renamed_obj]'s description.")) renamed_obj.update_appearance(UPDATE_DESC) if(OPTION_RESET) qdel(renamed_obj.GetComponent(/datum/component/rename)) - to_chat(user, span_notice("You have successfully reset [renamed_obj]'s name and description.")) + to_chat(user, span_notice("You have successfully reset [renamed_obj]'s name[renamed_obj.obj_flags & RENAME_NO_DESC? "." : " and description."]")) + renamed_obj.rename_reset() renamed_obj.update_appearance(UPDATE_NAME | UPDATE_DESC) #undef OPTION_RENAME diff --git a/code/datums/id_trim/jobs.dm b/code/datums/id_trim/jobs.dm index 47aebcf2c25..e15d5fecff2 100644 --- a/code/datums/id_trim/jobs.dm +++ b/code/datums/id_trim/jobs.dm @@ -353,6 +353,7 @@ ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_VIROLOGY, + ACCESS_PARAMEDIC, ) template_access = list( ACCESS_CAPTAIN, @@ -432,6 +433,7 @@ ACCESS_RC_ANNOUNCE, ACCESS_SURGERY, ACCESS_VIROLOGY, + ACCESS_PARAMEDIC, ) minimal_wildcard_access = list( ACCESS_CMO, @@ -519,6 +521,7 @@ ACCESS_PSYCHOLOGY, ACCESS_PHARMACY, ACCESS_VIROLOGY, + ACCESS_PARAMEDIC, ) template_access = list( ACCESS_CAPTAIN, @@ -797,6 +800,7 @@ ACCESS_PHARMACY, ACCESS_SURGERY, ACCESS_VIROLOGY, + ACCESS_PARAMEDIC, ) template_access = list( ACCESS_CAPTAIN, @@ -840,6 +844,7 @@ ACCESS_MAINT_TUNNELS, ACCESS_MORGUE, ACCESS_MECH_MEDICAL, + ACCESS_PARAMEDIC, ) extra_access = list( ACCESS_BIT_DEN, @@ -1194,6 +1199,7 @@ ACCESS_PLUMBING, ACCESS_SURGERY, ACCESS_VIROLOGY, + ACCESS_PARAMEDIC, ) honorifics = list("Orderly", "Officer") diff --git a/code/datums/mapgen/Cavegens/IcemoonCaves.dm b/code/datums/mapgen/Cavegens/IcemoonCaves.dm index aa1b7aeba89..39c1a3b8775 100644 --- a/code/datums/mapgen/Cavegens/IcemoonCaves.dm +++ b/code/datums/mapgen/Cavegens/IcemoonCaves.dm @@ -26,11 +26,12 @@ ///Note that this spawn list is also in the lavaland generator weighted_feature_spawn_list = list( - /obj/structure/geyser/hollowwater = 10, - /obj/structure/geyser/plasma_oxide = 10, - /obj/structure/geyser/protozine = 10, + /obj/structure/geyser/hollowwater = 8, + /obj/structure/geyser/plasma_oxide = 8, + /obj/structure/geyser/protozine = 8, /obj/structure/geyser/random = 2, - /obj/structure/geyser/wittel = 10, + /obj/structure/geyser/wittel = 8, + /obj/structure/geyser/chiral_buffer = 8, /obj/structure/ore_vent/boss/icebox = 1, ) @@ -45,11 +46,12 @@ feature_spawn_chance = 0.15 weighted_feature_spawn_list = list( - /obj/structure/geyser/hollowwater = 10, - /obj/structure/geyser/plasma_oxide = 10, - /obj/structure/geyser/protozine = 10, + /obj/structure/geyser/hollowwater = 8, + /obj/structure/geyser/plasma_oxide = 8, + /obj/structure/geyser/protozine = 8, /obj/structure/geyser/random = 2, - /obj/structure/geyser/wittel = 10, + /obj/structure/geyser/wittel = 8, + /obj/structure/geyser/chiral_buffer = 8, ) weighted_flora_spawn_list = list( diff --git a/code/datums/mapgen/Cavegens/LavalandGenerator.dm b/code/datums/mapgen/Cavegens/LavalandGenerator.dm index 47b62ce4a1b..be4dc3710f2 100644 --- a/code/datums/mapgen/Cavegens/LavalandGenerator.dm +++ b/code/datums/mapgen/Cavegens/LavalandGenerator.dm @@ -29,11 +29,12 @@ ///Note that this spawn list is also in the icemoon generator weighted_feature_spawn_list = list( - /obj/structure/geyser/hollowwater = 10, - /obj/structure/geyser/plasma_oxide = 10, - /obj/structure/geyser/protozine = 10, + /obj/structure/geyser/hollowwater = 8, + /obj/structure/geyser/plasma_oxide = 8, + /obj/structure/geyser/protozine = 8, /obj/structure/geyser/random = 2, - /obj/structure/geyser/wittel = 10, + /obj/structure/geyser/wittel = 8, + /obj/structure/geyser/chiral_buffer = 8, /obj/structure/ore_vent/boss = 1, ) diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm index 0ca1b52a55c..66a5dc8ce49 100644 --- a/code/datums/mood_events/generic_negative_events.dm +++ b/code/datums/mood_events/generic_negative_events.dm @@ -565,11 +565,19 @@ var/pet_message = "%DEAD_MOB% just died!!" /// Message variant for desensitized people (security, medical, cult with halo, etc) var/desensitized_message = "I saw %DEAD_MOB% die." + /// Standard message variant var/normal_message = "I just saw %DEAD_MOB% die. How horrible..." + /// Naive mobs are immune to the effect + var/naive_immune = TRUE /datum/mood_event/see_death/add_effects(mob/dead_mob) if(isnull(dead_mob)) return + if(HAS_TRAIT(owner, TRAIT_NAIVE) && naive_immune) + description = "Have a good nap, [dead_mob.name]." + mood_change = 0 + timeout *= 0.2 + return if(HAS_TRAIT(dead_mob, TRAIT_SPAWNED_MOB)) mood_change *= 0.25 timeout *= 0.2 @@ -637,6 +645,7 @@ pet_message = "%DEAD_MOB% just exploded!!" desensitized_message = "I saw %DEAD_MOB% explode." normal_message = "%DEAD_MOB% just exploded in front of me!!" + naive_immune = FALSE /datum/mood_event/see_death/dusted description = "Someone was just vaporized in front of me!! I don't feel so good..." @@ -646,6 +655,7 @@ pet_message = "%DEAD_MOB% just vaporized!!" desensitized_message = "I saw %DEAD_MOB% get vaporized." normal_message = "%DEAD_MOB% was just vaporized in front of me!!" + naive_immune = FALSE /datum/mood_event/slots/loss description = "Aww dang it!" diff --git a/code/datums/outfit.dm b/code/datums/outfit.dm index 53c36029a73..36a900f36bf 100644 --- a/code/datums/outfit.dm +++ b/code/datums/outfit.dm @@ -24,20 +24,20 @@ var/id_trim = null /// Type path of item to go in uniform slot - var/uniform = null + var/obj/item/uniform = null /// Type path of item to go in suit slot - var/suit = null + var/obj/item/suit = null /** * Type path of item to go in suit storage slot * * (make sure it's valid for that suit) */ - var/suit_store = null + var/obj/item/suit_store = null /// Type path of item to go in back slot - var/back = null + var/obj/item/back = null /** * list of items that should go in the backpack of the user @@ -47,7 +47,7 @@ var/list/backpack_contents = null /// Type path of item to go in belt slot - var/belt = null + var/obj/item/belt = null /** * list of items that should go in the belt of the user @@ -513,7 +513,7 @@ for(var/item in beltpack) var/itype = text2path(item) if(itype) - belt_contents[itype] = belt[item] + belt_contents[itype] = beltpack[item] box = text2path(outfit_data["box"]) var/list/impl = outfit_data["implants"] implants = list() diff --git a/code/datums/quirks/positive_quirks/chipped.dm b/code/datums/quirks/positive_quirks/chipped.dm index 484cf5ed382..96bd668ecce 100644 --- a/code/datums/quirks/positive_quirks/chipped.dm +++ b/code/datums/quirks/positive_quirks/chipped.dm @@ -3,19 +3,16 @@ desc = "You got caught up in the skillchip craze a few years back, and had one of the commercially available chips implanted into yourself." icon = FA_ICON_MICROCHIP value = 2 - gain_text = span_notice("The chip in your head itches a bit.") - lose_text = span_danger("You don't feel so chipped anymore..") - medical_record_text = "Patient explained how they got caught up in 'the skillchip chase' recently, and now the chip in their head itches every so often. Dumbass." + gain_text = span_notice("You suddenly feels chipped.") + lose_text = span_danger("You don't feel so chipped anymore.") + medical_record_text = "Patient explained how they got caught up in 'the skillchip chase' recently, and now they have some useless chip in their head. Dumbass." mail_goodies = list( /obj/item/skillchip/matrix_taunt, /obj/item/skillchip/big_pointer, /obj/item/skillchip/acrobatics, - /obj/item/storage/pill_bottle/mannitol/braintumor, ) /// Variable that holds the chip, used on removal. var/obj/item/skillchip/installed_chip - ///itchy status effect we give our owner - var/datum/itchy_effect /datum/quirk_constant_data/chipped associated_typepath = /datum/quirk/chipped @@ -27,8 +24,8 @@ if(isnull(chip_pref)) return ..() installed_chip = GLOB.quirk_chipped_choice[chip_pref] || GLOB.quirk_chipped_choice[pick(GLOB.quirk_chipped_choice)] - gain_text = span_notice("The [installed_chip::name] in your head itches a bit.") - lose_text = span_notice("Your head stops itching so much.") + gain_text = span_notice("The [installed_chip::name] in your head buzzes with knowledge.") + lose_text = span_notice("You stop feeling the chip inside your head.") return ..() /datum/quirk/chipped/add_unique(client/client_source) @@ -37,48 +34,9 @@ var/mob/living/carbon/quirk_holder_carbon = quirk_holder installed_chip = new installed_chip() - - RegisterSignals(installed_chip, list(COMSIG_QDELETING, COMSIG_SKILLCHIP_REMOVED), PROC_REF(remove_effect)) - RegisterSignal(installed_chip, COMSIG_SKILLCHIP_IMPLANTED, PROC_REF(apply_effect)) - quirk_holder_carbon.implant_skillchip(installed_chip, force = TRUE) installed_chip.try_activate_skillchip(silent = FALSE, force = TRUE) -/datum/quirk/chipped/proc/apply_effect(datum/source, obj/item/brain_applied) - SIGNAL_HANDLER - var/mob/living/carbon/quirk_holder_carbon = quirk_holder - if(brain_applied == quirk_holder_carbon.get_organ_slot(ORGAN_SLOT_BRAIN)) - itchy_effect = quirk_holder.apply_status_effect(/datum/status_effect/itchy_skillchip_quirk) - -/datum/quirk/chipped/proc/remove_effect(datum/source, obj/item/brain_removed) - SIGNAL_HANDLER - var/mob/living/carbon/quirk_holder_carbon = quirk_holder - if(QDELING(source) || brain_removed == quirk_holder_carbon.get_organ_slot(ORGAN_SLOT_BRAIN)) - quirk_holder.remove_status_effect(itchy_effect) - itchy_effect = null - /datum/quirk/chipped/remove() QDEL_NULL(installed_chip) - if(itchy_effect) - quirk_holder.remove_status_effect(itchy_effect) - itchy_effect = null return ..() - -/datum/status_effect/itchy_skillchip_quirk - id = "itchy skillchip" - tick_interval_lowerbound = 5 SECONDS - tick_interval_upperbound = 10 MINUTES - alert_type = null - ///lower damage we apply to our itchy owner - var/minimum_damage = 1 - ///upper damage we apply to our itchy owner - var/maximum_damage = 5 - -/datum/status_effect/itchy_skillchip_quirk/tick(seconds_between_ticks) - var/mob/living/carbon/carbon_owner = owner - var/obj/item/organ/brain/itchy_brain = carbon_owner.get_organ_slot(ORGAN_SLOT_BRAIN) - if(isnull(itchy_brain)) - return - itchy_brain.apply_organ_damage(rand(minimum_damage, maximum_damage), maximum = itchy_brain.maxHealth * 0.3) - if(owner.stat == CONSCIOUS && !owner.incapacitated && owner.get_empty_held_indexes()) - to_chat(owner, span_warning("You scratch the itch in your head.")) diff --git a/code/datums/status_effects/debuffs/fire_stacks.dm b/code/datums/status_effects/debuffs/fire_stacks.dm index 5590a72bf4f..6190d7a71d2 100644 --- a/code/datums/status_effects/debuffs/fire_stacks.dm +++ b/code/datums/status_effects/debuffs/fire_stacks.dm @@ -289,7 +289,7 @@ owner.clear_mood_event("on_fire") SEND_SIGNAL(owner, COMSIG_LIVING_EXTINGUISHED, owner) cache_stacks() - for(var/obj/item/equipped in (owner.get_equipped_items(INCLUDE_HELD))) + for(var/obj/item/equipped as anything in owner.get_equipped_items(INCLUDE_HELD|INCLUDE_PROSTHETICS|INCLUDE_ABSTRACT)) equipped.extinguish() /datum/status_effect/fire_handler/fire_stacks/on_remove() diff --git a/code/game/atom/_atom.dm b/code/game/atom/_atom.dm index 86439f89225..77c6b482165 100644 --- a/code/game/atom/_atom.dm +++ b/code/game/atom/_atom.dm @@ -336,11 +336,12 @@ return FALSE /** - * Ensure a list of atoms/reagents exists inside this atom + * Called whenever an item is crafted, either via stack recipes or crafting recipes from the crafting menu * - * Cycles through the list of movables used up in the recipe and calls used_in_craft() for each of them - * then it either moves them inside the object or deletes - * them depending on whether they're in the list of parts for the recipe or not + * By default, it just cycles through the list of movables used in the recipe and calls used_in_craft() for each of them, + * then it either moves them inside the object if they're in the list of parts for the recipe + * or deletes them if they're not. + * The proc can be overriden by subtypes, as long as it always call parent. */ /atom/proc/on_craft_completion(list/components, datum/crafting_recipe/current_recipe, atom/crafter) SHOULD_CALL_PARENT(TRUE) @@ -349,17 +350,17 @@ var/list/parts_by_type = remaining_parts?.Copy() for(var/parttype in parts_by_type) //necessary for our is_type_in_list() call with the zebra arg set to true parts_by_type[parttype] = parttype - for(var/obj/item/item in components) // machinery or structure objects in the list are guaranteed to be used up. We only check items. - item.used_in_craft(src, current_recipe) - var/matched_type = is_type_in_list(item, parts_by_type, zebra = TRUE) + for(var/atom/movable/movable as anything in components) // machinery or structure objects in the list are guaranteed to be used up. We only check items. + movable.used_in_craft(src, current_recipe) + var/matched_type = is_type_in_list(movable, parts_by_type, zebra = TRUE) if(!matched_type) continue - if(isliving(item.loc)) - var/mob/living/living = item.loc - living.transferItemToLoc(item, src) + if(isliving(movable.loc) && isitem(movable)) + var/mob/living/living = movable.loc + living.transferItemToLoc(movable, src) else - item.forceMove(src) + movable.forceMove(src) if(matched_type) remaining_parts[matched_type] -= 1 @@ -653,7 +654,10 @@ /atom/proc/StartProcessingAtom(mob/living/user, obj/item/process_item, list/chosen_option) var/processing_time = chosen_option[TOOL_PROCESSING_TIME] + var/sound_to_play = chosen_option[TOOL_PROCESSING_SOUND] to_chat(user, span_notice("You start working on [src].")) + if(sound_to_play) + playsound(src, sound_to_play, 50, TRUE) if(!process_item.use_tool(src, user, processing_time, volume=50)) return var/atom/atom_to_create = chosen_option[TOOL_PROCESSING_RESULT] diff --git a/code/game/machinery/barsigns.dm b/code/game/machinery/barsigns.dm index 2b1b6fc4b85..1d0f7d8fbc9 100644 --- a/code/game/machinery/barsigns.dm +++ b/code/game/machinery/barsigns.dm @@ -30,7 +30,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/barsign, 32) //Roundstart/map specific barsigns "belong" in their area and should be renaming it, signs created from wallmounts will not. change_area_name = mapload set_sign(new /datum/barsign/hiddensigns/signoff) - find_and_hang_on_wall() + if(mapload) + find_and_hang_on_wall() /obj/machinery/barsign/proc/set_sign(datum/barsign/sign) if(!istype(sign)) diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index e1ae2b9c441..eb9661657fc 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -44,16 +44,12 @@ * INITIALIZATION */ -/obj/machinery/button/Initialize(mapload, ndir = 0, built = 0) +/obj/machinery/button/Initialize(mapload) . = ..() - if(built) - setDir(ndir) + if(!mapload) set_panel_open(TRUE) update_appearance() - if(!built && !device && device_type) - device = new device_type(src) - check_access(null) if(length(req_access) || length(req_one_access)) @@ -64,8 +60,9 @@ board.one_access = 1 board.accesses = req_one_access - setup_device() - find_and_hang_on_wall() + setup_device(mapload) + if(mapload) + find_and_hang_on_wall() register_context() /obj/machinery/button/Destroy() @@ -73,7 +70,9 @@ QDEL_NULL(board) return ..() -/obj/machinery/button/proc/setup_device() +/obj/machinery/button/proc/setup_device(mapload) + if(mapload && !device && device_type) + device = new device_type(src) if(id && istype(device, /obj/item/assembly/control)) var/obj/item/assembly/control/control_device = device control_device.id = id @@ -401,17 +400,17 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/button/door, 24) /obj/machinery/button/door/indestructible resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF -/obj/machinery/button/door/setup_device() - if(!device) - if(normaldoorcontrol) - var/obj/item/assembly/control/airlock/airlock_device = new(src) - airlock_device.specialfunctions = specialfunctions - device = airlock_device - else - var/obj/item/assembly/control/control_device = new(src) - control_device.sync_doors = sync_doors - device = control_device - ..() +/obj/machinery/button/door/setup_device(mapload) + if(mapload) + device = normaldoorcontrol ? new /obj/item/assembly/control/airlock(src) : new /obj/item/assembly/control(src) + + if(istype(device, /obj/item/assembly/control/airlock)) + var/obj/item/assembly/control/airlock/airlock_device = device + airlock_device.specialfunctions = specialfunctions + else if(istype(device, /obj/item/assembly/control)) + var/obj/item/assembly/control/control_device = device + control_device.sync_doors = sync_doors + return ..() /obj/machinery/button/door/incinerator_vent_ordmix name = "combustion chamber vent control" @@ -499,10 +498,11 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/button/door, 24) device_type = /obj/item/assembly/control/curtain var/sync_doors = TRUE -/obj/machinery/button/curtain/setup_device() +/obj/machinery/button/curtain/setup_device(mapload) + . = ..() var/obj/item/assembly/control/curtain = device - curtain.sync_doors = sync_doors - return ..() + if(istype(curtain)) + curtain.sync_doors = sync_doors /obj/machinery/button/crematorium name = "crematorium igniter" diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 724f9f55684..abf45157cf4 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -103,12 +103,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray, 0) fire = 90 acid = 50 -/obj/machinery/camera/Initialize(mapload, ndir, building) +/obj/machinery/camera/Initialize(mapload) . = ..() - if(building) - setDir(ndir) - for(var/network_name in network) network -= network_name network += LOWER_TEXT(network_name) @@ -130,8 +127,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray, 0) #endif alarm_manager = new(src) - find_and_hang_on_wall(directional = TRUE, \ - custom_drop_callback = CALLBACK(src, PROC_REF(deconstruct), FALSE)) + if(mapload) + find_and_hang_on_wall() /obj/machinery/camera/Destroy(force) if(can_use()) diff --git a/code/game/machinery/computer/telescreen.dm b/code/game/machinery/computer/telescreen.dm index 51f00c7f1b2..652ed9f6b1e 100644 --- a/code/game/machinery/computer/telescreen.dm +++ b/code/game/machinery/computer/telescreen.dm @@ -70,7 +70,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai /obj/machinery/computer/security/telescreen/entertainment/Initialize(mapload) . = ..() - find_and_hang_on_wall() + if(mapload) + find_and_hang_on_wall() register_context() RegisterSignal(SSdcs, COMSIG_GLOB_NETWORK_BROADCAST_UPDATED, PROC_REF(on_network_broadcast_updated)) speakers = new(src) diff --git a/code/game/machinery/defibrillator_mount.dm b/code/game/machinery/defibrillator_mount.dm index 8ad4b148f25..c2daea23545 100644 --- a/code/game/machinery/defibrillator_mount.dm +++ b/code/game/machinery/defibrillator_mount.dm @@ -24,7 +24,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/defibrillator_mount, 28) /obj/machinery/defibrillator_mount/loaded/Initialize(mapload) //loaded subtype for mapping use . = ..() defib = new/obj/item/defibrillator/loaded(src) - find_and_hang_on_wall() + if(mapload) + find_and_hang_on_wall() /obj/machinery/defibrillator_mount/Destroy() QDEL_NULL(defib) diff --git a/code/game/machinery/digital_clock.dm b/code/game/machinery/digital_clock.dm index edf6f480253..dc6384b843f 100644 --- a/code/game/machinery/digital_clock.dm +++ b/code/game/machinery/digital_clock.dm @@ -80,7 +80,8 @@ /obj/machinery/digital_clock/Initialize(mapload) . = ..() - find_and_hang_on_wall() + if(mapload) + find_and_hang_on_wall() AddElement(/datum/element/beauty, 200) /obj/machinery/digital_clock/process(seconds_per_tick) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 56c1907d25e..0e2e2b27ab4 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1177,7 +1177,7 @@ return if(atom_integrity < max_integrity) - if(!W.tool_start_check(user, amount=1)) + if(!W.tool_start_check(user, amount=1, heat_required = HIGH_TEMPERATURE_REQUIRED)) return user.visible_message(span_notice("[user] begins welding the airlock."), \ span_notice("You begin repairing the airlock..."), \ @@ -1192,7 +1192,7 @@ to_chat(user, span_notice("The airlock doesn't need repairing.")) /obj/machinery/door/airlock/try_to_weld_secondary(obj/item/weldingtool/tool, mob/user) - if(!tool.tool_start_check(user, amount=1)) + if(!tool.tool_start_check(user, amount=1, heat_required = HIGH_TEMPERATURE_REQUIRED)) return user.visible_message(span_notice("[user] begins [welded ? "unwelding":"welding"] the airlock."), \ span_notice("You begin [welded ? "unwelding":"welding"] the airlock..."), \ diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 1b5e012d2fb..4c452ea44f2 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -49,10 +49,10 @@ fire = 90 acid = 30 -/obj/machinery/firealarm/Initialize(mapload, dir, building) +/obj/machinery/firealarm/Initialize(mapload) . = ..() id_tag = assign_random_name() - if(building) + if(!mapload) buildstage = FIRE_ALARM_BUILD_NO_CIRCUIT set_panel_open(TRUE) if(name == initial(name)) @@ -78,10 +78,10 @@ ) register_context() - find_and_hang_on_wall() + if(mapload) + find_and_hang_on_wall() update_appearance() - /obj/machinery/firealarm/Destroy() if(my_area) LAZYREMOVE(my_area.firealarms, src) diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index 2fb6efb9d4b..91487035cc6 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -24,11 +24,11 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/flasher, 26) -/obj/machinery/flasher/Initialize(mapload, ndir = 0, built = 0) - . = ..() // ..() is EXTREMELY IMPORTANT, never forget to add it - if(!built) +/obj/machinery/flasher/Initialize(mapload) + . = ..() + if(mapload) bulb = new(src) - find_and_hang_on_wall() + find_and_hang_on_wall() /obj/machinery/flasher/vv_edit_var(vname, vval) . = ..() diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index 887c04ebede..e6d3b3b7ebc 100644 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -163,7 +163,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/sparker, 26) spark_system.set_up(2, 1, src) spark_system.attach(src) register_context() - find_and_hang_on_wall() + if(mapload) + find_and_hang_on_wall() /obj/machinery/sparker/Destroy() QDEL_NULL(spark_system) diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index ceb5716849a..00c1ceef188 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -34,7 +34,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light_switch, 26) area = get_area(src) if(autoname) name = "light switch ([area.name])" - find_and_hang_on_wall(custom_drop_callback = CALLBACK(src, PROC_REF(deconstruct), TRUE)) + if(mapload) + find_and_hang_on_wall() register_context() update_appearance() diff --git a/code/game/machinery/newscaster/newscaster_machine.dm b/code/game/machinery/newscaster/newscaster_machine.dm index bea301dbc64..05b265659fe 100644 --- a/code/game/machinery/newscaster/newscaster_machine.dm +++ b/code/game/machinery/newscaster/newscaster_machine.dm @@ -72,12 +72,13 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster, 30) -/obj/machinery/newscaster/Initialize(mapload, ndir, building) +/obj/machinery/newscaster/Initialize(mapload) . = ..() GLOB.allCasters += src GLOB.allbountyboards += src update_appearance() - find_and_hang_on_wall() + if(mapload) + find_and_hang_on_wall() /obj/machinery/newscaster/Destroy() GLOB.allCasters -= src diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index bb33b0ae906..d971bf30f6f 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -957,12 +957,13 @@ DEFINE_BITFIELD(turret_flags, list( /// List of weakrefs to all turrets var/list/turrets = list() -/obj/machinery/turretid/Initialize(mapload, ndir = 0, built = 0) +/obj/machinery/turretid/Initialize(mapload) . = ..() - if(built) + if(!mapload) locked = FALSE + else + find_and_hang_on_wall() power_change() //Checks power and initial settings - find_and_hang_on_wall() /obj/machinery/turretid/Destroy() turrets.Cut() diff --git a/code/game/machinery/porta_turret/portable_turret_construct.dm b/code/game/machinery/porta_turret/portable_turret_construct.dm index 93b0ada37fa..d84f7bee725 100644 --- a/code/game/machinery/porta_turret/portable_turret_construct.dm +++ b/code/game/machinery/porta_turret/portable_turret_construct.dm @@ -15,6 +15,7 @@ desc = "An unfinished covered turret frame." anchored = FALSE density = TRUE + obj_flags = UNIQUE_RENAME | RENAME_NO_DESC use_power = NO_POWER_USE var/build_step = PTURRET_UNSECURED //the current step in the building process var/finish_name = "turret" //the name applied to the product turret @@ -192,6 +193,12 @@ return return ..() +/obj/machinery/porta_turret_construct/nameformat(input, user) + finish_name = input + return input + +/obj/machinery/porta_turret_construct/rename_reset() + finish_name = initial(finish_name) /obj/machinery/porta_turret_construct/attack_hand(mob/user, list/modifiers) . = ..() diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index cef1cc95474..d011aa34a70 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -128,7 +128,8 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) if(dept_key) LAZYADD(GLOB.reta_consoles_by_origin[dept_key], src) - find_and_hang_on_wall() + if(mapload) + find_and_hang_on_wall() /obj/machinery/requests_console/Destroy() QDEL_LIST(messages) diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm index 820333071e1..0fb72b67e45 100644 --- a/code/game/machinery/status_display.dm +++ b/code/game/machinery/status_display.dm @@ -51,7 +51,7 @@ GLOBAL_DATUM_INIT(status_font, /datum/font, new /datum/font/tiny_unicode/size_12 pixel_shift = 32 //makes it go on the wall when built -/obj/machinery/status_display/Initialize(mapload, ndir, building) +/obj/machinery/status_display/Initialize(mapload) . = ..() update_appearance() @@ -407,7 +407,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/status_display/evac, 32) /obj/item/circuit_component/status_display, )) RegisterSignal(SSsecurity_level, COMSIG_SECURITY_LEVEL_CHANGED, PROC_REF(on_sec_level_change)) - find_and_hang_on_wall() + if(mapload) + find_and_hang_on_wall() /obj/machinery/status_display/evac/Destroy() SSradio.remove_object(src,frequency) @@ -846,7 +847,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/status_display/ai, 32) /// list to pick the first line from var/list/firstline_to_secondline = list() -/obj/machinery/status_display/random_message/Initialize(mapload, ndir, building) +/obj/machinery/status_display/random_message/Initialize(mapload) if(firstline_to_secondline?.len) message1 = pick(firstline_to_secondline) message2 = firstline_to_secondline[message1] diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 5ca275106b0..d8e5432d64e 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -7,8 +7,8 @@ icon_state = "classic" base_icon_state = "classic" power_channel = AREA_USAGE_EQUIP - density = TRUE - obj_flags = CAN_BE_HIT | BLOCKS_CONSTRUCTION // Becomes undense when the unit is open + density = TRUE // Becomes undense when the unit is open + obj_flags = CAN_BE_HIT | BLOCKS_CONSTRUCTION | UNIQUE_RENAME | RENAME_NO_DESC interaction_flags_mouse_drop = NEED_DEXTERITY max_integrity = 250 req_access = list() @@ -697,33 +697,6 @@ balloon_alert(user, "set to [choice]") return ITEM_INTERACT_SUCCESS - if(!state_open && IS_WRITING_UTENSIL(tool)) - if(locked) - balloon_alert(user, "unlock first!") - return ITEM_INTERACT_BLOCKING - if(isnull(id_card)) - balloon_alert(user, "not yours to rename!") - return ITEM_INTERACT_BLOCKING - - var/name_set = FALSE - var/desc_set = FALSE - var/str = tgui_input_text(user, "Personal Unit Name", "Unit Name", max_length = MAX_NAME_LEN) - if(!isnull(str)) - name = str - name_set = TRUE - str = tgui_input_text(user, "Personal Unit Description", "Unit Description", max_length = MAX_DESC_LEN) - if(!isnull(str)) - desc = str - desc_set = TRUE - var/bit_flag = NONE - if(name_set) - bit_flag |= UPDATE_NAME - if(desc_set) - bit_flag |= UPDATE_DESC - if(bit_flag) - update_appearance(bit_flag) - return ITEM_INTERACT_SUCCESS - if(state_open && is_operational) if(istype(tool, /obj/item/clothing/suit)) if(suit) @@ -804,6 +777,15 @@ if(.) return ..() +/obj/machinery/suit_storage_unit/rename_checks(mob/living/user) + . = TRUE + if(locked) + balloon_alert(user, "unlock first!") + return FALSE + if(!access_check(user)) + balloon_alert(user, "not yours to rename!") + return FALSE + /// If the SSU needs to have any communications wires cut. /obj/machinery/suit_storage_unit/proc/disable_modlink() if(isnull(mod)) diff --git a/code/game/machinery/wall_healer.dm b/code/game/machinery/wall_healer.dm index 89de765ecbe..cde06ebb98a 100644 --- a/code/game/machinery/wall_healer.dm +++ b/code/game/machinery/wall_healer.dm @@ -69,6 +69,8 @@ update_appearance() init_payment() register_context() + if(mapload) + find_and_hang_on_wall() /obj/machinery/wall_healer/Destroy() clear_using_mob() diff --git a/code/game/objects/effects/decals/cleanable/mess.dm b/code/game/objects/effects/decals/cleanable/mess.dm index d31f44a4b01..1a2e307c1b3 100644 --- a/code/game/objects/effects/decals/cleanable/mess.dm +++ b/code/game/objects/effects/decals/cleanable/mess.dm @@ -194,7 +194,8 @@ if(. || !ishuman(user)) return var/mob/living/carbon/human/as_human = user - if(!isflyperson(as_human)) + var/obj/item/organ/tongue/user_tongue = user.get_organ_slot(ORGAN_SLOT_TONGUE) + if(!istype(user_tongue, /obj/item/organ/tongue/fly)) return playsound(get_turf(src), 'sound/items/drink.ogg', 50, TRUE) //slurp as_human.visible_message(span_alert("[as_human] extends a small proboscis into the vomit pool, sucking it with a slurping sound.")) diff --git a/code/game/objects/items/cigarettes.dm b/code/game/objects/items/cigarettes.dm index d3288597a84..e2c131c7c97 100644 --- a/code/game/objects/items/cigarettes.dm +++ b/code/game/objects/items/cigarettes.dm @@ -421,16 +421,29 @@ CIGARETTE PACKETS ARE IN FANCY.DM damtype = BURN force = 4 - if(reagents && reagents.has_reagent(/datum/reagent/drug/methamphetamine)) + if(reagents?.has_reagent(/datum/reagent/flash_powder)) + if(!isliving(loc)) + loc.visible_message(span_hear("\The [src] burns up!")) + qdel(src) + return + var/mob/living/user = loc + loc.visible_message(span_hear("[user]'s [name] burns up as [p_they(user)] fall to the ground!"), span_danger("The solution violently explodes!")) + user.flash_act(INFINITY, visual = TRUE, length = 5 SECONDS) + user.playsound_local(get_turf(user), SFX_EXPLOSION, 50, TRUE) + user.cause_hallucination(/datum/hallucination/death, "trick trick [name]") + qdel(src) + return + + if(reagents?.has_reagent(/datum/reagent/drug/methamphetamine)) reagents.flags |= NO_REACT - if(reagents.get_reagent_amount(/datum/reagent/toxin/plasma)) // the plasma explodes when exposed to fire + if(reagents?.get_reagent_amount(/datum/reagent/toxin/plasma)) // the plasma explodes when exposed to fire var/datum/effect_system/reagents_explosion/e = new() e.set_up(round(reagents.get_reagent_amount(/datum/reagent/toxin/plasma) / 2.5, 1), get_turf(src), 0, 0) e.start(src) qdel(src) return - if(reagents.get_reagent_amount(/datum/reagent/fuel)) // the fuel explodes, too, but much less violently + if(reagents?.get_reagent_amount(/datum/reagent/fuel)) // the fuel explodes, too, but much less violently var/datum/effect_system/reagents_explosion/e = new() e.set_up(round(reagents.get_reagent_amount(/datum/reagent/fuel) / 5, 1), get_turf(src), 0, 0) e.start(src) @@ -709,6 +722,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM lung_harm = 2 list_reagents = list (/datum/reagent/drug/nicotine = 20, /datum/reagent/medicine/regen_jelly = 15, /datum/reagent/drug/krokodil = 4) +/obj/item/cigarette/flash_powder + desc = /obj/item/cigarette/space_cigarette::desc + list_reagents = list (/datum/reagent/drug/nicotine = 9, /datum/reagent/flash_powder = 5) + // Rollies. /obj/item/cigarette/rollie diff --git a/code/game/objects/items/control_wand.dm b/code/game/objects/items/control_wand.dm index 5188bbb0d34..cea7044427e 100644 --- a/code/game/objects/items/control_wand.dm +++ b/code/game/objects/items/control_wand.dm @@ -14,6 +14,8 @@ name = "control wand" desc = "A remote for controlling a set of airlocks." w_class = WEIGHT_CLASS_TINY + drop_sound = 'sound/items/door_remote/door_remote_drop1.ogg' + pickup_sound = 'sound/items/door_remote/door_remote_pick_up1.ogg' var/department = "civilian" var/mode = WAND_OPEN @@ -34,6 +36,10 @@ /area/station/ai_monitored/turret_protected/ai_upload, // their doors with our several dozen access helpers ) COOLDOWN_DECLARE(shock_cooldown) + /// sound played when mode is switched + var/mode_switch_sound = SFX_REMOTE_MODE_SWITCH + /// sound played when an action is done + var/action_sound = SFX_REMOTE_ACTION /obj/item/door_remote/Initialize(mapload) . = ..() @@ -80,6 +86,8 @@ mode = WAND_OPEN update_icon_state() balloon_alert(user, "mode: [ops[mode]]") + if(mode_switch_sound) + playsound(src, mode_switch_sound, 50, TRUE) /obj/item/door_remote/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) if(!istype(interacting_with, /obj/machinery/door) && !isturf(interacting_with)) @@ -159,6 +167,8 @@ /obj/item/door_remote/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) var/obj/machinery/door/door + if(action_sound) + playsound(src, action_sound, 50, TRUE) if (istype(interacting_with, /obj/machinery/door)) door = interacting_with diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 28065c4cead..07938d1d0d8 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -215,6 +215,7 @@ drawtype = pick(all_drawables) AddElement(/datum/element/venue_price, FOOD_PRICE_EXOTIC) + AddElement(/datum/element/tool_renaming) if(can_change_colour) AddComponent(/datum/component/palette, AVAILABLE_SPRAYCAN_SPACE, paint_color) diff --git a/code/game/objects/items/devices/beacon.dm b/code/game/objects/items/devices/beacon.dm index a7c34a92c0d..4e4bdcbf885 100644 --- a/code/game/objects/items/devices/beacon.dm +++ b/code/game/objects/items/devices/beacon.dm @@ -6,6 +6,7 @@ inhand_icon_state = "beacon" lefthand_file = 'icons/mob/inhands/items/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/items/devices_righthand.dmi' + obj_flags = UNIQUE_RENAME var/enabled = TRUE var/renamed = FALSE @@ -46,15 +47,3 @@ /obj/item/beacon/attack_hand_secondary(mob/user, list/modifiers) attack_self(user) return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN - -/obj/item/beacon/attackby(obj/item/W, mob/user) - if(IS_WRITING_UTENSIL(W)) // needed for things that use custom names like the locator - var/new_name = tgui_input_text(user, "What would you like the name to be?", "Beacon", max_length = MAX_NAME_LEN) - if(!user.can_perform_action(src)) - return - if(new_name) - name = new_name - renamed = TRUE - return - else - return ..() diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index ab35b3c08fe..c15b6083dc6 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -323,15 +323,63 @@ icon_state = "lightreplacer_high" max_uses = 50 +#define BLIGHTREPLACER_SPOT_COOLDOWN (BLIGHTREPLACER_SPOT_LIFE + 1 SECONDS) +#define BLIGHTREPLACER_SPOT_RANGE 7 +#define BLIGHTREPLACER_SPOT_LIFE (5 SECONDS) + /obj/item/lightreplacer/blue name = "bluespace light replacer" desc = "A modified light replacer that zaps lights into place. Refill with broken or working lightbulbs, or sheets of glass." icon_state = "lightreplacer_blue" bluespace_toggle = TRUE + actions_types = list(/datum/action/item_action/lightreplacer_scan) + action_slots = ALL + COOLDOWN_DECLARE(lightreplacer_spot_cooldown) /obj/item/lightreplacer/blue/emag_act() return FALSE // balancing against longrange explosions +/obj/item/lightreplacer/blue/ui_action_click(mob/user, actiontype) + if(!COOLDOWN_FINISHED(src, lightreplacer_spot_cooldown)) + balloon_alert(user, "on cooldown!") + return + COOLDOWN_START(src, lightreplacer_spot_cooldown, BLIGHTREPLACER_SPOT_COOLDOWN) + lightreplacer_scan() + +/// Scans the area in search of fixtures with broken bulbs in the BLIGHTREPLACER_SPOT_RANGE range, and also marks them with the blue_firefly effect. +/obj/item/lightreplacer/blue/proc/lightreplacer_scan() + var/turf/source_turf = get_turf(src) + for(var/obj/machinery/light/broken_light in dview(BLIGHTREPLACER_SPOT_RANGE, source_turf)) + if(broken_light.status == LIGHT_OK) + continue + var/obj/effect/temp_visual/blue_firefly/firefly = new(get_turf(broken_light)) + animate(firefly, alpha = 0, time = BLIGHTREPLACER_SPOT_LIFE, easing = CIRCULAR_EASING | EASE_IN) + +/datum/action/item_action/lightreplacer_scan + name = "Scan for broken lamps" + desc = "Scans the surrounding area for fixtures with broken light bulbs and marks them." + +/obj/effect/temp_visual/blue_firefly + name = "bluespace firefly" + icon = 'icons/effects/effects.dmi' + icon_state = "bluespace_firefly" + light_power = 1 + light_range = 2 + light_color = LIGHT_COLOR_DARK_BLUE + duration = BLIGHTREPLACER_SPOT_LIFE + +/obj/effect/temp_visual/blue_firefly/Initialize(mapload) + . = ..() + update_appearance(UPDATE_OVERLAYS) + +/obj/effect/temp_visual/blue_firefly/update_overlays() + . = ..() + . += emissive_appearance(icon, icon_state, src, alpha = src.alpha) + +#undef BLIGHTREPLACER_SPOT_COOLDOWN +#undef BLIGHTREPLACER_SPOT_RANGE +#undef BLIGHTREPLACER_SPOT_LIFE + #undef GLASS_SHEET_USES #undef LIGHTBULB_COST #undef BULB_SHARDS_REQUIRED diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 64bcf8a8398..0fb0a30157f 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -28,24 +28,27 @@ icon_state = "intercom_prison" icon_off = "intercom_prison-p" -/obj/item/radio/intercom/prison/Initialize(mapload, ndir, building) +/obj/item/radio/intercom/prison/Initialize(mapload) . = ..() wires?.cut(WIRE_TX) -/obj/item/radio/intercom/Initialize(mapload, ndir, building) +/obj/item/radio/intercom/Initialize(mapload) . = ..() var/area/current_area = get_area(src) if(!current_area) return RegisterSignal(current_area, COMSIG_AREA_POWER_CHANGE, PROC_REF(AreaPowerCheck)) + if(mapload) + find_and_hang_on_wall() GLOB.intercoms_list += src + +/obj/item/radio/intercom/find_and_hang_on_wall() if(!unscrewed) - find_and_hang_on_wall(directional = TRUE, \ - custom_drop_callback = CALLBACK(src, PROC_REF(knock_down))) + return ..() /obj/item/radio/intercom/Destroy() - . = ..() GLOB.intercoms_list -= src + return ..() /obj/item/radio/intercom/examine(mob/user) . = ..() @@ -87,7 +90,7 @@ if(tool.use_tool(src, user, 80)) user.visible_message(span_notice("[user] unsecures [src]!"), span_notice("You detach [src] from the wall.")) playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) - knock_down() + deconstruct(TRUE) /** * Override attack_tk_grab instead of attack_tk because we actually want attack_tk's @@ -187,9 +190,8 @@ /** * Called by the wall mount component and reused during the tool deconstruction proc. */ -/obj/item/radio/intercom/proc/knock_down() +/obj/item/radio/intercom/atom_deconstruct(disassembled) new/obj/item/wallframe/intercom(get_turf(src)) - qdel(src) //Created through the autolathe or through deconstructing intercoms. Can be applied to wall to make a new intercom on it! /obj/item/wallframe/intercom @@ -209,7 +211,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/item/radio/intercom, 27) anonymize = TRUE freqlock = RADIO_FREQENCY_EMAGGABLE_LOCK -/obj/item/radio/intercom/chapel/Initialize(mapload, ndir, building) +/obj/item/radio/intercom/chapel/Initialize(mapload) . = ..() set_frequency(1481) set_broadcasting(TRUE) diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index 149015ce292..912e4ddab95 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -109,8 +109,8 @@ update_appearance() /obj/item/taperecorder/fire_act(exposed_temperature, exposed_volume) - mytape.unspool() //Fires unspool the tape, which makes sense if you don't think about it - ..() + mytape?.unspool() //Fires unspool the tape, which makes sense if you don't think about it + return ..() //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/taperecorder/attack_hand(mob/user, list/modifiers) diff --git a/code/game/objects/items/dice.dm b/code/game/objects/items/dice.dm index e88d1389390..fe0fe2e2913 100644 --- a/code/game/objects/items/dice.dm +++ b/code/game/objects/items/dice.dm @@ -355,7 +355,7 @@ if(4) //Destroy Equipment selected_turf.visible_message(span_userdanger("Everything [user] is holding and wearing disappears!")) - var/list/belongings = user.get_all_gear() + var/list/belongings = user.get_all_gear(NONE) //don't delete prosthetics or abstract items. QDEL_LIST(belongings) if(5) //Monkeying diff --git a/code/game/objects/items/extinguisher.dm b/code/game/objects/items/extinguisher.dm index 11f629cb396..4d8c54bbea7 100644 --- a/code/game/objects/items/extinguisher.dm +++ b/code/game/objects/items/extinguisher.dm @@ -358,7 +358,7 @@ /obj/item/extinguisher/click_alt(mob/user) if(!user.is_holding(src)) - to_chat(user, span_notice("You must be holding the [src] in your hands do this!")) + to_chat(user, span_notice("You must be holding [src] in your hands to do this!")) return CLICK_ACTION_BLOCKING EmptyExtinguisher(user) return CLICK_ACTION_SUCCESS @@ -367,7 +367,7 @@ if(loc == user && reagents.total_volume) reagents.expose(user.loc, TOUCH) reagents.clear_reagents() - user.visible_message(span_notice("[user] empties out \the [src] onto the floor using the release valve."), span_info("You quietly empty out \the [src] using its release valve.")) + user.visible_message(span_notice("[user] empties out [src] onto the floor using the release valve."), span_info("You quietly empty out [src] using its release valve.")) //firebot assembly /obj/item/extinguisher/attackby(obj/O, mob/user, list/modifiers, list/attack_modifiers) diff --git a/code/game/objects/items/food/bread.dm b/code/game/objects/items/food/bread.dm index 3e62fb3d485..d7e91b562aa 100644 --- a/code/game/objects/items/food/bread.dm +++ b/code/game/objects/items/food/bread.dm @@ -22,7 +22,7 @@ /obj/item/food/bread/make_processable() if (slice_type) - AddElement(/datum/element/processable, TOOL_KNIFE, slice_type, yield, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice") + AddElement(/datum/element/processable, TOOL_KNIFE, slice_type, yield, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE) AddElement(/datum/element/processable, TOOL_SAW, slice_type, yield, 4 SECONDS, table_required = TRUE, screentip_verb = "Slice") // Abstract parent object for sliced bread items. Should not be made obtainable in game. diff --git a/code/game/objects/items/food/cake.dm b/code/game/objects/items/food/cake.dm index 91340435ab6..b5306367254 100644 --- a/code/game/objects/items/food/cake.dm +++ b/code/game/objects/items/food/cake.dm @@ -21,7 +21,7 @@ /obj/item/food/cake/make_processable() if (slice_type) - AddElement(/datum/element/processable, TOOL_KNIFE, slice_type, yield, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice") + AddElement(/datum/element/processable, TOOL_KNIFE, slice_type, yield, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/cakeslice icon = 'icons/obj/food/piecake.dmi' diff --git a/code/game/objects/items/food/cheese.dm b/code/game/objects/items/food/cheese.dm index 74af37742e7..ee608c7e408 100644 --- a/code/game/objects/items/food/cheese.dm +++ b/code/game/objects/items/food/cheese.dm @@ -59,7 +59,7 @@ AddComponent(/datum/component/food_storage) /obj/item/food/cheese/wheel/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/cheese/wedge, 5, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/cheese/wedge, 5, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/cheese/wheel/make_bakeable() AddComponent(/datum/component/bakeable, /obj/item/food/baked_cheese, rand(20 SECONDS, 25 SECONDS), TRUE, TRUE) @@ -131,7 +131,7 @@ crafting_complexity = FOOD_COMPLEXITY_3 /obj/item/food/cheese/firm_cheese/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/cheese/firm_cheese_slice, 3, 3 SECONDS, screentip_verb = "Slice") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/cheese/firm_cheese_slice, 3, 3 SECONDS, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/cheese/firm_cheese_slice name = "firm cheese slice" diff --git a/code/game/objects/items/food/dough.dm b/code/game/objects/items/food/dough.dm index fe58ad5b09e..9997b457bef 100644 --- a/code/game/objects/items/food/dough.dm +++ b/code/game/objects/items/food/dough.dm @@ -15,7 +15,7 @@ // Dough + rolling pin = flat dough /obj/item/food/dough/make_processable() - AddElement(/datum/element/processable, TOOL_ROLLINGPIN, /obj/item/food/flatdough, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Flatten") + AddElement(/datum/element/processable, TOOL_ROLLINGPIN, /obj/item/food/flatdough, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Flatten", sound_to_play = SFX_ROLLING_PIN_ROLLING) /obj/item/food/flatdough name = "flat dough" @@ -32,7 +32,7 @@ // sliceable into 3xdoughslices /obj/item/food/flatdough/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/doughslice, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/doughslice, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/pizzabread name = "pizza bread" @@ -63,7 +63,7 @@ AddComponent(/datum/component/bakeable, /obj/item/food/bun, rand(20 SECONDS, 25 SECONDS), TRUE, TRUE) /obj/item/food/doughslice/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/bait/doughball, 5, 3 SECONDS, screentip_verb = "Slice") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/bait/doughball, 5, 3 SECONDS, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/bun name = "bun" @@ -94,7 +94,7 @@ AddComponent(/datum/component/bakeable, /obj/item/food/cake/plain, rand(70 SECONDS, 90 SECONDS), TRUE, TRUE) /obj/item/food/cakebatter/make_processable() - AddElement(/datum/element/processable, TOOL_ROLLINGPIN, /obj/item/food/piedough, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Flatten") + AddElement(/datum/element/processable, TOOL_ROLLINGPIN, /obj/item/food/piedough, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Flatten", sound_to_play = SFX_ROLLING_PIN_ROLLING) /obj/item/food/piedough name = "pie dough" @@ -110,7 +110,7 @@ AddComponent(/datum/component/bakeable, /obj/item/food/pie/plain, rand(30 SECONDS, 45 SECONDS), TRUE, TRUE) /obj/item/food/piedough/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/rawpastrybase, 6, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/rawpastrybase, 6, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/rawpastrybase name = "raw pastry base" diff --git a/code/game/objects/items/food/lizard.dm b/code/game/objects/items/food/lizard.dm index 4b6230303a2..ee1ca09e882 100644 --- a/code/game/objects/items/food/lizard.dm +++ b/code/game/objects/items/food/lizard.dm @@ -73,7 +73,7 @@ custom_materials = list(/datum/material/meat = MEATSLAB_MATERIAL_AMOUNT) /obj/item/food/headcheese/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/headcheese_slice, 5, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/headcheese_slice, 5, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/headcheese_slice name = "headcheese slice" @@ -451,7 +451,7 @@ AddComponent(/datum/component/bakeable, bread_type, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE) /obj/item/food/rootdough/make_processable() - AddElement(/datum/element/processable, TOOL_ROLLINGPIN, flat_type, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Flatten") + AddElement(/datum/element/processable, TOOL_ROLLINGPIN, flat_type, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Flatten", sound_to_play = SFX_ROLLING_PIN_ROLLING) /obj/item/food/rootdough/egg desc = "A root based dough, made with nuts, tubers and eggs. Used in a wide range of Tiziran cooking." @@ -472,7 +472,7 @@ var/grill_type = /obj/item/food/root_flatbread /obj/item/food/flatrootdough/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, process_type, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice") + AddElement(/datum/element/processable, TOOL_KNIFE, process_type, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/flatrootdough/make_grillable() AddComponent(/datum/component/grillable, grill_type, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE) @@ -499,7 +499,7 @@ foodtypes = parent_type::foodtypes | MEAT /obj/item/food/rootdoughslice/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/spaghetti/nizaya, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/spaghetti/nizaya, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/rootdoughslice/make_bakeable() AddComponent(/datum/component/bakeable, /obj/item/food/rootroll, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE) diff --git a/code/game/objects/items/food/meatdish.dm b/code/game/objects/items/food/meatdish.dm index d4230ecc9d5..4fb4bbc4712 100644 --- a/code/game/objects/items/food/meatdish.dm +++ b/code/game/objects/items/food/meatdish.dm @@ -359,7 +359,7 @@ // sliceable into 4xtempehslices /obj/item/food/tempeh/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/tempehslice, 4, 5 SECONDS, table_required = TRUE, screentip_verb = "Slice") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/tempehslice, 4, 5 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE) //add an icon for slices /obj/item/food/tempehslice @@ -466,7 +466,7 @@ AddComponent(/datum/component/grillable, meatball_type, rand(30 SECONDS, 40 SECONDS), TRUE) /obj/item/food/raw_meatball/make_processable() - AddElement(/datum/element/processable, TOOL_ROLLINGPIN, patty_type, 1, table_required = TRUE, screentip_verb = "Flatten") + AddElement(/datum/element/processable, TOOL_ROLLINGPIN, patty_type, 1, table_required = TRUE, screentip_verb = "Flatten", sound_to_play = SFX_ROLLING_PIN_ROLLING) /obj/item/food/raw_meatball/human name = "strange raw meatball" @@ -638,8 +638,8 @@ custom_materials = list(/datum/material/meat = MEATSLAB_MATERIAL_AMOUNT) /obj/item/food/sausage/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/salami, 6, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice") - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/sausage/american, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/salami, 6, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE) + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/sausage/american, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/sausage/american name = "american sausage" diff --git a/code/game/objects/items/food/meatslab.dm b/code/game/objects/items/food/meatslab.dm index 6e3f124cc8e..01c4c4b8f7a 100644 --- a/code/game/objects/items/food/meatslab.dm +++ b/code/game/objects/items/food/meatslab.dm @@ -52,7 +52,7 @@ AddComponent(/datum/component/grillable, /obj/item/food/meat/steak/plain, rand(30 SECONDS, 90 SECONDS), TRUE, TRUE) //Add medium rare later maybe? /obj/item/food/meat/slab/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/plain, MEATSLAB_PROCESSED_AMOUNT, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/plain, MEATSLAB_PROCESSED_AMOUNT, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut", sound_to_play = SFX_KNIFE_SLICE) ///////////////////////////////////// HUMAN MEATS ////////////////////////////////////////////////////// @@ -66,7 +66,7 @@ AddComponent(/datum/component/grillable, /obj/item/food/meat/steak/plain/human, rand(30 SECONDS, 90 SECONDS), TRUE, TRUE) //Add medium rare later maybe? /obj/item/food/meat/slab/human/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/plain/human, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/plain/human, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/meat/slab/human/mutant abstract_type = /obj/item/food/meat/slab/human/mutant @@ -262,7 +262,7 @@ AddComponent(/datum/component/grillable, /obj/item/food/meat/steak/killertomato, rand(70 SECONDS, 85 SECONDS), TRUE, TRUE) /obj/item/food/meat/slab/killertomato/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/killertomato, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/killertomato, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/meat/slab/bear name = "bear meat" @@ -278,7 +278,7 @@ foodtypes = RAW | MEAT /obj/item/food/meat/slab/bear/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/bear, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/bear, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/meat/slab/bear/make_grillable() AddComponent(/datum/component/grillable, /obj/item/food/meat/steak/bear, rand(40 SECONDS, 70 SECONDS), TRUE, TRUE) @@ -301,7 +301,7 @@ blood_decal_type = /obj/effect/decal/cleanable/blood/xeno /obj/item/food/meat/slab/xeno/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/xeno, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/xeno, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/meat/slab/xeno/make_grillable() AddComponent(/datum/component/grillable, /obj/item/food/meat/steak/xeno, rand(40 SECONDS, 70 SECONDS), TRUE, TRUE) @@ -320,7 +320,7 @@ blood_decal_type = /obj/effect/decal/cleanable/insectguts /obj/item/food/meat/slab/spider/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/spider, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/spider, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/meat/slab/spider/make_grillable() AddComponent(/datum/component/grillable, /obj/item/food/meat/steak/spider, rand(40 SECONDS, 70 SECONDS), TRUE, TRUE) @@ -403,7 +403,7 @@ foodtypes = RAW | MEAT | GORE /obj/item/food/meat/slab/gondola/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/gondola, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/gondola, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/meat/slab/gondola/make_grillable() AddComponent(/datum/component/grillable, /obj/item/food/meat/steak/gondola, rand(30 SECONDS, 90 SECONDS), TRUE, TRUE) //Add medium rare later maybe? @@ -420,7 +420,7 @@ /obj/item/food/meat/slab/penguin/make_processable() . = ..() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/penguin, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/penguin, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/meat/slab/penguin/make_grillable() AddComponent(/datum/component/grillable, /obj/item/food/meat/steak/penguin, rand(30 SECONDS, 90 SECONDS), TRUE, TRUE) //Add medium rare later maybe? @@ -463,7 +463,7 @@ starting_reagent_purity = 1 /obj/item/food/meat/slab/chicken/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/chicken, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/chicken, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/meat/slab/chicken/make_grillable() AddComponent(/datum/component/grillable, /obj/item/food/meat/steak/chicken, rand(30 SECONDS, 90 SECONDS), TRUE, TRUE) //Add medium rare later maybe? (no this is chicken) diff --git a/code/game/objects/items/food/misc.dm b/code/game/objects/items/food/misc.dm index 23e9c5952d4..a0e619a1ec6 100644 --- a/code/game/objects/items/food/misc.dm +++ b/code/game/objects/items/food/misc.dm @@ -405,7 +405,7 @@ can_stick = FALSE /obj/item/food/butter/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/butterslice, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/butterslice, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/butterslice name = "butter slice" diff --git a/code/game/objects/items/food/moth.dm b/code/game/objects/items/food/moth.dm index 92587947a6b..d5a216566c0 100644 --- a/code/game/objects/items/food/moth.dm +++ b/code/game/objects/items/food/moth.dm @@ -194,7 +194,7 @@ crafting_complexity = FOOD_COMPLEXITY_5 /obj/item/food/green_lasagne/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/green_lasagne_slice, 6, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/green_lasagne_slice, 6, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/green_lasagne_slice name = "green lasagne al forno slice" diff --git a/code/game/objects/items/food/pastries.dm b/code/game/objects/items/food/pastries.dm index f409f83a9a2..041dc116bcf 100644 --- a/code/game/objects/items/food/pastries.dm +++ b/code/game/objects/items/food/pastries.dm @@ -470,7 +470,7 @@ crafting_complexity = FOOD_COMPLEXITY_2 /obj/item/food/brownie_sheet/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/brownie, 4, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/brownie, 4, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/brownie name = "brownie" @@ -519,7 +519,7 @@ crafting_complexity = FOOD_COMPLEXITY_3 /obj/item/food/peanut_butter_brownie_sheet/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/peanut_butter_brownie, 4, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/peanut_butter_brownie, 4, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/peanut_butter_brownie name = "peanut butter brownie" diff --git a/code/game/objects/items/food/pie.dm b/code/game/objects/items/food/pie.dm index e7535c7ee05..2e29b2a3345 100644 --- a/code/game/objects/items/food/pie.dm +++ b/code/game/objects/items/food/pie.dm @@ -16,7 +16,7 @@ /obj/item/food/pie/make_processable() if (slice_type) - AddElement(/datum/element/processable, TOOL_KNIFE, slice_type, yield, table_required = TRUE, screentip_verb = "Slice") + AddElement(/datum/element/processable, TOOL_KNIFE, slice_type, yield, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/pieslice name = "pie slice" diff --git a/code/game/objects/items/food/pizza.dm b/code/game/objects/items/food/pizza.dm index 411c76097d5..7fef3fb8657 100644 --- a/code/game/objects/items/food/pizza.dm +++ b/code/game/objects/items/food/pizza.dm @@ -134,7 +134,7 @@ crafting_complexity = FOOD_COMPLEXITY_2 /obj/item/food/pizzaslice/make_processable() - AddElement(/datum/element/processable, TOOL_ROLLINGPIN, /obj/item/stack/sheet/pizza, 1, 1 SECONDS, table_required = TRUE, screentip_verb = "Flatten") + AddElement(/datum/element/processable, TOOL_ROLLINGPIN, /obj/item/stack/sheet/pizza, 1, 1 SECONDS, table_required = TRUE, screentip_verb = "Flatten", sound_to_play = SFX_ROLLING_PIN_ROLLING) /obj/item/food/pizza/margherita name = "pizza margherita" diff --git a/code/game/objects/items/implants/implantcase.dm b/code/game/objects/items/implants/implantcase.dm index 87fca49be89..d034bc47f15 100644 --- a/code/game/objects/items/implants/implantcase.dm +++ b/code/game/objects/items/implants/implantcase.dm @@ -13,6 +13,7 @@ throw_range = 5 w_class = WEIGHT_CLASS_TINY custom_materials = list(/datum/material/glass= SMALL_MATERIAL_AMOUNT * 5) + obj_flags = UNIQUE_RENAME | RENAME_NO_DESC ///the implant within the case var/obj/item/implant/imp = null ///Type of implant this will spawn as imp upon being spawned @@ -36,18 +37,7 @@ return ..() /obj/item/implantcase/attackby(obj/item/used_item, mob/living/user, list/modifiers, list/attack_modifiers) - if(IS_WRITING_UTENSIL(used_item)) - if(!user.can_write(used_item)) - return - var/new_name = tgui_input_text(user, "What would you like the label to be?", name, max_length = MAX_NAME_LEN) - if((user.get_active_held_item() != used_item) || !user.can_perform_action(src)) - return - if(new_name) - playsound(src, SFX_WRITING_PEN, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE, SOUND_FALLOFF_EXPONENT + 3, ignore_walls = FALSE) - name = "implant case - '[new_name]'" - else - name = "implant case" - else if(istype(used_item, /obj/item/implanter)) + if(istype(used_item, /obj/item/implanter)) var/obj/item/implanter/used_implanter = used_item if(used_implanter.imp && !imp) //implanter to case implant transfer @@ -68,6 +58,8 @@ else return ..() +/obj/item/implantcase/nameformat(input, user) + return "implant case[input? " - '[input]'" : null]" ///An implant case that spawns with a tracking implant, as well as an appropriate name and description. /obj/item/implantcase/tracking diff --git a/code/game/objects/items/implants/implanter.dm b/code/game/objects/items/implants/implanter.dm index 522cf0e3a93..24ad9a0a79a 100644 --- a/code/game/objects/items/implants/implanter.dm +++ b/code/game/objects/items/implants/implanter.dm @@ -12,6 +12,7 @@ throw_speed = 3 throw_range = 5 w_class = WEIGHT_CLASS_SMALL + obj_flags = UNIQUE_RENAME | RENAME_NO_DESC custom_materials = list(/datum/material/iron=SMALL_MATERIAL_AMOUNT * 6, /datum/material/glass=SMALL_MATERIAL_AMOUNT *2) ///The implant in our implanter var/obj/item/implant/imp = null @@ -44,24 +45,11 @@ else to_chat(user, span_warning("[src] fails to implant [target].")) -/obj/item/implanter/attackby(obj/item/I, mob/living/user, list/modifiers, list/attack_modifiers) - if(IS_WRITING_UTENSIL(I)) - return ..() - if(!user.can_write(I)) - return - - var/new_name = tgui_input_text(user, "What would you like the label to be?", name, max_length = MAX_NAME_LEN) - if(user.get_active_held_item() != I) - return - if(!user.can_perform_action(src)) - return - if(new_name) - name = "implanter ([new_name])" - else - name = "implanter" - /obj/item/implanter/Initialize(mapload) . = ..() if(!imp && imp_type) imp = new imp_type(src) update_appearance() + +/obj/item/implanter/nameformat(input, user) + return "implanter[input? " ([input])" : null]" diff --git a/code/game/objects/items/kirby_plants/kirbyplants.dm b/code/game/objects/items/kirby_plants/kirbyplants.dm index 90e74d86496..7dd0533805d 100644 --- a/code/game/objects/items/kirby_plants/kirbyplants.dm +++ b/code/game/objects/items/kirby_plants/kirbyplants.dm @@ -12,6 +12,8 @@ throw_speed = 2 throw_range = 4 item_flags = NO_PIXEL_RANDOM_DROP + drop_sound = SFX_POTTED_PLANT_DROP + pickup_sound = SFX_POTTED_PLANT_PICKUP /// Can this plant be trimmed by someone with TRAIT_BONSAI var/trimmable = TRUE diff --git a/code/game/objects/items/kitchen.dm b/code/game/objects/items/kitchen.dm index 4c17f8c9f68..5ca2ae02bb4 100644 --- a/code/game/objects/items/kitchen.dm +++ b/code/game/objects/items/kitchen.dm @@ -38,6 +38,9 @@ sharpness = SHARP_POINTY var/datum/reagent/forkload //used to eat omelette custom_price = PAYCHECK_LOWER + sound_vary = TRUE + pickup_sound = SFX_CUTLERY_PICKUP + drop_sound = SFX_CUTLERY_DROP /datum/armor/kitchen_fork fire = 50 @@ -77,6 +80,8 @@ throwforce = 0 custom_materials = list(/datum/material/plastic = SMALL_MATERIAL_AMOUNT * 0.8) custom_price = PAYCHECK_LOWER * 1 + pickup_sound = null + drop_sound = null /obj/item/kitchen/fork/plastic/Initialize(mapload) . = ..() @@ -100,6 +105,8 @@ attack_verb_simple = list("prod", "whiff", "scratch", "poke") sharpness = SHARP_EDGED custom_price = PAYCHECK_LOWER * 2 + pickup_sound = null + drop_sound = null /obj/item/knife/plastic/Initialize(mapload) . = ..() @@ -167,6 +174,9 @@ attack_verb_simple = list("bash", "batter", "bludgeon", "thrash", "whack") custom_price = PAYCHECK_CREW * 1.5 tool_behaviour = TOOL_ROLLINGPIN + sound_vary = TRUE + pickup_sound = SFX_ROLLING_PIN_PICKUP + drop_sound = SFX_ROLLING_PIN_DROP /obj/item/kitchen/rollingpin/illegal name = "metal rolling pin" @@ -202,6 +212,9 @@ custom_price = PAYCHECK_LOWER * 2 tool_behaviour = TOOL_MINING toolspeed = 25 // Literally 25 times worse than the base pickaxe + sound_vary = TRUE + pickup_sound = SFX_CUTLERY_PICKUP + drop_sound = SFX_CUTLERY_DROP var/spoon_sip_size = 5 @@ -316,6 +329,8 @@ custom_materials = list(/datum/material/plastic = SMALL_MATERIAL_AMOUNT * 1.2) toolspeed = 75 // The plastic spoon takes 5 minutes to dig through a single mineral turf... It's one, continuous, breakable, do_after... custom_price = PAYCHECK_LOWER * 1 + pickup_sound = null + drop_sound = null /datum/armor/kitchen_spoon fire = 50 diff --git a/code/game/objects/items/knives.dm b/code/game/objects/items/knives.dm index 4f34b4cf4f4..963728761c0 100644 --- a/code/game/objects/items/knives.dm +++ b/code/game/objects/items/knives.dm @@ -27,6 +27,10 @@ tool_behaviour = TOOL_KNIFE var/list/alt_continuous = list("stabs", "pierces", "shanks") var/list/alt_simple = list("stab", "pierce", "shank") + sound_vary = TRUE + operating_sound = SFX_KNIFE_SLICE + pickup_sound = SFX_KNIFE_PICKUP + drop_sound = SFX_KNIFE_DROP /datum/armor/item_knife fire = 50 diff --git a/code/game/objects/items/lighter.dm b/code/game/objects/items/lighter.dm index 63e539302b5..46f84b7a11a 100644 --- a/code/game/objects/items/lighter.dm +++ b/code/game/objects/items/lighter.dm @@ -327,7 +327,7 @@ desc = "In lieu of fuel, performative spirit can be used to light cigarettes." icon_state = "mlighter" //These ones don't show a flame. light_color = LIGHT_COLOR_HALOGEN - heat_while_on = 0 //I swear it's a real lighter dude you just can't see the flame dude I promise + heat_while_on = TCMB //I swear it's a real lighter dude you just can't see the flame dude I promise overlay_state = "mime" grind_results = list(/datum/reagent/iron = 1, /datum/reagent/toxin/mutetoxin = 5, /datum/reagent/consumable/nothing = 10) light_range = 0 diff --git a/code/game/objects/items/melee/baton.dm b/code/game/objects/items/melee/baton.dm index 600d8c72cae..b225d9d750f 100644 --- a/code/game/objects/items/melee/baton.dm +++ b/code/game/objects/items/melee/baton.dm @@ -30,7 +30,7 @@ /// How much stamina damage we deal on a successful hit against a living, non-cyborg mob. var/stamina_damage = 55 /// How much armor does our baton ignore? This operates as armour penetration, but only applies to the stun attack. - var/stun_armour_penetration = 15 + var/stun_armour_penetration = 15 // pens very light / cosmetic armor /// What armor does our stun attack check before delivering the attack? var/armour_type_against_stun = MELEE /// Chance of causing force_say() when stunning a human mob @@ -96,7 +96,7 @@ readout += "\nThe effects of each strike can be mitigated by utilizing [span_warning("[armour_type_against_stun]")] armor." - readout += "\nIt has a stun armor-piercing capability of [span_warning("[get_stun_penetration_value()]%")]." + readout += "\nIt has a stun armor-piercing capability of [span_warning("[stun_armour_penetration]%")]." return readout.Join("\n") /// Checks if we can actually USE the baton. Impure @@ -229,8 +229,7 @@ var/mob/living/carbon/human/human_target = target if(prob(force_say_chance)) human_target.force_say() - var/effective_armour_penetration = get_stun_penetration_value() - var/armour_block = target.run_armor_check(null, armour_type_against_stun, null, null, effective_armour_penetration) + var/armour_block = target.run_armor_check(null, armour_type_against_stun, null, null, stun_armour_penetration) target.apply_damage(stamina_damage, STAMINA, blocked = armour_block) if(!trait_check) target.Knockdown((isnull(stun_override) ? knockdown_time : stun_override)) @@ -304,10 +303,6 @@ log_combat(user, user, "accidentally stun attacked [user.p_them()]self due to their clumsiness", src) user.do_attack_animation(user) -/// Handles the penetration value of our baton, called during baton_effect() -/obj/item/melee/baton/proc/get_stun_penetration_value() - return stun_armour_penetration - /obj/item/conversion_kit name = "conversion kit" desc = "A strange box containing wood working tools and an instruction paper to turn stun batons into something else." @@ -410,19 +405,18 @@ name = "bronze-capped telescopic baton" desc = "A compact yet robust personal defense weapon. Can be concealed when folded. This one is ranked BRONZE, and thus has mediocre penetrative power." icon_state = "telebaton_bronze" - stun_armour_penetration = 20 /obj/item/melee/baton/telescopic/silver name = "silver-capped telescopic baton" desc = "A compact yet robust personal defense weapon. Can be concealed when folded. This one is ranked SILVER, and thus has decent penetrative power." icon_state = "telebaton_silver" - stun_armour_penetration = 40 + stun_armour_penetration = 30 // strong enough to pen sec armor /obj/item/melee/baton/telescopic/gold name = "gold-capped telescopic baton" desc = "A compact yet robust personal defense weapon. Can be concealed when folded. This one is ranked GOLD, and thus has exceptional penetrative power." icon_state = "telebaton_gold" - stun_armour_penetration = 60 + stun_armour_penetration = 50 // strong enough to pen syndicate modsuits /obj/item/melee/baton/telescopic/contractor_baton name = "contractor baton" @@ -440,7 +434,7 @@ cooldown = 2.5 SECONDS force_say_chance = 80 //very high force say chance because it's funny stamina_damage = 85 - stun_armour_penetration = 40 + stun_armour_penetration = 30 // strong enough to pen sec armor clumsy_knockdown_time = 24 SECONDS affect_cyborg = TRUE wait_desc = "still charging!" @@ -476,8 +470,6 @@ force_say_chance = 50 stamina_damage = 60 armour_type_against_stun = ENERGY - // This value is added to our stun armour penetration when called by get_stun_penetration_value(). For giving some batons extra OOMPH. - var/additional_stun_armour_penetration = 0 knockdown_time = 5 SECONDS clumsy_knockdown_time = 15 SECONDS cooldown = 2.5 SECONDS @@ -509,8 +501,6 @@ var/convertible = TRUE //if it can be converted with a conversion kit ///Whether or not our inhand changes when active. var/active_changes_inhand = TRUE - ///Whether or not our baton visibly changes the inhand sprite based on inserted cell - var/tip_changes_color = TRUE ///When set, inhand_icon_state defaults to this instead of base_icon_state var/base_inhand_state = null @@ -581,10 +571,7 @@ if(active) icon_state = "[base_icon_state]_active" if(active_changes_inhand) - if(tip_changes_color) - inhand_icon_state = "[base_inhand]_active_[get_baton_tip_color()]" - else - inhand_icon_state = "[base_inhand]_active" + inhand_icon_state = "[base_inhand]_active" return ..() if(!cell) icon_state = "[base_icon_state]_nocell" @@ -646,35 +633,7 @@ /// Toggles the stun baton's light /obj/item/melee/baton/security/proc/toggle_light() - set_light_color(get_baton_tip_color(TRUE)) set_light_on(!light_on) - return - -/// Change our baton's top color based on the contained cell. -/obj/item/melee/baton/security/proc/get_baton_tip_color(set_light = FALSE) - var/tip_type_to_set - var/tip_light_to_set - - if(cell) - var/chargepower = cell.maxcharge - var/zap_value = clamp(chargepower/STANDARD_CELL_CHARGE, 0, 100) - switch(zap_value) - if(-INFINITY to 10) - tip_type_to_set = "orange" - tip_light_to_set = LIGHT_COLOR_ORANGE - if(11 to 20) - tip_type_to_set = "red" - tip_light_to_set = LIGHT_COLOR_INTENSE_RED - if(21 to 30) - tip_type_to_set = "green" - tip_light_to_set = LIGHT_COLOR_GREEN - if(31 to INFINITY) - tip_type_to_set = "blue" - tip_light_to_set = LIGHT_COLOR_BLUE - else - tip_type_to_set = "orange" - - return set_light ? tip_light_to_set : tip_type_to_set /obj/item/melee/baton/security/proc/turn_on(mob/user) active = TRUE @@ -734,13 +693,6 @@ stun_override = 0 //Avoids knocking people down prematurely. return ..() -/obj/item/melee/baton/security/get_stun_penetration_value() - if(cell) - var/chargepower = cell.maxcharge - var/zap_pen = clamp(chargepower/STANDARD_CELL_CHARGE, 0, 100) - return zap_pen + additional_stun_armour_penetration - return stun_armour_penetration + additional_stun_armour_penetration - /* * After a target is hit, we apply some status effects. * After a period of time, we then check to see what stun duration we give. @@ -831,7 +783,6 @@ stun_armour_penetration = 40 throw_stun_chance = 60 convertible = FALSE - tip_changes_color = FALSE obj_flags = UNIQUE_RENAME unique_reskin = list( @@ -866,7 +817,6 @@ slot_flags = ITEM_SLOT_BACK convertible = FALSE active_changes_inhand = FALSE - tip_changes_color = FALSE var/obj/item/assembly/igniter/sparkler ///Determines whether or not we can improve the cattleprod into a new type. Prevents turning the cattleprod subtypes into different subtypes, or wasting materials on making it....another version of itself. var/can_upgrade = TRUE @@ -932,7 +882,6 @@ throw_stun_chance = 99 //Have you prayed today? convertible = FALSE active_changes_inhand = FALSE - tip_changes_color = FALSE custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 5, /datum/material/glass = SHEET_MATERIAL_AMOUNT*2, /datum/material/silver = SHEET_MATERIAL_AMOUNT*5, /datum/material/gold = SHEET_MATERIAL_AMOUNT) /obj/item/melee/baton/security/boomerang/Initialize(mapload) @@ -1013,7 +962,7 @@ knockdown_time = 0.25 SECONDS demolition_mod = 1.5 stamina_damage = 30 // 4 hit stamcrit - stun_armour_penetration = 30 // bronze-silver telescopic + stun_armour_penetration = 25 // bronze-silver telescopic force = 16 // 7 hit crit exposed_wound_bonus = 5 diff --git a/code/game/objects/items/signs.dm b/code/game/objects/items/signs.dm index 671cad6780f..a1b60aad298 100644 --- a/code/game/objects/items/signs.dm +++ b/code/game/objects/items/signs.dm @@ -5,6 +5,7 @@ name = "blank picket sign" desc = "It's blank." force = 5 + obj_flags = UNIQUE_RENAME | RENAME_NO_DESC w_class = WEIGHT_CLASS_BULKY attack_verb_continuous = list("bashes", "smacks") attack_verb_simple = list("bash", "smack") @@ -20,21 +21,14 @@ resistance_flags = NONE actions_types = list(/datum/action/item_action/nano_picket_sign) -/obj/item/picket_sign/proc/retext(mob/user, obj/item/writing_instrument) - if(!user.can_write(writing_instrument)) - return - var/txt = tgui_input_text(user, "What would you like to write on the sign?", "Sign Label", max_length = 30) - if(txt && user.can_perform_action(src)) - playsound(src, SFX_WRITING_PEN, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE, SOUND_FALLOFF_EXPONENT + 3, ignore_walls = FALSE) - label = txt - name = "[label] sign" - desc = "It reads: [label]" +/obj/item/picket_sign/nameformat(input, user) + playsound(src, SFX_WRITING_PEN, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE, SOUND_FALLOFF_EXPONENT + 3, ignore_walls = FALSE) + label = input + AddComponent(/datum/component/rename, name, "It reads: [input]") + return "[input] sign" -/obj/item/picket_sign/attackby(obj/item/W, mob/user, list/modifiers, list/attack_modifiers) - if(IS_WRITING_UTENSIL(W)) - retext(user, W) - else - return ..() +/obj/item/picket_sign/rename_reset() + label = initial(label) /obj/item/picket_sign/attack_self(mob/living/carbon/human/user) if(!COOLDOWN_FINISHED(src, picket_sign_cooldown)) @@ -66,7 +60,10 @@ if(!istype(target, /obj/item/picket_sign)) return FALSE var/obj/item/picket_sign/sign = target - sign.retext(owner) + var/input = tgui_input_text(owner, "What would you like to write on the sign?", "Sign Label", max_length = 30) + if(input && owner.can_perform_action(sign)) + sign.label = input + sign.AddComponent(/datum/component/rename, "[input] sign", "It reads: [input]") return TRUE /datum/crafting_recipe/picket_sign diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 127f39bfb81..fc19ce70ccc 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -42,6 +42,7 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ pickup_sound = 'sound/items/handling/materials/iron_rod_pick_up.ogg' drop_sound = 'sound/items/handling/materials/metal_drop.ogg' sound_vary = TRUE + usable_for_construction = TRUE /datum/embedding/rods embed_chance = 50 diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 105693b745c..3a30a673a6c 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -605,7 +605,8 @@ GLOBAL_LIST_INIT(durathread_recipes, list ( \ . = ..() . += GLOB.durathread_recipes -/obj/item/stack/sheet/durathread/on_item_crafted(mob/builder, atom/created) +/obj/item/stack/sheet/durathread/used_in_craft(atom/created, datum/crafting_recipe/recipe) + . = ..() created.set_armor_rating(CONSUME, max(50, created.get_armor_rating(CONSUME))) /obj/item/stack/sheet/cotton diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 0156dadf69c..64f703253c6 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -455,24 +455,24 @@ var/turf/covered_turf = builder.drop_location() if(!isturf(covered_turf)) return - var/turf/created_turf = covered_turf.place_on_top(recipe.result_type, flags = CHANGETURF_INHERIT_AIR) + created = covered_turf.place_on_top(recipe.result_type, flags = CHANGETURF_INHERIT_AIR) builder.balloon_alert(builder, "placed [ispath(recipe.result_type, /turf/open) ? "floor" : "wall"]") if((recipe.crafting_flags & CRAFT_APPLIES_MATS) && LAZYLEN(mats_per_unit)) - created_turf.set_custom_materials(mats_per_unit, recipe.req_amount / recipe.res_amount) + created.set_custom_materials(mats_per_unit, recipe.req_amount / recipe.res_amount) else created = new recipe.result_type(builder.drop_location()) builder.balloon_alert(builder, "built item") - if(created) + // split the material and use it for the craft + var/obj/item/stack/used_stack = split_stack(recipe.req_amount * multiplier) + if(ismovable(created)) created.setDir(builder.dir) - SEND_SIGNAL(created, COMSIG_ATOM_CONSTRUCTED, builder) - on_item_crafted(builder, created) + created.on_craft_completion(list(used_stack), null, builder) + qdel(used_stack) //you've outlived your purpose builder.mind.adjust_experience(/datum/skill/construction, 5) //SKYRAT EDIT: Construction Skill - // Use up the material - use(recipe.req_amount * multiplier) builder.investigate_log("crafted [recipe.title]", INVESTIGATE_CRAFTING) // Apply mat datums @@ -500,10 +500,6 @@ return TRUE -/// Run special logic on created items after they've been successfully crafted. -/obj/item/stack/proc/on_item_crafted(mob/builder, atom/created) - return - /obj/item/stack/vv_edit_var(vname, vval) if(vname == NAMEOF(src, amount)) add(clamp(vval, 1-amount, max_amount - amount)) //there must always be one. diff --git a/code/game/objects/items/stickers.dm b/code/game/objects/items/stickers.dm index 99247493795..eb4b20d6f17 100644 --- a/code/game/objects/items/stickers.dm +++ b/code/game/objects/items/stickers.dm @@ -220,3 +220,12 @@ /obj/item/sticker/syndicate/trap name = "bear trap sticker" icon_state = "trap" + +/obj/item/sticker/purity_seal + name = "purity seal" + icon_state = "purity_seal_1" + desc = "Looking closer, you realize it's actually a mass produced sticker. You suppose it's the holiness that counts." + +/obj/item/sticker/purity_seal/purity_seal_2 + icon_state = "purity_seal_2" + diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index 5916524f9dd..64ded4c1622 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -357,6 +357,9 @@ custom_materials = list(/datum/material/iron=SHEET_MATERIAL_AMOUNT*1.5) custom_price = PAYCHECK_CREW * 0.6 storage_type = /datum/storage/bag/tray + sound_vary = TRUE + pickup_sound = SFX_TRAY_PICKUP + drop_sound = SFX_TRAY_DROP /obj/item/storage/bag/tray/attack(mob/living/M, mob/living/user) . = ..() diff --git a/code/game/objects/items/storage/boxes/service_boxes.dm b/code/game/objects/items/storage/boxes/service_boxes.dm index d76cb25f14a..b751cfc1e5d 100644 --- a/code/game/objects/items/storage/boxes/service_boxes.dm +++ b/code/game/objects/items/storage/boxes/service_boxes.dm @@ -294,3 +294,14 @@ /obj/item/storage/box/heretic_box/PopulateContents() for(var/i in 1 to rand(1,4)) new /obj/item/toy/reality_pierce(src) + + +/obj/item/storage/box/purity_seal_box + name = "box of purity seals" + desc = "A box containing several blessed purity seals." + +/obj/item/storage/box/purity_seal_box/PopulateContents() + for(var/i in 1 to 4) + new /obj/item/sticker/purity_seal(src) + new /obj/item/sticker/purity_seal/purity_seal_2(src) + diff --git a/code/game/objects/items/storage/briefcase.dm b/code/game/objects/items/storage/briefcase.dm index 16c6a02468b..3bb4f1d990b 100644 --- a/code/game/objects/items/storage/briefcase.dm +++ b/code/game/objects/items/storage/briefcase.dm @@ -85,10 +85,17 @@ icon_state = "secure" base_icon_state = "secure" inhand_icon_state = "sec-case" + var/stored_lock_code /obj/item/storage/briefcase/secure/Initialize(mapload) . = ..() - AddComponent(/datum/component/lockable_storage) + AddComponent(/datum/component/lockable_storage, stored_lock_code) + RegisterSignal(src, COMSIG_LOCKABLE_STORAGE_SET_CODE, PROC_REF(update_lock_code)) + +/obj/item/storage/briefcase/secure/proc/update_lock_code(obj/item/storage/briefcase/secure/briefacase, new_code) + SIGNAL_HANDLER + + stored_lock_code = new_code /// Base container used for gimmick disks. /obj/item/storage/briefcase/secure/digital_storage diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index 14c5c626fe7..f8b650ec0ee 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -465,6 +465,9 @@ spawn_coupon = FALSE open_status = FANCY_CONTAINER_OPEN +/obj/item/storage/fancy/cigarettes/flash_powder + spawn_type = /obj/item/cigarette/flash_powder + /obj/item/storage/fancy/rollingpapers name = "rolling paper pack" desc = "A pack of Nanotrasen brand rolling papers." diff --git a/code/game/objects/items/storage/garment.dm b/code/game/objects/items/storage/garment.dm index a9dd7ac62ac..cfa9fed95db 100644 --- a/code/game/objects/items/storage/garment.dm +++ b/code/game/objects/items/storage/garment.dm @@ -39,6 +39,10 @@ name = "quartermasters's garment bag" desc = "A bag for storing extra clothes and shoes. This one belongs to the quartermaster." +/obj/item/storage/bag/garment/paramedic + name = "EMT's garment bag" + desc = "A bag for storing extra clothes and shoes. This one belongs to the emergency medical team." + /obj/item/storage/bag/garment/captain/PopulateContents() new /obj/item/clothing/under/rank/captain(src) new /obj/item/clothing/under/rank/captain/skirt(src) @@ -248,3 +252,10 @@ new /obj/item/clothing/suit/jacket/tailcoat/quartermaster(src) new /obj/item/clothing/neck/tie/bunnytie/cargo(src) + +/obj/item/storage/bag/garment/paramedic/PopulateContents() + new /obj/item/clothing/under/rank/medical/paramedic(src) + new /obj/item/clothing/under/rank/medical/paramedic/skirt(src) + new /obj/item/clothing/gloves/latex/nitrile(src) + new /obj/item/clothing/shoes/workboots/black(src) + new /obj/item/clothing/glasses/hud/health(src) diff --git a/code/game/objects/items/teleportation.dm b/code/game/objects/items/teleportation.dm index 7d62320f3b5..f2cf5cd6443 100644 --- a/code/game/objects/items/teleportation.dm +++ b/code/game/objects/items/teleportation.dm @@ -12,7 +12,7 @@ */ /obj/item/locator name = "bluespace locator" - desc = "Used to track portable teleportation beacons and targets with embedded tracking implants." + desc = "A handheld device that locks onto the unique bluespace resonance of tracking implants, providing real-time directional and positional data." icon = 'icons/obj/devices/tracker.dmi' icon_state = "locator" var/temp = null @@ -34,61 +34,35 @@ /obj/item/locator/ui_data(mob/user) var/list/data = list() - data["trackingrange"] = tracking_range; - // Get our current turf location. - var/turf/sr = get_turf(src) + var/turf/current_turf = get_turf(src) // Get our current turf location. + if(!current_turf) + return data - if (sr) - // Check every teleport beacon. - var/list/tele_beacons = list() - for(var/obj/item/beacon/W in GLOB.teleportbeacons) + var/list/track_implants = list() + for(var/obj/item/implant/tracking/tracking_implant in GLOB.tracked_implants) + if(!tracking_implant.imp_in || !isliving(tracking_implant.imp_in)) + continue - // Get the tracking beacon's turf location. - var/turf/tr = get_turf(W) - - // Make sure it's on a turf and that its Z-level matches the tracker's Z-level - if (tr && tr.z == sr.z) - // Get the distance between the beacon's turf and our turf - var/distance = max(abs(tr.x - sr.x), abs(tr.y - sr.y)) - - // If the target is too far away, skip over this beacon. - if(distance > tracking_range) - continue - - var/beacon_name - - if(W.renamed) - beacon_name = W.name - else - var/area/A = get_area(W) - beacon_name = A.name - - var/D = dir2text(get_dir(sr, tr)) - tele_beacons += list(list(name = beacon_name, direction = D, distance = distance)) - - data["telebeacons"] = tele_beacons - - var/list/track_implants = list() - - for (var/obj/item/implant/beacon/tracking_beacon in GLOB.tracked_implants) - if (!tracking_beacon.imp_in || !isliving(tracking_beacon.loc)) - continue - else - var/mob/living/living_mob = tracking_beacon.loc - if (living_mob.stat == DEAD) - if (living_mob.timeofdeath + tracking_beacon.lifespan_postmortem < world.time) - continue - var/turf/tr = get_turf(tracking_beacon) - var/distance = max(abs(tr.x - sr.x), abs(tr.y - sr.y)) - - if(distance > tracking_range) + var/mob/living/tracked_mob = tracking_implant.imp_in + if(tracked_mob.stat == DEAD) + if(tracked_mob.timeofdeath + tracking_implant.lifespan_postmortem < world.time) continue - var/D = dir2text(get_dir(sr, tr)) - track_implants += list(list(name = tracking_beacon.imp_in.name, direction = D, distance = distance)) - data["trackimplants"] = track_implants + var/turf/implant_turf = get_turf(tracking_implant) + if(!implant_turf || implant_turf.z != current_turf.z) + continue + + var/distance = max(abs(implant_turf.x - current_turf.x), abs(implant_turf.y - current_turf.y)) // get Chebyshev distance + if(distance > tracking_range) + continue + + var/implant_direction = dir2text(get_dir(current_turf, implant_turf)) + track_implants += list(list(name = tracking_implant.imp_in.name, direction = implant_direction, distance = distance)) + + data["trackimplants"] = track_implants + return data #define PORTAL_LOCATION_DANGEROUS "portal_location_dangerous" @@ -431,7 +405,7 @@ var/bagholdingcheck = FALSE if(iscarbon(user)) var/mob/living/carbon/teleporting_guy = user - if(locate(/obj/item/storage/backpack/holding) in teleporting_guy.get_all_gear()) + if(locate(/obj/item/storage/backpack/holding) in teleporting_guy.get_all_gear(INCLUDE_PROSTHETICS|INCLUDE_ABSTRACT|INCLUDE_ACCESSORIES)) bagholdingcheck = TRUE if(isclosedturf(destination)) diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index 6b154b20f72..73b4c648a2b 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -326,6 +326,12 @@ "TOOL" = "replaced with the tool used", ) +/obj/item/crowbar/power/paramedic/silent + name = "modified jaws of recovery" + desc = "Modified version for jaws of life, made to act like jaws of recovery. This one doesn't announce doors you're prying open and lets you pry any door, acting like regular jaws of life" + limit_jaws_access = FALSE + radio_alert = FALSE + /obj/item/crowbar/cyborg name = "hydraulic crowbar" desc = "A hydraulic prying tool, simple but powerful." diff --git a/code/game/objects/items/wall_mounted.dm b/code/game/objects/items/wall_mounted.dm index 1b85ba3d75d..3791970c38a 100644 --- a/code/game/objects/items/wall_mounted.dm +++ b/code/game/objects/items/wall_mounted.dm @@ -43,7 +43,7 @@ span_hear("You hear clicking.")) var/floor_to_wall = get_dir(user, on_wall) - var/obj/hanging_object = new result_path(get_turf(user), floor_to_wall, TRUE) + var/obj/hanging_object = new result_path(get_turf(user)) hanging_object.setDir(floor_to_wall) if(pixel_shift) switch(floor_to_wall) @@ -55,6 +55,7 @@ hanging_object.pixel_x = pixel_shift if(WEST) hanging_object.pixel_x = -pixel_shift + hanging_object.find_and_hang_on_wall() after_attach(hanging_object) //BUBBER EDIT START - For lewd_portals, you can place multiple with the same frame. if(multi_use > 1) diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 5f9b566b670..10b500824e5 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -347,3 +347,19 @@ GLOBAL_LIST_EMPTY(objects_by_id_tag) if(HAS_TRAIT(target, TRAIT_INVERTED_DEMOLITION)) return (1 / demolition_mod) return demolition_mod + +/// Checks performed by a renamable object(through UNIQUE_RENAME obj_flag) before renaming begins. +/obj/proc/rename_checks(mob/living/user) + return TRUE + +/// Returns the final name of the object, and does any side effects of renaming, such as sounds. +/obj/proc/nameformat(input, mob/living/user) + return input + +/// Same as nameformat, but for desc. +/obj/proc/descformat(input, mob/living/user) + return input + +/// Called when UNIQUE_RENAME is reset +/obj/proc/rename_reset() + return diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm index bbe77c2af16..91799e1ccd6 100644 --- a/code/game/objects/structures/beds_chairs/chair.dm +++ b/code/game/objects/structures/beds_chairs/chair.dm @@ -19,8 +19,6 @@ ///How much sitting on this chair influences fishing difficulty var/fishing_modifier = -5 var/has_armrest = FALSE - // The mutable appearance used for the overlay over buckled mobs. - var/mutable_appearance/armrest /obj/structure/chair/Initialize(mapload) . = ..() @@ -28,8 +26,6 @@ name = "tactical [name]" fishing_modifier -= 8 MakeRotate() - if (has_armrest) - gen_armrest() if(can_buckle && fishing_modifier) AddComponent(/datum/component/adjust_fishing_difficulty, fishing_modifier) @@ -67,14 +63,6 @@ visible_message_flags = ALWAYS_SHOW_SELF_MESSAGE, ) -/obj/structure/chair/on_changed_z_level(turf/old_turf, turf/new_turf, same_z_layer, notify_contents) - if(same_z_layer || !has_armrest) - return ..() - cut_overlay(armrest) - QDEL_NULL(armrest) - gen_armrest() - return ..() - /obj/structure/chair/examine(mob/user) . = ..() . += span_notice("It's held together by a couple of bolts.") @@ -87,7 +75,6 @@ /obj/structure/chair/Destroy() SSjob.latejoin_trackers -= src //These may be here due to the arrivals shuttle - QDEL_NULL(armrest) return ..() /obj/structure/chair/atom_deconstruct(disassembled) @@ -111,29 +98,16 @@ return . = ..() -/obj/structure/chair/update_atom_colour() - . = ..() - if (armrest) - color_atom_overlay(armrest) - -/obj/structure/chair/proc/gen_armrest() - armrest = GetArmrest() - armrest.layer = ABOVE_MOB_LAYER - armrest.appearance_flags |= KEEP_APART - update_armrest() - -/obj/structure/chair/proc/GetArmrest() - return mutable_appearance(icon, "[icon_state]_armrest") - -/obj/structure/chair/proc/update_armrest() - if (cached_color_filter) - armrest = filter_appearance_recursive(armrest, cached_color_filter) - update_appearance() - /obj/structure/chair/update_overlays() . = ..() - if(has_buckled_mobs()) - . += armrest + if (!has_buckled_mobs()) + return + var/mutable_appearance/armrest = mutable_appearance(icon, "[icon_state]_armrest", ABOVE_MOB_LAYER, src, appearance_flags = KEEP_APART) + var/mutable_appearance/armrest_blocker = emissive_blocker(icon, "[icon_state]_armrest", src, ABOVE_MOB_LAYER) + if (cached_color_filter) + armrest = filter_appearance_recursive(armrest, cached_color_filter) + . += armrest + . += armrest_blocker ///allows each chair to request the electrified_buckle component with overlays that dont look ridiculous /obj/structure/chair/proc/electrify_self(obj/item/assembly/shock_kit/input_shock_kit, mob/user, list/overlays_from_child_procs) @@ -189,13 +163,13 @@ deconstruct() //SKYRAT EDIT END if (has_armrest) - update_armrest() + update_appearance() /obj/structure/chair/post_unbuckle_mob() . = ..() handle_layer() if (has_armrest) - update_armrest() + update_appearance() /obj/structure/chair/setDir(newdir) ..() diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 50437e1936a..7a776378165 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -20,7 +20,6 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) /// How insulated the thing is, for the purposes of calculating body temperature. Must be between 0 and 1! contents_thermal_insulation = 0 pass_flags_self = PASSSTRUCTURE | LETPASSCLICKS - /// The overlay for the closet's door var/obj/effect/overlay/closet_door/door_obj /// Whether or not this door is being animated @@ -154,6 +153,7 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) add_to_roundstart_list() closet_see_inside = new(src) + obj_flags |= UNIQUE_RENAME // if closed, any item at the crate's loc is put in the contents if (mapload) @@ -289,12 +289,27 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) if(vname in list(NAMEOF(src, locked), NAMEOF(src, welded), NAMEOF(src, secure), NAMEOF(src, icon_welded), NAMEOF(src, delivery_icon))) update_appearance() +// Clone of closet items +/obj/effect/appearance_clone/closet_item + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + /// Animates the closet door opening and closing /obj/structure/closet/proc/animate_door(closing = FALSE) if(!door_anim_time) return if(!door_obj) door_obj = new + if(closing && length(contents)) + var/icon/mask_icon = icon(icon, has_closed_overlay ? "[icon_door || base_icon_state || initial(icon_state)]_door" : icon_state) + // When closing, all of our contents are already in src - they've already disappeared from the world + // So to make the animation less jarring, we create a clone of everything in the closet to show in the animation + for(var/content in src) + var/obj/effect/appearance_clone/closet_item/clone = new(loc, content) + // Mask keeps in in bounds of the inside of the closet + clone.add_filter("closet_mask", 1, alpha_mask_filter(x = -1 * (clone.pixel_x + clone.pixel_w), y = -1 * (clone.pixel_y + clone.pixel_z), icon = mask_icon)) + clone.layer = FLOAT_LAYER - 1 + vis_contents += clone + var/default_door_icon = "[icon_door || icon_state]_door" vis_contents += door_obj door_obj.icon = icon @@ -330,6 +345,9 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) /obj/structure/closet/proc/end_door_animation() is_animating_door = FALSE vis_contents -= door_obj + for(var/obj/effect/appearance_clone/closet_item/clone in vis_contents) + vis_contents -= clone + qdel(clone) update_icon() /// Calculates the matrix to be applied to the animated door overlay @@ -836,39 +854,6 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) else balloon_alert(user, "set to [choice]") - else if(!opened && IS_WRITING_UTENSIL(weapon)) - if(locked) - balloon_alert(user, "unlock first!") - return - - if(isnull(id_card) && secure) - balloon_alert(user, "not yours to rename!") - return - - var/name_set = FALSE - var/desc_set = FALSE - - - var/input_name = tgui_input_text(user, "Locker Name", "Locker Name", max_length = MAX_NAME_LEN) - - if(!isnull(input_name)) - name = input_name - name_set = TRUE - - var/input_desc = tgui_input_text(user, "Locker Description", "Locker Description", max_length = MAX_DESC_LEN) - - if(!isnull(input_desc)) - desc = input_desc - desc_set = TRUE - - var/bit_flag = NONE - if(name_set) - bit_flag |= UPDATE_NAME - if(desc_set) - bit_flag |= UPDATE_DESC - if(bit_flag) - update_appearance(bit_flag) - else if(opened) if(istype(weapon, cutting_tool)) if(weapon.tool_behaviour == TOOL_WELDER) @@ -1260,6 +1245,16 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) /obj/structure/closet/proc/add_to_roundstart_list() GLOB.roundstart_station_closets += src +/obj/structure/closet/rename_checks(mob/living/user) + . = TRUE + if(locked) + src.balloon_alert(user, "unlock first!") + return FALSE + + if(isnull(id_card) && secure) + src.balloon_alert(user, "not yours to rename!") + return FALSE + ///Spears deal bonus damages to lockers /obj/structure/closet/secure_closet/attacked_by(obj/item/attacking_item, mob/living/user, list/modifiers, list/attack_modifiers) if(istype(attacking_item, /obj/item/spear)) diff --git a/code/game/objects/structures/crates_lockers/closets/bodybag.dm b/code/game/objects/structures/crates_lockers/closets/bodybag.dm index 2c596b67aeb..6c1990258de 100644 --- a/code/game/objects/structures/crates_lockers/closets/bodybag.dm +++ b/code/game/objects/structures/crates_lockers/closets/bodybag.dm @@ -39,6 +39,7 @@ rmb_text = "Fold up", \ ) AddElement(/datum/element/contextual_screentip_sharpness, lmb_text = "Remove Tag") + obj_flags |= UNIQUE_RENAME | RENAME_NO_DESC /obj/structure/closet/body_bag/Destroy() // If we have a stored bag, and it's in nullspace (not in someone's hand), delete it. @@ -47,28 +48,22 @@ return ..() /obj/structure/closet/body_bag/attackby(obj/item/interact_tool, mob/user, list/modifiers, list/attack_modifiers) - if (IS_WRITING_UTENSIL(interact_tool)) - if(!user.can_write(interact_tool)) - return - var/t = tgui_input_text(user, "What would you like the label to be?", name, max_length = 53) - if(user.get_active_held_item() != interact_tool) - return - if(!user.can_perform_action(src)) - return - handle_tag("[t ? t : initial(name)]") - return - if(!tag_name) - return if(interact_tool.tool_behaviour == TOOL_WIRECUTTER || interact_tool.get_sharpness()) to_chat(user, span_notice("You cut the tag off [src].")) - handle_tag() + playsound(src, SFX_WRITING_PEN, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE, SOUND_FALLOFF_EXPONENT + 3, ignore_walls = FALSE) + tag_name = null + update_appearance() + qdel(src.GetComponent(/datum/component/rename)) -///Handles renaming of the bodybag's examine tag. -/obj/structure/closet/body_bag/proc/handle_tag(new_name) +/obj/structure/closet/body_bag/nameformat(input, user) playsound(src, SFX_WRITING_PEN, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE, SOUND_FALLOFF_EXPONENT + 3, ignore_walls = FALSE) - tag_name = new_name - name = tag_name ? "[initial(name)] - [tag_name]" : initial(name) - update_appearance() + tag_name = input + update_icon() + return tag_name ? "[initial(name)] - [tag_name]" : initial(name) + +/obj/structure/closet/body_bag/rename_reset() + tag_name = null + update_icon() /obj/structure/closet/body_bag/update_overlays() . = ..() diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index d2852bcce57..2a6a115cd18 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -143,3 +143,23 @@ new /obj/item/storage/box/syringes/variety(src) new /obj/item/storage/box/beakers/variety(src) new /obj/item/clothing/glasses/science(src) + +/obj/structure/closet/secure_closet/paramedic + name = "emergency medical team locker" + req_access = list(ACCESS_PARAMEDIC) + icon_state = "paramed_secure" + +/obj/structure/closet/secure_closet/paramedic/PopulateContents() + ..() + + var/static/items_inside = list( + /obj/item/storage/medkit/emergency = 1, + /obj/item/storage/box/bandages = 1, + /obj/item/pinpointer/crew = 1, + /obj/item/storage/belt/medical/paramedic = 1, + /obj/item/radio/headset/headset_med = 2, + /obj/item/emergency_bed = 2, + /obj/item/storage/bag/garment/paramedic = 2, + ) + generate_items_inside(items_inside,src) + diff --git a/code/game/objects/structures/detectiveboard.dm b/code/game/objects/structures/detectiveboard.dm index c2f143ced07..ee03c07f8ab 100644 --- a/code/game/objects/structures/detectiveboard.dm +++ b/code/game/objects/structures/detectiveboard.dm @@ -34,9 +34,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/detectiveboard, 32) if(istype(item, /obj/item/paper) || istype(item, /obj/item/photo)) item.forceMove(src) cases[current_case].notices++ + find_and_hang_on_wall() register_context() - find_and_hang_on_wall() /// Attaching evidences: photo and papers diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index af86af9bc05..a58dfd8abf4 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -48,6 +48,7 @@ /obj/structure/door_assembly/Initialize(mapload) . = ..() + obj_flags |= UNIQUE_RENAME | RENAME_NO_DESC update_appearance() update_name() @@ -81,23 +82,15 @@ if(created_name) . += span_notice("There is a small paper placard on the assembly, written on it is '[created_name]'.") -/obj/structure/door_assembly/attackby(obj/item/W, mob/living/user, list/modifiers, list/attack_modifiers) - if(IS_WRITING_UTENSIL(W) && !user.combat_mode) - var/t = tgui_input_text(user, "Enter the name for the door", "Airlock Renaming", created_name, max_length = MAX_NAME_LEN) - if(!t) - return - if(!in_range(src, usr) && loc != usr) - return - created_name = t - - else if((W.tool_behaviour == TOOL_WELDER) && (mineral || glass || !anchored )) - if(!W.tool_start_check(user, amount=1)) +/obj/structure/door_assembly/attackby(obj/item/tool, mob/living/user, list/modifiers, list/attack_modifiers) + if((tool.tool_behaviour == TOOL_WELDER) && (mineral || glass || !anchored )) + if(!tool.tool_start_check(user, amount=1)) return if(mineral) var/obj/item/stack/sheet/mineral/mineral_path = text2path("/obj/item/stack/sheet/mineral/[mineral]") user.visible_message(span_notice("[user] welds the [mineral] plating off the airlock assembly."), span_notice("You start to weld the [mineral] plating off the airlock assembly...")) - if(W.use_tool(src, user, 40, volume=50)) + if(tool.use_tool(src, user, 40, volume=50)) to_chat(user, span_notice("You weld the [mineral] plating off.")) new mineral_path(loc, 2) var/obj/structure/door_assembly/PA = new previous_assembly(loc) @@ -105,7 +98,7 @@ else if(glass) user.visible_message(span_notice("[user] welds the glass panel out of the airlock assembly."), span_notice("You start to weld the glass panel out of the airlock assembly...")) - if(W.use_tool(src, user, 40, volume=50)) + if(tool.use_tool(src, user, 40, volume=50)) to_chat(user, span_notice("You weld the glass panel out.")) if(heat_proof_finished) new /obj/item/stack/sheet/rglass(get_turf(src)) @@ -116,11 +109,11 @@ else if(!anchored) user.visible_message(span_warning("[user] disassembles the airlock assembly."), \ span_notice("You start to disassemble the airlock assembly...")) - if(W.use_tool(src, user, 40, volume=50)) + if(tool.use_tool(src, user, 40, volume=50)) to_chat(user, span_notice("You disassemble the airlock assembly.")) deconstruct(TRUE) - else if(W.tool_behaviour == TOOL_WRENCH) + else if(tool.tool_behaviour == TOOL_WRENCH) if(!anchored ) var/door_check = 1 for(var/obj/machinery/door/D in loc) @@ -133,7 +126,7 @@ span_notice("You start to secure the airlock assembly to the floor..."), \ span_hear("You hear wrenching.")) - if(W.use_tool(src, user, 40, volume=100)) + if(tool.use_tool(src, user, 40, volume=100)) if(anchored) return to_chat(user, span_notice("You secure the airlock assembly.")) @@ -146,31 +139,31 @@ user.visible_message(span_notice("[user] unsecures the airlock assembly from the floor."), \ span_notice("You start to unsecure the airlock assembly from the floor..."), \ span_hear("You hear wrenching.")) - if(W.use_tool(src, user, 40, volume=100)) + if(tool.use_tool(src, user, 40, volume=100)) if(!anchored) return to_chat(user, span_notice("You unsecure the airlock assembly.")) name = "airlock assembly" set_anchored(FALSE) - else if(istype(W, /obj/item/stack/cable_coil) && state == AIRLOCK_ASSEMBLY_NEEDS_WIRES && anchored ) - if(!W.tool_start_check(user, amount=1)) + else if(istype(tool, /obj/item/stack/cable_coil) && state == AIRLOCK_ASSEMBLY_NEEDS_WIRES && anchored ) + if(!tool.tool_start_check(user, amount=1)) return user.visible_message(span_notice("[user] wires the airlock assembly."), \ span_notice("You start to wire the airlock assembly...")) - if(W.use_tool(src, user, 40, amount=1)) + if(tool.use_tool(src, user, 40, amount=1)) if(state != AIRLOCK_ASSEMBLY_NEEDS_WIRES) return state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS to_chat(user, span_notice("You wire the airlock assembly.")) name = "wired airlock assembly" - else if((W.tool_behaviour == TOOL_WIRECUTTER) && state == AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS ) + else if((tool.tool_behaviour == TOOL_WIRECUTTER) && state == AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS ) user.visible_message(span_notice("[user] cuts the wires from the airlock assembly."), \ span_notice("You start to cut the wires from the airlock assembly...")) - if(W.use_tool(src, user, 40, volume=100)) + if(tool.use_tool(src, user, 40, volume=100)) if(state != AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS) return to_chat(user, span_notice("You cut the wires from the airlock assembly.")) @@ -178,27 +171,27 @@ state = AIRLOCK_ASSEMBLY_NEEDS_WIRES name = "secured airlock assembly" - else if(istype(W, /obj/item/electronics/airlock) && state == AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS ) - W.play_tool_sound(src, 100) + else if(istype(tool, /obj/item/electronics/airlock) && state == AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS ) + tool.play_tool_sound(src, 100) user.visible_message(span_notice("[user] installs the electronics into the airlock assembly."), \ span_notice("You start to install electronics into the airlock assembly...")) if(do_after(user, 4 SECONDS, target = src)) if( state != AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS ) return - if(!user.transferItemToLoc(W, src)) + if(!user.transferItemToLoc(tool, src)) return to_chat(user, span_notice("You install the airlock electronics.")) state = AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER name = "near finished airlock assembly" - electronics = W + electronics = tool - else if((W.tool_behaviour == TOOL_CROWBAR) && state == AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER ) + else if((tool.tool_behaviour == TOOL_CROWBAR) && state == AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER ) user.visible_message(span_notice("[user] removes the electronics from the airlock assembly."), \ span_notice("You start to remove electronics from the airlock assembly...")) - if(W.use_tool(src, user, 40, volume=100)) + if(tool.use_tool(src, user, 40, volume=100)) if(state != AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER) return to_chat(user, span_notice("You remove the airlock electronics.")) @@ -212,8 +205,8 @@ electronics = null ae.forceMove(src.loc) - else if(istype(W, /obj/item/stack/sheet)) - var/obj/item/stack/sheet/sheet = W + else if(istype(tool, /obj/item/stack/sheet)) + var/obj/item/stack/sheet/sheet = tool if(!glass && (istype(sheet, /obj/item/stack/sheet/rglass) || istype(sheet, /obj/item/stack/sheet/glass))) if(noglass) to_chat(user, span_warning("You cannot add [sheet] to [src]!")) @@ -270,11 +263,11 @@ transfer_assembly_vars(src, MA, TRUE) - else if((W.tool_behaviour == TOOL_SCREWDRIVER) && state == AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER ) + else if((tool.tool_behaviour == TOOL_SCREWDRIVER) && state == AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER ) user.visible_message(span_notice("[user] finishes the airlock."), \ span_notice("You start finishing the airlock...")) - if(W.use_tool(src, user, 40, volume=100)) + if(tool.use_tool(src, user, 40, volume=100)) if(loc && state == AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER) to_chat(user, span_notice("You finish the airlock.")) finish_door() @@ -388,3 +381,10 @@ qdel(src) return TRUE return FALSE + +/obj/structure/door_assembly/nameformat(input, mob/living/user) + created_name = input + return input + +/obj/structure/door_assembly/rename_reset() + created_name = null diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm index 138dd50a062..496bc850aa9 100644 --- a/code/game/objects/structures/extinguisher.dm +++ b/code/game/objects/structures/extinguisher.dm @@ -12,15 +12,15 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 29) -/obj/structure/extinguisher_cabinet/Initialize(mapload, ndir, building) +/obj/structure/extinguisher_cabinet/Initialize(mapload) . = ..() - if(building) + if(!mapload) opened = TRUE else stored_extinguisher = new /obj/item/extinguisher(src) + find_and_hang_on_wall() update_appearance(UPDATE_ICON) register_context() - find_and_hang_on_wall() /obj/structure/extinguisher_cabinet/add_context(atom/source, list/context, obj/item/held_item, mob/user) . = ..() diff --git a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm index 329f9459c13..39f0b506671 100644 --- a/code/game/objects/structures/fireaxe.dm +++ b/code/game/objects/structures/fireaxe.dm @@ -38,7 +38,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet, 32) if(populate_contents) held_item = new item_path(src) update_appearance() - find_and_hang_on_wall() + if(mapload) + find_and_hang_on_wall() /obj/structure/fireaxecabinet/Destroy() if(held_item) diff --git a/code/game/objects/structures/lavaland/geyser.dm b/code/game/objects/structures/lavaland/geyser.dm index a34bcb10a43..bbbc8da76e4 100644 --- a/code/game/objects/structures/lavaland/geyser.dm +++ b/code/game/objects/structures/lavaland/geyser.dm @@ -108,6 +108,12 @@ reagent_id = /datum/reagent/water/hollowwater true_name = "hollow water geyser" +/obj/structure/geyser/chiral_buffer + reagent_id = /datum/reagent/reaction_agent/inversing_buffer + point_value = 250 + true_name = "chiral inversing geyser" + discovery_message = "It's a rare chiral inversing geyser! This could be very powerful in the right hands... " + /obj/structure/geyser/random point_value = 500 diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index e6ccd1de1b9..e40e5a16161 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -34,10 +34,6 @@ ///List of all Races that can be chosen, decided by its Initialize. var/list/selectable_races = list() -/obj/structure/mirror/Initialize(mapload) - . = ..() - update_choices() - /obj/structure/mirror/Destroy() mirror_options = null selectable_races = null @@ -58,6 +54,10 @@ update_signals = list(COMSIG_ATOM_BREAK), \ check_reflect_signals = list(SIGNAL_ADDTRAIT(TRAIT_NO_MIRROR_REFLECTION), SIGNAL_REMOVETRAIT(TRAIT_NO_MIRROR_REFLECTION)), \ ) + if(mapload) + find_and_hang_on_wall() + update_choices() + register_context() /obj/structure/mirror/proc/can_reflect(atom/movable/target) ///I'm doing it this way too, because the signal is sent before the broken variable is set to TRUE. @@ -69,11 +69,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/mirror, 28) -/obj/structure/mirror/Initialize(mapload) - . = ..() - find_and_hang_on_wall() - register_context() - /obj/structure/mirror/broken icon_state = "mirror_broke" diff --git a/code/game/objects/structures/noticeboard.dm b/code/game/objects/structures/noticeboard.dm index c352f1f48ef..20da9190d0b 100644 --- a/code/game/objects/structures/noticeboard.dm +++ b/code/game/objects/structures/noticeboard.dm @@ -35,7 +35,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/noticeboard, 32) paper.forceMove(src) notices++ update_appearance(UPDATE_ICON) - find_and_hang_on_wall() + if(mapload) + find_and_hang_on_wall() //attaching papers!! /obj/structure/noticeboard/attackby(obj/item/O, mob/user, list/modifiers, list/attack_modifiers) diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm index 09638e6d717..4837627dacc 100644 --- a/code/game/objects/structures/plasticflaps.dm +++ b/code/game/objects/structures/plasticflaps.dm @@ -84,7 +84,7 @@ /obj/structure/plasticflaps/proc/check_melt(turf/source, datum/gas_mixture/air, temperature) SIGNAL_HANDLER - if(temperature < FIRE_MINIMUM_TEMPERATURE_TO_EXIST) + if(temperature < FIRE_MINIMUM_TEMPERATURE_TO_EXIST * 1.5) return if(!COOLDOWN_FINISHED(src, burn_damage_cd)) return diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index ec7da473608..825c609f4a7 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -18,7 +18,14 @@ FLOOR SAFES anchored = TRUE density = TRUE resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF + obj_flags = CONDUCTS_ELECTRICITY interaction_flags_atom = INTERACT_ATOM_ATTACK_HAND | INTERACT_ATOM_UI_INTERACT + custom_materials = list( + /datum/material/metalhydrogen = SHEET_MATERIAL_AMOUNT*10, + /datum/material/alloy/plastitanium = SHEET_MATERIAL_AMOUNT*5, + ) + material_flags = MATERIAL_EFFECTS + /// The maximum combined w_class of stuff in the safe var/maxspace = 24 /// The amount of tumblers that will be generated @@ -41,14 +48,26 @@ FLOOR SAFES /obj/structure/safe/Initialize(mapload) . = ..() - update_appearance(UPDATE_ICON) + var/static/list/tool_behaviors = list( + TOOL_WRENCH = list( + SCREENTIP_CONTEXT_LMB = "Reset lock", + ), + ) + AddElement(/datum/element/contextual_screentip_tools, tool_behaviors) + // Combination generation for(var/iterating in 1 to number_of_tumblers) tumblers.Add(rand(0, 99)) - if(!mapload) + if(density) + AddElement(/datum/element/climbable) + AddElement(/datum/element/elevation, pixel_shift = 22) + + if(open && !locked) return + update_appearance(UPDATE_ICON) + // Put as many items on our turf inside as possible for(var/obj/item/inserting_item in loc) if(space >= maxspace) @@ -57,11 +76,46 @@ FLOOR SAFES space += inserting_item.w_class inserting_item.forceMove(src) +/obj/structure/safe/examine(mob/user) + . = ..() + . += span_notice("The locking mechanism gears are wrenched in place.") + /obj/structure/safe/update_icon_state() //uses the same icon as the captain's spare safe (therefore lockable storage) so keep it in line with that icon_state = "[initial(icon_state)][open ? null : "_locked"]" return ..() +/obj/structure/safe/wrench_act(mob/living/user, obj/item/tool) + if(!open) + balloon_alert(user, "must be open!") + return ITEM_INTERACT_BLOCKING + + balloon_alert(user, "resetting lock...") + to_chat(user, span_notice("You begin resetting the lock for [src]. You'll need to set [number_of_tumblers] numbers.")) + + var/list/new_tumblers = list() + for(var/tumbler_index in 1 to number_of_tumblers) + var/input_value = tgui_input_number(user, "Set tumbler #[tumbler_index] (0-99):", "Set Lock", 0, 99, 0) + if(isnull(input_value)) + balloon_alert(user, "reset cancelled!") + return ITEM_INTERACT_BLOCKING + if(!user.can_perform_action(src)) + balloon_alert(user, "reset interrupted!") + return ITEM_INTERACT_BLOCKING + new_tumblers.Add(input_value) + + tool.play_tool_sound(src) + if(!do_after(user, 10 SECONDS, target = src)) + return ITEM_INTERACT_BLOCKING + + tumblers = new_tumblers + current_tumbler_index = 1 + dial = 0 + tool.play_tool_sound(src) + to_chat(user, span_notice("You successfully reset the lock for [src]. The new combination is: [tumblers.Join("-")].")) + balloon_alert(user, "lock set!") + return ITEM_INTERACT_SUCCESS + /obj/structure/safe/attackby(obj/item/attacking_item, mob/user, list/modifiers, list/attack_modifiers) if(open) . = TRUE //no afterattack @@ -238,6 +292,10 @@ FLOOR SAFES if(total_ticks == 1 || prob(SOUND_CHANCE)) balloon_alert(user, pick(sounds)) +/obj/structure/safe/open + open = TRUE + locked = FALSE + //FLOOR SAFES /obj/structure/safe/floor name = "floor safe" @@ -249,6 +307,10 @@ FLOOR SAFES . = ..() AddElement(/datum/element/undertile) +/obj/structure/safe/floor/open + open = TRUE + locked = FALSE + ///Special safe for the station's vault. Not explicitly required, but the piggy bank inside it is. /obj/structure/safe/vault diff --git a/code/game/objects/structures/secure_safe.dm b/code/game/objects/structures/secure_safe.dm index e3a74c00300..43af43268e8 100644 --- a/code/game/objects/structures/secure_safe.dm +++ b/code/game/objects/structures/secure_safe.dm @@ -6,6 +6,16 @@ base_icon_state = "wall_safe" result_path = /obj/structure/secure_safe pixel_shift = 32 + w_class = WEIGHT_CLASS_GIGANTIC + obj_flags = CONDUCTS_ELECTRICITY + resistance_flags = FIRE_PROOF + custom_materials = list( + /datum/material/alloy/plasteel = SHEET_MATERIAL_AMOUNT*5, + /datum/material/titanium = SHEET_MATERIAL_AMOUNT*3, + ) + material_flags = MATERIAL_EFFECTS + /// The lock code transferred from the structure + var/stored_lock_code /obj/item/wallframe/secure_safe/Initialize(mapload) . = ..() @@ -13,12 +23,55 @@ max_specific_storage = WEIGHT_CLASS_GIGANTIC, max_total_storage = 20, ) - atom_storage.set_locked(STORAGE_FULLY_LOCKED) + if(stored_lock_code && !(obj_flags & EMAGGED)) + atom_storage.set_locked(STORAGE_FULLY_LOCKED) + update_appearance() -/obj/item/wallframe/secure_safe/after_attach(obj/attached_to) +/obj/item/wallframe/secure_safe/update_icon_state() . = ..() + if(obj_flags & EMAGGED) + icon_state = "[base_icon_state]_broken" + else + icon_state = "[base_icon_state][stored_lock_code ? "_locked" : null]" + +/obj/item/wallframe/secure_safe/emag_act(mob/user, obj/item/card/emag/emag_card) + . = ..() + if(obj_flags & EMAGGED) + return FALSE + + obj_flags |= EMAGGED + visible_message(span_warning("Sparks fly from [src]!"), blind_message = span_hear("You hear a faint electrical spark.")) + balloon_alert(user, "lock destroyed") + playsound(src, SFX_SPARKS, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + stored_lock_code = null + atom_storage.locked = STORAGE_NOT_LOCKED + update_appearance() + return TRUE + +/obj/item/wallframe/secure_safe/after_attach(obj/structure/secure_safe/safe) + if(!istype(safe)) + return ..() + for(var/obj/item in contents) - item.forceMove(attached_to) + item.forceMove(safe) + + var/datum/component/lockable_storage/storage_component = safe.GetComponent(/datum/component/lockable_storage) + if(stored_lock_code) + storage_component?.set_lock_code(stored_lock_code) + + if(obj_flags & EMAGGED) + storage_component?.break_lock() + + return ..() + +/datum/armor/secure_safe + melee = 30 + bullet = 30 + laser = 20 + energy = 20 + bomb = 30 + fire = 95 + acid = 30 /** * Wall safes @@ -33,21 +86,48 @@ base_icon_state = "wall_safe" anchored = TRUE density = FALSE + resistance_flags = FIRE_PROOF + obj_flags = CONDUCTS_ELECTRICITY + armor_type = /datum/armor/secure_safe + max_integrity = 300 + damage_deflection = 21 + custom_materials = list( + /datum/material/alloy/plasteel = SHEET_MATERIAL_AMOUNT*5, + /datum/material/titanium = SHEET_MATERIAL_AMOUNT*3, + ) + material_flags = MATERIAL_EFFECTS + /// The lock code used to open the safe + var/stored_lock_code MAPPING_DIRECTIONAL_HELPERS(/obj/structure/secure_safe, 32) /obj/structure/secure_safe/Initialize(mapload) . = ..() //this will create the storage for us. - AddComponent(/datum/component/lockable_storage) - if(!density) - find_and_hang_on_wall() + AddComponent(/datum/component/lockable_storage, , stored_lock_code) if(mapload) PopulateContents() + find_and_hang_on_wall() + RegisterSignal(src, COMSIG_LOCKABLE_STORAGE_SET_CODE, PROC_REF(update_lock_code)) + +/obj/structure/secure_safe/find_and_hang_on_wall() + if(!density) + return ..() /obj/structure/secure_safe/atom_deconstruct(disassembled) if(!density) //if we're a wall item, we'll drop a wall frame. var/obj/item/wallframe/secure_safe/new_safe = new(get_turf(src)) + + // Transfer lock code to the wallframe + var/datum/component/lockable_storage/storage_component = GetComponent(/datum/component/lockable_storage) + if(storage_component) + new_safe.stored_lock_code = storage_component.lock_code + + if(obj_flags & EMAGGED) + new_safe.obj_flags |= EMAGGED + + new_safe.update_appearance() + for(var/obj/item in contents) item.forceMove(new_safe) @@ -55,6 +135,16 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/secure_safe, 32) new /obj/item/paper(src) new /obj/item/pen(src) +/obj/structure/secure_safe/proc/update_lock_code(obj/structure/secure_safe/safe, new_code) + SIGNAL_HANDLER + + stored_lock_code = new_code + +/obj/structure/secure_safe/ex_act(severity, target) + if(severity <= EXPLODE_LIGHT) + return FALSE + return ..() + /obj/structure/secure_safe/hos name = "head of security's safe" @@ -77,11 +167,13 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/secure_safe, 32) icon_state = "spare_safe" base_icon_state = "spare_safe" armor_type = /datum/armor/safe_caps_spare - max_integrity = 300 damage_deflection = 30 // prevents stealing the captain's spare using null rods/lavaland monsters/AP projectiles density = TRUE anchored_tabletop_offset = 6 - custom_materials = list(/datum/material/gold = SMALL_MATERIAL_AMOUNT) + custom_materials = list( + /datum/material/alloy/plasteel = SHEET_MATERIAL_AMOUNT*5, + /datum/material/gold = SHEET_MATERIAL_AMOUNT*3, + ) material_flags = MATERIAL_EFFECTS /datum/armor/safe_caps_spare diff --git a/code/game/objects/structures/signs/_signs.dm b/code/game/objects/structures/signs/_signs.dm index c3786e81e28..d1baf9970d4 100644 --- a/code/game/objects/structures/signs/_signs.dm +++ b/code/game/objects/structures/signs/_signs.dm @@ -14,8 +14,6 @@ var/is_editable = FALSE ///sign_change_name is used to make nice looking, alphabetized and categorized names when you use a pen on any sign item or structure which is_editable. var/sign_change_name - ///Callback to the knock down proc for wallmounting behavior. - var/knock_down_callback /datum/armor/structure_sign melee = 50 @@ -25,12 +23,8 @@ /obj/structure/sign/Initialize(mapload) . = ..() register_context() - knock_down_callback = CALLBACK(src, PROC_REF(knock_down)) - find_and_hang_on_wall(custom_drop_callback = knock_down_callback) - -/obj/structure/sign/Destroy() - . = ..() - knock_down_callback = null + if(mapload) + find_and_hang_on_wall() /obj/structure/sign/add_context(atom/source, list/context, obj/item/held_item, mob/user) . = ..() @@ -63,7 +57,7 @@ playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) user.visible_message(span_notice("[user] unfastens [src]."), \ span_notice("You unfasten [src].")) - knock_down(user) + deconstruct(TRUE) return TRUE /obj/structure/sign/welder_act(mob/living/user, obj/item/I) @@ -112,16 +106,8 @@ return return ..() -/** - * This is called when a sign is removed from a wall, either through deconstruction or being knocked down. - * @param mob/living/user The user who removed the sign, if it was knocked down by a mob. - */ -/obj/structure/sign/proc/knock_down(mob/living/user) - var/turf/drop_turf - if(user) - drop_turf = get_turf(user) - else - drop_turf = drop_location() +/obj/structure/sign/atom_deconstruct(disassembled) + var/turf/drop_turf = drop_location() var/obj/item/sign/unwrenched_sign = new (drop_turf) if(type != /obj/structure/sign/blank) //If it's still just a basic sign backing, we can (and should) skip some of the below variable transfers. unwrenched_sign.name = name //Copy over the sign structure variables to the sign item we're creating when we unwrench a sign. @@ -133,7 +119,6 @@ unwrenched_sign.is_editable = is_editable unwrenched_sign.update_integrity(get_integrity()) //Transfer how damaged it is. unwrenched_sign.setDir(dir) - qdel(src) //The sign structure on the wall goes poof and only the sign item from unwrenching remains. /obj/structure/sign/blank //This subtype is necessary for now because some other things (posters, picture frames, paintings) inherit from the parent type. icon_state = "backing" @@ -217,6 +202,9 @@ var/obj/structure/sign/placed_sign = new sign_path(user_turf) //We place the sign on the turf the user is standing, and pixel shift it to the target wall, as below. //This is to mimic how signs and other wall objects are usually placed by mappers, and so they're only visible from one side of a wall. var/dir = get_dir(user_turf, target_turf) + if(!(dir in GLOB.cardinals)) + balloon_alert(user, "stand in line with wall!") + return if(dir & NORTH) placed_sign.pixel_y = 32 else if(dir & SOUTH) @@ -230,7 +218,7 @@ playsound(target_turf, 'sound/items/deconstruct.ogg', 50, TRUE) placed_sign.update_integrity(get_integrity()) placed_sign.setDir(dir) - placed_sign.find_and_hang_on_wall(TRUE, placed_sign.knock_down_callback) + placed_sign.find_and_hang_on_wall() qdel(src) return ITEM_INTERACT_SUCCESS diff --git a/code/game/objects/structures/water_structures/toilet.dm b/code/game/objects/structures/water_structures/toilet.dm index 67d24d4007a..cd9fcfe6604 100644 --- a/code/game/objects/structures/water_structures/toilet.dm +++ b/code/game/objects/structures/water_structures/toilet.dm @@ -232,9 +232,12 @@ if(!flushing && cover_open) . += "[base_icon_state]-water" -/obj/structure/toilet/atom_deconstruct(dissambled = TRUE) - for(var/obj/toilet_item in cistern_items) +/obj/structure/toilet/dump_contents() + for(var/obj/toilet_item in (cistern_items + fishes)) toilet_item.forceMove(drop_location()) + +/obj/structure/toilet/atom_deconstruct(dissambled = TRUE) + dump_contents() if(buildstacktype) new buildstacktype(loc,buildstackamount) else @@ -242,8 +245,6 @@ new M.sheet_type(loc, FLOOR(custom_materials[M] / SHEET_MATERIAL_AMOUNT, 1)) if(has_water_reclaimer) new /obj/item/stock_parts/water_recycler(drop_location()) - if(stuck_item) - stuck_item.forceMove(drop_location()) /obj/structure/toilet/item_interaction(mob/living/user, obj/item/tool, list/modifiers) if(user.combat_mode) diff --git a/code/game/objects/structures/water_structures/urinal.dm b/code/game/objects/structures/water_structures/urinal.dm index 23795155db0..76f9128a5e5 100644 --- a/code/game/objects/structures/water_structures/urinal.dm +++ b/code/game/objects/structures/water_structures/urinal.dm @@ -16,7 +16,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/urinal, 32) . = ..() if(mapload) hidden_item = new /obj/item/food/urinalcake(src) - find_and_hang_on_wall() + find_and_hang_on_wall() /obj/structure/urinal/Exited(atom/movable/gone, direction) . = ..() diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index 62fa00a6457..84073ddb317 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -8,7 +8,7 @@ anchored = FALSE density = FALSE dir = NORTH - obj_flags = CAN_BE_HIT | BLOCKS_CONSTRUCTION_DIR + obj_flags = CAN_BE_HIT | BLOCKS_CONSTRUCTION_DIR | UNIQUE_RENAME | RENAME_NO_DESC set_dir_on_move = FALSE can_atmos_pass = ATMOS_PASS_PROC @@ -251,17 +251,6 @@ electronics = null ae.forceMove(drop_location()) - else if(IS_WRITING_UTENSIL(W)) - var/t = tgui_input_text(user, "Enter the name for the door", "Windoor Renaming", created_name, max_length = MAX_NAME_LEN) - if(!t) - return - if(!in_range(src, usr) && loc != usr) - return - created_name = t - return - - - //Crowbar to complete the assembly, Step 7 complete. else if(W.tool_behaviour == TOOL_CROWBAR) if(!electronics) @@ -367,3 +356,10 @@ update_appearance() return + +/obj/structure/windoor_assembly/nameformat(input, user) + created_name = input + return input + +/obj/structure/windoor_assembly/rename_reset() + created_name = initial(created_name) diff --git a/code/game/sound/sound_keys/sound_keys.dm b/code/game/sound/sound_keys/sound_keys.dm index 971f50c3872..0a7c4ea9e0f 100644 --- a/code/game/sound/sound_keys/sound_keys.dm +++ b/code/game/sound/sound_keys/sound_keys.dm @@ -847,3 +847,245 @@ key = SFX_RORO_WARBLE file_paths = list( 'sound/mobs/non-humanoids/roro/roro_warble.ogg') + +/datum/sound_effect/potted_plant_drop + key = SFX_POTTED_PLANT_DROP + file_paths = list( + 'sound/items/potted_plant/potted_plant_drop1.ogg', + 'sound/items/potted_plant/potted_plant_drop2.ogg', + 'sound/items/potted_plant/potted_plant_drop3.ogg', + 'sound/items/potted_plant/potted_plant_drop4.ogg', + 'sound/items/potted_plant/potted_plant_drop5.ogg', + ) + +/datum/sound_effect/potted_plant_pickup + key = SFX_POTTED_PLANT_PICKUP + file_paths = list( + 'sound/items/potted_plant/potted_plant_pickup1.ogg', + 'sound/items/potted_plant/potted_plant_pickup2.ogg', + 'sound/items/potted_plant/potted_plant_pickup3.ogg', + 'sound/items/potted_plant/potted_plant_pickup4.ogg', + 'sound/items/potted_plant/potted_plant_pickup5.ogg', + + ) + +/datum/sound_effect/goggles_pickup + key = SFX_GOGGLES_PICKUP + file_paths = list( + 'sound/items/goggles/goggles_pickup1.ogg', + 'sound/items/goggles/goggles_pickup2.ogg', + 'sound/items/goggles/goggles_pickup3.ogg', + ) + +/datum/sound_effect/goggles_drop + key = SFX_GOGGLES_DROP + file_paths = list( + 'sound/items/goggles/goggles_drop1.ogg', + 'sound/items/goggles/goggles_drop2.ogg', + 'sound/items/goggles/goggles_drop3.ogg', + ) + +/datum/sound_effect/goggles_equip + key = SFX_GOGGLES_EQUIP + file_paths = list( + 'sound/items/goggles/goggles_equip1.ogg', + 'sound/items/goggles/goggles_equip2.ogg', + 'sound/items/goggles/goggles_equip3.ogg', + 'sound/items/goggles/goggles_equip4.ogg', + ) + +/datum/sound_effect/glasses_pickup + key = SFX_GLASSES_PICKUP + file_paths = list( + 'sound/items/glasses/glasses_pickup1.ogg', + 'sound/items/glasses/glasses_pickup2.ogg', + 'sound/items/glasses/glasses_pickup3.ogg', + ) + +/datum/sound_effect/glasses_drop + key = SFX_GLASSES_DROP + file_paths = list( + 'sound/items/glasses/glasses_drop1.ogg', + 'sound/items/glasses/glasses_drop2.ogg', + 'sound/items/glasses/glasses_drop3.ogg', + ) + +/datum/sound_effect/glasses_equip + key = SFX_GLASSES_EQUIP + file_paths = list( + 'sound/items/glasses/glasses_equip1.ogg', + 'sound/items/glasses/glasses_equip2.ogg', + ) + +/datum/sound_effect/food_plate_pickup + key = SFX_FOOD_PLATE_PICKUP + file_paths = list( + 'sound/items/food_plate/food_plate_pickup1.ogg', + 'sound/items/food_plate/food_plate_pickup2.ogg', + 'sound/items/food_plate/food_plate_pickup3.ogg', + ) + +/datum/sound_effect/food_plate_drop + key = SFX_FOOD_PLATE_DROP + file_paths = list( + 'sound/items/food_plate/food_plate_drop1.ogg', + 'sound/items/food_plate/food_plate_drop2.ogg', + 'sound/items/food_plate/food_plate_drop3.ogg', + ) + +/datum/sound_effect/cutlery_pickup + key = SFX_CUTLERY_PICKUP + file_paths = list( + 'sound/items/cutlery/cutlery_pickup1.ogg', + 'sound/items/cutlery/cutlery_pickup2.ogg', + 'sound/items/cutlery/cutlery_pickup3.ogg', + ) + +/datum/sound_effect/cutlery_drop + key = SFX_CUTLERY_DROP + file_paths = list( + 'sound/items/cutlery/cutlery_drop1.ogg', + 'sound/items/cutlery/cutlery_drop2.ogg', + 'sound/items/cutlery/cutlery_drop3.ogg', + ) + +/datum/sound_effect/knife_pickup + key = SFX_KNIFE_PICKUP + file_paths = list( + 'sound/items/knife/knife_pickup1.ogg', + 'sound/items/knife/knife_pickup2.ogg', + 'sound/items/knife/knife_pickup3.ogg', + ) + +/datum/sound_effect/knife_drop + key = SFX_KNIFE_DROP + file_paths = list( + 'sound/items/knife/knife_drop1.ogg', + 'sound/items/knife/knife_drop2.ogg', + 'sound/items/knife/knife_drop3.ogg', + ) + +/datum/sound_effect/knife_slice + key = SFX_KNIFE_SLICE + file_paths = list( + 'sound/items/knife/knife_slice1.ogg', + 'sound/items/knife/knife_slice2.ogg', + 'sound/items/knife/knife_slice3.ogg', + 'sound/items/knife/knife_slice4.ogg', + 'sound/items/knife/knife_slice5.ogg', + 'sound/items/knife/knife_slice6.ogg', + ) + +/datum/sound_effect/pot_pickup + key = SFX_POT_PICKUP + file_paths = list( + 'sound/items/pot/pot_pickup1.ogg', + 'sound/items/pot/pot_pickup2.ogg', + 'sound/items/pot/pot_pickup3.ogg', + ) + +/datum/sound_effect/pot_drop + key = SFX_POT_DROP + file_paths = list( + 'sound/items/pot/pot_drop1.ogg', + 'sound/items/pot/pot_drop2.ogg', + 'sound/items/pot/pot_drop3.ogg', + ) + +/datum/sound_effect/tray_pickup + key = SFX_TRAY_PICKUP + file_paths = list( + 'sound/items/tray/tray_pickup1.ogg', + 'sound/items/tray/tray_pickup2.ogg', + 'sound/items/tray/tray_pickup3.ogg', + ) + +/datum/sound_effect/tray_drop + key = SFX_TRAY_DROP + file_paths = list( + 'sound/items/tray/tray_drop1.ogg', + 'sound/items/tray/tray_drop2.ogg', + 'sound/items/tray/tray_drop3.ogg', + ) + +/datum/sound_effect/tray_insert + key = SFX_TRAY_INSERT + file_paths = list( + 'sound/items/tray/tray_insert1.ogg', + 'sound/items/tray/tray_insert2.ogg', + 'sound/items/tray/tray_insert3.ogg', + ) + +/datum/sound_effect/rolling_pin_pickup + key = SFX_ROLLING_PIN_PICKUP + file_paths = list( + 'sound/items/rolling_pin/rolling_pin_pickup1.ogg', + 'sound/items/rolling_pin/rolling_pin_pickup2.ogg', + 'sound/items/rolling_pin/rolling_pin_pickup3.ogg', + ) + +/datum/sound_effect/rolling_pin_drop + key = SFX_ROLLING_PIN_DROP + file_paths = list( + 'sound/items/rolling_pin/rolling_pin_drop1.ogg', + 'sound/items/rolling_pin/rolling_pin_drop2.ogg', + 'sound/items/rolling_pin/rolling_pin_drop3.ogg', + ) + +/datum/sound_effect/rolling_pin_rolling + key = SFX_ROLLING_PIN_ROLLING + file_paths = list( + 'sound/items/rolling_pin/rolling_pin_rolling1.ogg', + 'sound/items/rolling_pin/rolling_pin_rolling2.ogg', + 'sound/items/rolling_pin/rolling_pin_rolling3.ogg', + 'sound/items/rolling_pin/rolling_pin_rolling4.ogg', + 'sound/items/rolling_pin/rolling_pin_rolling5.ogg', + 'sound/items/rolling_pin/rolling_pin_rolling6.ogg', + ) + +/datum/sound_effect/fire_mode_switch + key = SFX_FIRE_MODE_SWITCH + file_paths = list( + 'sound/items/weapons/gun_mode_switch1.ogg', + ) + + +/datum/sound_effect/remote_mode_switch + key = SFX_REMOTE_MODE_SWITCH + file_paths = list( + 'sound/items/door_remote/door_remote_switch1.ogg', + 'sound/items/door_remote/door_remote_switch2.ogg', + 'sound/items/door_remote/door_remote_switch3.ogg', + ) + +/datum/sound_effect/remote_action + key = SFX_REMOTE_ACTION + file_paths = list( + 'sound/items/door_remote/door_remote_action1.ogg', + 'sound/items/door_remote/door_remote_action2.ogg', + ) + +/datum/sound_effect/gas_mask_pickup + key = SFX_GAS_MASK_PICKUP + file_paths = list( + 'sound/items/gas_mask/gas_mask_pickup1.ogg', + 'sound/items/gas_mask/gas_mask_pickup2.ogg', + 'sound/items/gas_mask/gas_mask_pickup3.ogg', + ) + +/datum/sound_effect/gas_mask_drop + key = SFX_GAS_MASK_DROP + file_paths = list( + 'sound/items/gas_mask/gas_mask_drop1.ogg', + 'sound/items/gas_mask/gas_mask_drop2.ogg', + 'sound/items/gas_mask/gas_mask_drop3.ogg', + ) + +/datum/sound_effect/gas_mask_equip + key = SFX_GAS_MASK_EQUIP + file_paths = list( + 'sound/items/gas_mask/gas_mask_equip1.ogg', + 'sound/items/gas_mask/gas_mask_equip2.ogg', + 'sound/items/gas_mask/gas_mask_equip3.ogg', + ) + diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 122ad3872c5..2d20bccfd0d 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -671,11 +671,12 @@ GLOBAL_LIST_EMPTY(station_turfs) return TRUE /turf/proc/add_vomit_floor(mob/living/vomiter, vomit_type = /obj/effect/decal/cleanable/vomit, vomit_flags, purge_ratio = 0.1) - var/obj/effect/decal/cleanable/vomit/throw_up = new vomit_type (src, vomiter?.get_static_viruses()) + var/obj/effect/decal/cleanable/vomit/throw_up = new vomit_type(src, vomiter?.get_static_viruses()) // if the vomit combined, apply toxicity and reagents to the old vomit if (QDELETED(throw_up)) throw_up = locate() in src + if(isnull(throw_up)) return @@ -684,21 +685,28 @@ GLOBAL_LIST_EMPTY(station_turfs) clear_reagents_to_vomit_pool(vomiter, throw_up, purge_ratio) -/proc/clear_reagents_to_vomit_pool(mob/living/carbon/M, obj/effect/decal/cleanable/vomit/V, purge_ratio = 0.1) - var/obj/item/organ/stomach/belly = M.get_organ_slot(ORGAN_SLOT_STOMACH) +/proc/clear_reagents_to_vomit_pool(mob/living/carbon/owner, obj/effect/decal/cleanable/vomit/vomit, purge_ratio = 0.1) + var/obj/item/organ/stomach/belly = owner.get_organ_slot(ORGAN_SLOT_STOMACH) if(!belly?.reagents.total_volume) return + var/chemicals_lost = belly.reagents.total_volume * purge_ratio - belly.reagents.trans_to(V, chemicals_lost, transferred_by = M) - //clear the stomach of anything even not food + if (vomit.reagents) + vomit.reagents.maximum_volume += chemicals_lost + else + vomit.create_reagents(chemicals_lost) + + belly.reagents.trans_to(vomit, chemicals_lost, transferred_by = owner) + // Clear the stomach of anything even not food for(var/bile in belly.reagents.reagent_list) var/datum/reagent/reagent = bile if(!belly.food_reagents[reagent.type]) belly.reagents.remove_reagent(reagent.type, min(reagent.volume, 10)) - else - var/bit_vol = reagent.volume - belly.food_reagents[reagent.type] - if(bit_vol > 0) - belly.reagents.remove_reagent(reagent.type, min(bit_vol, 10)) + continue + + var/bit_vol = reagent.volume - belly.food_reagents[reagent.type] + if(bit_vol > 0) + belly.reagents.remove_reagent(reagent.type, min(bit_vol, 10)) //Whatever happens after high temperature fire dies out or thermite reaction works. //Should return new turf diff --git a/code/modules/antagonists/changeling/powers/shriek.dm b/code/modules/antagonists/changeling/powers/shriek.dm index f98c1bcfe69..f01fc71e5cf 100644 --- a/code/modules/antagonists/changeling/powers/shriek.dm +++ b/code/modules/antagonists/changeling/powers/shriek.dm @@ -18,9 +18,7 @@ if(iscarbon(M)) var/mob/living/carbon/C = M if(!IS_CHANGELING(C)) - var/obj/item/organ/ears/ears = C.get_organ_slot(ORGAN_SLOT_EARS) - if(ears) - ears.adjustEarDamage(0, 30) + C.sound_damage(deafen = 30 SECONDS) C.adjust_confusion(25 SECONDS) C.set_jitter_if_lower(100 SECONDS) else diff --git a/code/modules/antagonists/cult/cult_structures.dm b/code/modules/antagonists/cult/cult_structures.dm index 697b1dc88c9..1db1297c884 100644 --- a/code/modules/antagonists/cult/cult_structures.dm +++ b/code/modules/antagonists/cult/cult_structures.dm @@ -19,12 +19,11 @@ cult_team = null return ..() -/obj/structure/destructible/cult/Initialize(mapload) +/obj/structure/destructible/cult/on_craft_completion(list/components, datum/crafting_recipe/current_recipe, atom/crafter) . = ..() - RegisterSignal(src, COMSIG_ATOM_CONSTRUCTED, PROC_REF(on_constructed)) - -/obj/structure/destructible/cult/proc/on_constructed(datum/source, mob/builder) - SIGNAL_HANDLER + if(!ismob(crafter)) + return + var/mob/living/builder = crafter var/datum/antagonist/cult/cultist = builder.mind?.has_antag_datum(/datum/antagonist/cult, TRUE) cult_team = cultist?.get_team() diff --git a/code/modules/antagonists/heretic/items/corrupted_organs.dm b/code/modules/antagonists/heretic/items/corrupted_organs.dm index 5ffe055de80..59cd6ccc067 100644 --- a/code/modules/antagonists/heretic/items/corrupted_organs.dm +++ b/code/modules/antagonists/heretic/items/corrupted_organs.dm @@ -264,8 +264,7 @@ hearer.adjust_timed_status_effect(15 SECONDS, /datum/status_effect/speech/slurring/heretic) hearer.emote("scream") hearer.add_mood_event("gates_of_mansus", /datum/mood_event/gates_of_mansus) - var/obj/item/organ/ears/regret = hearer.get_organ_slot(ORGAN_SLOT_EARS) - regret?.adjustEarDamage(10,20) + hearer.sound_damage(10, 40 SECONDS) return "[owner.p_Their()] lungs emit [span_hypnophrase(breath_noise)]" /// It's full of worms diff --git a/code/modules/antagonists/heretic/items/eldritch_painting.dm b/code/modules/antagonists/heretic/items/eldritch_painting.dm index c8b1b6f2737..15926cfcbeb 100644 --- a/code/modules/antagonists/heretic/items/eldritch_painting.dm +++ b/code/modules/antagonists/heretic/items/eldritch_painting.dm @@ -28,7 +28,7 @@ /// The range of the paintings effect var/range = 7 -/obj/structure/sign/painting/eldritch/Initialize(mapload, dir, building) +/obj/structure/sign/painting/eldritch/Initialize(mapload) . = ..() if(ispath(applied_status_effect)) var/static/list/connections = list(COMSIG_ATOM_ENTERED = PROC_REF(apply_status_effect)) @@ -177,7 +177,7 @@ /obj/item/food/grown/harebell, ) -/obj/structure/sign/painting/eldritch/vines/Initialize(mapload, dir, building) +/obj/structure/sign/painting/eldritch/vines/Initialize(mapload) . = ..() new /datum/spacevine_controller(get_turf(src), mutations, 0, 10) diff --git a/code/modules/antagonists/heretic/items/heretic_armor.dm b/code/modules/antagonists/heretic/items/heretic_armor.dm index 85e1dbf8ae2..e12066cb670 100644 --- a/code/modules/antagonists/heretic/items/heretic_armor.dm +++ b/code/modules/antagonists/heretic/items/heretic_armor.dm @@ -584,6 +584,18 @@ RegisterSignal(human_user, COMSIG_MOB_APPLY_DAMAGE_MODIFIERS, PROC_REF(on_apply_modifiers)) signal_registered += COMSIG_MOB_APPLY_DAMAGE_MODIFIERS + // adjust ignores damage modifiers so we listen to them separately + var/list/damage_adjust_signals = list( + COMSIG_LIVING_ADJUST_BRUTE_DAMAGE, + COMSIG_LIVING_ADJUST_BURN_DAMAGE, + COMSIG_LIVING_ADJUST_OXY_DAMAGE, + COMSIG_LIVING_ADJUST_TOX_DAMAGE, + COMSIG_LIVING_ADJUST_STAMINA_DAMAGE + ) + + RegisterSignals(human_user, damage_adjust_signals, PROC_REF(adjust_damage)) + signal_registered += damage_adjust_signals + RegisterSignal(human_user, COMSIG_LIVING_DEATH, PROC_REF(on_death)) signal_registered += COMSIG_LIVING_DEATH @@ -606,7 +618,8 @@ wearer.remove_movespeed_mod_immunities(REF(src), /datum/movespeed_modifier/equipment_speedmod) var/obj/item/organ/brain/our_brain = wearer.get_organ_slot(ORGAN_SLOT_BRAIN) - REMOVE_TRAIT(our_brain, TRAIT_BRAIN_DAMAGE_NODEATH, REF(src)) + if(our_brain) + REMOVE_TRAIT(our_brain, TRAIT_BRAIN_DAMAGE_NODEATH, REF(src)) braindead = FALSE if(health_hud in user.hud_used.infodisplay) on_hud_remove(user) @@ -616,6 +629,14 @@ if(braindead) return damage_mods += 0 + handle_damage(user, damage) + +/obj/item/clothing/suit/hooded/cultrobes/eldritch/moon/proc/adjust_damage(mob/living/user, type, amount, forced) + SIGNAL_HANDLER + handle_damage(user, amount) + return COMPONENT_IGNORE_CHANGE + +/obj/item/clothing/suit/hooded/cultrobes/eldritch/moon/proc/handle_damage(mob/living/user, damage) user.adjustOrganLoss(ORGAN_SLOT_BRAIN, damage * damage_modifier) check_braindeath(user) diff --git a/code/modules/antagonists/heretic/magic/mind_gate.dm b/code/modules/antagonists/heretic/magic/mind_gate.dm index 81215979468..cf6a48f4a62 100644 --- a/code/modules/antagonists/heretic/magic/mind_gate.dm +++ b/code/modules/antagonists/heretic/magic/mind_gate.dm @@ -44,16 +44,14 @@ /// The duration of these effects are based on sanity, mainly for flavor but also to make it a weaker alpha strike var/maximum_duration = 15 SECONDS - var/mind_gate_duration = ((SANITY_MAXIMUM - cast_on.mob_mood.sanity) / (SANITY_MAXIMUM - SANITY_INSANE)) * maximum_duration + var/mind_gate_duration = ((SANITY_MAXIMUM - cast_on.mob_mood.sanity) / (SANITY_MAXIMUM - SANITY_INSANE)) * maximum_duration + 1 SECONDS to_chat(cast_on, span_warning("Your eyes cry out in pain, your ears bleed and your lips seal! THE MOON SMILES UPON YOU!")) - cast_on.adjust_temp_blindness(mind_gate_duration + 1 SECONDS) - cast_on.set_eye_blur_if_lower(mind_gate_duration + 2 SECONDS) + cast_on.adjust_temp_blindness(mind_gate_duration) + cast_on.set_eye_blur_if_lower(mind_gate_duration + 1 SECONDS) - var/obj/item/organ/ears/ears = cast_on.get_organ_slot(ORGAN_SLOT_EARS) - //adjustEarDamage takes deafness duration parameter in one unit per two seconds, instead of the normal time, so we divide by two seconds - ears?.adjustEarDamage(0, (mind_gate_duration + 1 SECONDS) / (2 SECONDS)) + cast_on.sound_damage(0, mind_gate_duration) - cast_on.adjust_silence(mind_gate_duration + 1 SECONDS) + cast_on.adjust_silence(mind_gate_duration) cast_on.add_mood_event("moon_smile", /datum/mood_event/moon_smile) // Only knocksdown if the target has a low enough sanity diff --git a/code/modules/antagonists/heretic/status_effects/heretic_passive.dm b/code/modules/antagonists/heretic/status_effects/heretic_passive.dm index 150f1384a7c..3fe6f5c89f7 100644 --- a/code/modules/antagonists/heretic/status_effects/heretic_passive.dm +++ b/code/modules/antagonists/heretic/status_effects/heretic_passive.dm @@ -415,6 +415,8 @@ /datum/status_effect/heretic_passive/moon/on_apply() . = ..() var/obj/item/organ/brain/our_brain = owner.get_organ_slot(ORGAN_SLOT_BRAIN) + if(!our_brain) + return ADD_TRAIT(our_brain, TRAIT_BRAIN_TRAUMA_IMMUNITY, REF(src)) owner.AddElement(/datum/element/relay_attackers) RegisterSignal(owner, COMSIG_ATOM_WAS_ATTACKED, PROC_REF(on_attacked)) @@ -450,6 +452,8 @@ /datum/status_effect/heretic_passive/moon/on_remove() var/obj/item/organ/brain/our_brain = owner.get_organ_slot(ORGAN_SLOT_BRAIN) + if(!our_brain) + return ..() REMOVE_TRAIT(our_brain, TRAIT_BRAIN_TRAUMA_IMMUNITY, REF(src)) REMOVE_TRAIT(owner, TRAIT_SLEEPIMMUNE, REF(src)) UnregisterSignal(owner, COMSIG_ATOM_WAS_ATTACKED) diff --git a/code/modules/antagonists/malf_ai/malf_ai_modules.dm b/code/modules/antagonists/malf_ai/malf_ai_modules.dm index 770a064de1f..4cdad89be80 100644 --- a/code/modules/antagonists/malf_ai/malf_ai_modules.dm +++ b/code/modules/antagonists/malf_ai/malf_ai_modules.dm @@ -158,7 +158,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module/malf)) Obtaining control of the weapon will be easier if Head of Staff office APCs are already under your control." cost = 130 one_purchase = TRUE - minimum_apcs = 15 // So you cant speedrun delta + minimum_apcs = 10 // So you cant speedrun delta power_type = /datum/action/innate/ai/nuke_station unlock_text = span_notice("You slowly, carefully, establish a connection with the on-station self-destruct. You can now activate it at any time.") ///List of areas that grant discounts. "heads_quarters" will match any head of staff office. diff --git a/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm b/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm index a40ee8511e1..6d23171401e 100644 --- a/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm +++ b/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm @@ -143,8 +143,6 @@ /// Looks across the station for items that are pirate specific exports /obj/machinery/loot_locator/proc/find_random_loot() - if(!GLOB.exports_list.len) - setupExports() var/list/possible_loot = list() for(var/datum/export/pirate/possible_export in GLOB.exports_list) possible_loot += possible_export @@ -404,6 +402,7 @@ deltimer(sending_timer) /datum/export/pirate + abstract_type = /datum/export/pirate sales_market = EXPORT_MARKET_PIRACY /// Attempts to find the thing on station @@ -423,8 +422,7 @@ if(head_mobs.len) return pick(head_mobs) -/datum/export/pirate/ransom/get_cost(atom/movable/exported_item) - var/mob/living/carbon/human/ransomee = exported_item +/datum/export/pirate/ransom/get_base_cost(mob/living/carbon/human/ransomee) if(ransomee.stat != CONSCIOUS || !ransomee.mind || HAS_TRAIT(ransomee.mind, TRAIT_HAS_BEEN_KIDNAPPED)) //mint condition only return 0 else if(FACTION_PIRATE in ransomee.faction) //can't ransom your fellow pirates to CentCom! @@ -474,18 +472,20 @@ /datum/export/pirate/cash cost = 1 + k_hit_percentile = 0.1 / MAX_STACK_SIZE unit_name = "bill" export_types = list(/obj/item/stack/spacecash) -/datum/export/pirate/cash/get_cost(obj/exported_item) - var/obj/item/stack/spacecash/cash = exported_item - return cash.value * cash.amount +/datum/export/pirate/cash/get_amount(obj/item/stack/spacecash/cash) + return cash.amount + +/datum/export/pirate/cash/get_base_cost(obj/item/stack/spacecash/cash) + return cash.value /datum/export/pirate/holochip cost = 1 unit_name = "holochip" export_types = list(/obj/item/holochip) -/datum/export/pirate/holochip/get_cost(atom/movable/exported_item) - var/obj/item/holochip/chip = exported_item +/datum/export/pirate/holochip/get_base_cost(obj/item/holochip/chip) return chip.credits diff --git a/code/modules/art/paintings.dm b/code/modules/art/paintings.dm index 068ebebeba3..9c99f49a6df 100644 --- a/code/modules/art/paintings.dm +++ b/code/modules/art/paintings.dm @@ -713,11 +713,9 @@ /obj/structure/sign/painting/get_save_vars() return ..() - NAMEOF(src, icon) -/obj/structure/sign/painting/Initialize(mapload, dir, building) +/obj/structure/sign/painting/Initialize(mapload) . = ..() SSpersistent_paintings.painting_frames += src - if(dir) - setDir(dir) /obj/structure/sign/painting/Destroy() . = ..() @@ -732,12 +730,8 @@ else return ..() -/obj/structure/sign/painting/knock_down(mob/living/user) - var/turf/drop_turf - if(user) - drop_turf = get_turf(user) - else - drop_turf = drop_location() +/obj/structure/sign/painting/atom_deconstruct(disassembled) + var/turf/drop_turf = drop_location() current_canvas?.forceMove(drop_turf) var/obj/item/wallframe/frame = new wallframe_type(drop_turf) frame.update_integrity(get_integrity()) //Transfer how damaged it is. diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index bc28b4146ea..27bb7895195 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -264,19 +264,12 @@ // Attacker lateral to the victim. return DEVIATION_PARTIAL -/obj/item/assembly/flash/attack(mob/living/M, mob/user) +/obj/item/assembly/flash/attack(mob/living/target, mob/user) if(!try_use_flash(user)) return FALSE - . = TRUE - if(!issilicon(M)) - flash_mob(M, user, confusion_duration = 5 SECONDS, targeted = TRUE) - return - flash_silicon(M, user) - - user.visible_message(span_warning("[user] fails to blind [M] with the flash!"), span_warning("You fail to blind [M] with the flash!")) - -/obj/item/assembly/flash/proc/flash_silicon(mob/living/silicon/silicon) + flash_mob(target, user, confusion_duration = 5 SECONDS, targeted = TRUE) + return TRUE /obj/item/assembly/flash/attack_self(mob/living/carbon/user, flag = 0, emp = 0) if(holder) diff --git a/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm b/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm index 555b02256ea..0c03ad1b9bb 100644 --- a/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm +++ b/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm @@ -90,13 +90,11 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm) /obj/machinery/airalarm/get_save_vars() return ..() - NAMEOF(src, name) -/obj/machinery/airalarm/Initialize(mapload, ndir, nbuild) +/obj/machinery/airalarm/Initialize(mapload) . = ..() set_wires(new /datum/wires/airalarm(src)) - if(ndir) - setDir(ndir) - if(nbuild) + if(!mapload) buildstage = AIR_ALARM_BUILD_NO_CIRCUIT set_panel_open(TRUE) @@ -135,7 +133,8 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm) )) GLOB.air_alarms += src - find_and_hang_on_wall() + if(mapload) + find_and_hang_on_wall() register_context() check_enviroment() diff --git a/code/modules/cards/cards.dm b/code/modules/cards/cards.dm index 046c3e47906..7fcb19da6bb 100644 --- a/code/modules/cards/cards.dm +++ b/code/modules/cards/cards.dm @@ -131,13 +131,18 @@ var/list/cards = fetch_card_atoms() - card = card || cards[1] //draw the card on top + card ||= pick_card(user, cards) cards -= card update_appearance() playsound(src, 'sound/items/cards/cardflip.ogg', 50, TRUE) return card +/// Picks what card the user draws from the deck +/obj/item/toy/cards/proc/pick_card(mob/living/user, list/obj/item/toy/singlecard/cards) + // By default just pick the top card + return cards[1] + /// Returns the cards in this deck. /// Lazily generates the cards if they haven't already been made. /obj/item/toy/cards/proc/fetch_card_atoms() diff --git a/code/modules/cards/deck/tarot.dm b/code/modules/cards/deck/tarot.dm index 5fa7f25e61e..a408b04a6cf 100644 --- a/code/modules/cards/deck/tarot.dm +++ b/code/modules/cards/deck/tarot.dm @@ -28,6 +28,23 @@ M.Turn(180) card.transform = M +/obj/item/toy/cards/deck/tarot/pick_card(mob/living/user, list/obj/item/toy/singlecard/cards) + // If the user is cursed they have increase chance of drawing Death or The Tower + if(!HAS_TRAIT(user, TRAIT_CURSED)) + return ..() + + var/total_card = length(cards) + // give a boosted chance if they're using the full deck + var/chance_modifier = total_card >= 56 ? 24 : 4 + if(!prob(min(33, chance_modifier / total_card * 100))) + return ..() + + for(var/obj/item/toy/singlecard/card as anything in cards) + if(card.cardname == "Death" || card.cardname == "The Tower") + return card + + return ..() + /obj/item/toy/cards/deck/tarot/haunted name = "haunted tarot game deck" desc = "A spooky looking tarot deck. You can sense a supernatural presence linked to the cards..." diff --git a/code/modules/cargo/exports.dm b/code/modules/cargo/exports.dm index 1e140d646df..03fcdcb9180 100644 --- a/code/modules/cargo/exports.dm +++ b/code/modules/cargo/exports.dm @@ -30,14 +30,6 @@ Then the player gets the profit from selling his own wasted time. ///set to false if any objects in a dry run were unscannable var/all_contents_scannable = TRUE -/// Makes sure the exports list is populated and that the report isn't null. -/proc/init_export(datum/export_report/external_report) - if(!length(GLOB.exports_list)) - setupExports() - if(isnull(external_report)) - external_report = new - return external_report - /* * Handles exporting a movable atom and its contents * Arguments: @@ -52,7 +44,8 @@ Then the player gets the profit from selling his own wasted time. if(!islist(export_markets)) export_markets = list(export_markets) - external_report = init_export(external_report) + if(!external_report) + external_report = new var/list/contents = exported_atom.get_all_contents_ignoring(ignore_typecache) @@ -73,7 +66,8 @@ Then the player gets the profit from selling his own wasted time. /// It works like export_item_and_contents(), however it ignores the contents. Meaning only `exported_atom` will be valued. /proc/export_single_item(atom/movable/exported_atom, apply_elastic = TRUE, delete_unsold = TRUE, dry_run = FALSE, datum/export_report/external_report, export_markets = list(EXPORT_MARKET_STATION)) - external_report = init_export(external_report) + if(!external_report) + external_report = new var/sold = _export_loop(exported_atom, apply_elastic, dry_run, external_report, export_markets) if(!dry_run && (sold || delete_unsold) && sold != EXPORT_SOLD_DONT_DELETE) @@ -95,23 +89,28 @@ Then the player gets the profit from selling his own wasted time. external_report.all_contents_scannable = FALSE break sold = export.sell_object(exported_atom, external_report, dry_run, apply_elastic) - external_report.exported_atoms += " [exported_atom.name]" break return sold /datum/export + abstract_type = /datum/export + /// Unit name. Only used in "Received [total_amount] [name]s [message]." var/unit_name = "" /// Message appended to the sale report var/message = "" - /// Cost of item, in cargo credits. Must not allow for infinite price dupes, see above. + + ///Price per unit of an exported item var/cost = 1 /// whether this export can have a negative impact on the cargo budget or not var/allow_negative_cost = FALSE - /// coefficient used in marginal price calculation that roughly corresponds to the inverse of price elasticity, or "quantity elasticity" - var/k_elasticity = 1/30 - /// Coefficient used in the recovery of elastic price calculation. See Process, this value and k_elasticity are multiplied together to form the exponent that returns the price to normal. - var/k_recovery_elasticity = 1/30 + ///The percentage of an items real price that is earned when selling that item on cargo + var/k_elasticity = 1 + ///The percentage decrease on this exports elasticity per unit of item sold + var/k_hit_percentile = 0.05 + ///Time taken for this exports elasticity to reach back to 100% + var/k_recovery_time = 10 MINUTES + /// The multiplier of the amount sold shown on the report. Useful for exports, such as material, which costs are not strictly per single units sold. var/amount_report_multiplier = 1 /// Type of the exported object. If none, the export datum is considered base type. @@ -125,46 +124,55 @@ Then the player gets the profit from selling his own wasted time. /// Export market that this export applies to. Defaults to EXPORT_MARKET_STATION for items sold to the standard supply shuttle, replacements exist for pirates, etc. var/sales_market = EXPORT_MARKET_STATION - /// cost includes elasticity, this does not. - var/init_cost - - - /datum/export/New() ..() - SSprocessing.processing += src - init_cost = cost - export_types = typecacheof(export_types, only_root_path = !include_subtypes, ignore_root_path = FALSE) + export_types = typecacheof(export_types, only_root_path = !include_subtypes) exclude_types = typecacheof(exclude_types) /datum/export/Destroy() - SSprocessing.processing -= src return ..() -/datum/export/process() - cost *= NUM_E**(k_elasticity * k_recovery_elasticity) - // A little note here based on the standard values for k_recovery_elasticity: 1/30 will result in a price that started at 20% to go back to 100% in around 20 minutes, ramping up over time. - if(cost > init_cost) - cost = init_cost +/datum/export/process(seconds_per_tick) + k_elasticity += seconds_per_tick / k_recovery_time + if(k_elasticity >= 1) + k_elasticity = 1 + return PROCESS_KILL -/// Checks the cost. 0 cost items are skipped in export. -/datum/export/proc/get_cost(obj/exported_item, apply_elastic = TRUE) - var/amount = get_amount(exported_item) - if(apply_elastic) - if(k_elasticity != 0) - return round((cost/k_elasticity) * (1 - NUM_E**(-1 * k_elasticity * amount))) //anti-derivative of the marginal cost function - else - return round(cost * amount) //alternative form derived from L'Hopital to avoid division by 0 - else - return round(init_cost * amount) +/** + * Returns the cost of 1 unit of the exported item + * + * Arguments + * * obj/exported_item - the item we whos base cost we are trying to compute +*/ +/datum/export/proc/get_base_cost(obj/exported_item) + return cost /* -* Checks the amount of exportable in object. Credits in the bill, sheets in the stack, etc. -* Usually acts as a multiplier for a cost, so item that has 0 amount will be skipped in export. + * Returns the amount of exportable in object. Credits in the bill, sheets in the stack, etc. + * Usually acts as a multiplier for a cost, so item that has 0 amount will be skipped in export. + * + * Arguments + * * obj/exported_item - the amount of units in this exported item */ /datum/export/proc/get_amount(obj/exported_item) return 1 + +/** + * Returns the cost of the xported item i.e. amount * base cost * elasticity if TRUE + * + * Arguments + * * obj/exported_item - the item we are trying to export + * * apply_elastic - should we use elasticity +*/ +/datum/export/proc/get_cost(obj/exported_item, apply_elastic = TRUE) + SHOULD_NOT_OVERRIDE(TRUE) + + var/total = get_base_cost(exported_item) * get_amount(exported_item) + if(apply_elastic && initial(k_elasticity) > 0) + total *= k_elasticity + return ROUND_UP(total) + /// Checks if the item is fit for export datum. /datum/export/proc/applies_to(obj/exported_item, apply_elastic = TRUE, export_markets) for(var/found_market in export_markets) @@ -206,10 +214,14 @@ Then the player gets the profit from selling his own wasted time. if(!(export_result & COMPONENT_STOP_EXPORT_REPORT)) report.total_value[src] += export_value report.total_amount[src] += export_amount * amount_report_multiplier + report.exported_atoms += "[sold_item.name]" if(!dry_run) - if(apply_elastic) - cost *= NUM_E**(-1 * k_elasticity * export_amount) //marginal cost modifier + if(apply_elastic && k_elasticity > 0) + k_elasticity -= export_amount * k_hit_percentile + if(k_elasticity < 0) + k_elasticity = 0 + SSprocessing.processing |= src SSblackbox.record_feedback("nested tally", "export_sold_cost", 1, list("[sold_item.type]", "[export_value]")) return EXPORT_SOLD @@ -242,11 +254,3 @@ Then the player gets the profit from selling his own wasted time. msg += "." return msg -GLOBAL_LIST_EMPTY(exports_list) - -/// Called when the global exports_list is empty, and sets it up. -/proc/setupExports() - for(var/subtype in subtypesof(/datum/export)) - var/datum/export/export_datum = new subtype - if(export_datum.export_types && export_datum.export_types.len) // Exports without a type are invalid/base types - GLOB.exports_list += export_datum diff --git a/code/modules/cargo/exports/civilain_bounty.dm b/code/modules/cargo/exports/civilain_bounty.dm index 05241e0ab75..b4066bacbb1 100644 --- a/code/modules/cargo/exports/civilain_bounty.dm +++ b/code/modules/cargo/exports/civilain_bounty.dm @@ -4,5 +4,5 @@ unit_name = "completed bounty cube" export_types = list(/obj/item/bounty_cube) -/datum/export/bounty_box/get_cost(obj/item/bounty_cube/cube, apply_elastic) +/datum/export/bounty_box/get_base_cost(obj/item/bounty_cube/cube) return cube.bounty_value + (cube.bounty_value * cube.speed_bonus) diff --git a/code/modules/cargo/exports/fish.dm b/code/modules/cargo/exports/fish.dm index 0714041d4b5..0ecf977e4cd 100644 --- a/code/modules/cargo/exports/fish.dm +++ b/code/modules/cargo/exports/fish.dm @@ -1,9 +1,8 @@ /datum/export/fish cost = 30 + k_hit_percentile = 0.03 unit_name = "fish" export_types = list(/obj/item/fish) -/datum/export/fish/get_cost(obj/item/fish/fish, apply_elastic) - var/elastic_cost = ..() - var/elastic_percent = elastic_cost / init_cost - return round(fish.get_export_price(elastic_cost, elastic_percent)) +/datum/export/fish/get_base_cost(obj/item/fish/fish) + return fish.get_export_price(..()) diff --git a/code/modules/cargo/exports/food_and_drink.dm b/code/modules/cargo/exports/food_and_drink.dm index b44c05f0c78..9fc99f8716f 100644 --- a/code/modules/cargo/exports/food_and_drink.dm +++ b/code/modules/cargo/exports/food_and_drink.dm @@ -10,13 +10,8 @@ include_subtypes = TRUE exclude_types = list(/obj/item/food/grown) -/datum/export/food/get_cost(obj/item/food/object, allowed_categories, apply_elastic) +/datum/export/food/get_base_cost(obj/item/food/object) if(HAS_TRAIT(object, TRAIT_FOOD_SILVER)) return FOOD_PRICE_WORTHLESS - var/elastic_cost = ..() - if(object.venue_value) - var/elastic_percent = elastic_cost / init_cost - return round(object.venue_value * elastic_percent) - - return elastic_cost + return object.venue_value ? object.venue_value : ..() diff --git a/code/modules/cargo/exports/gear.dm b/code/modules/cargo/exports/gear.dm index c420191ee80..c55afb10f44 100644 --- a/code/modules/cargo/exports/gear.dm +++ b/code/modules/cargo/exports/gear.dm @@ -1,109 +1,107 @@ -/datum/export/gear - -/datum/export/gear/sec_helmet +/datum/export/sec_helmet cost = CARGO_CRATE_VALUE * 0.5 unit_name = "helmet" export_types = list(/obj/item/clothing/head/helmet/sec) -/datum/export/gear/sec_armor +/datum/export/sec_armor cost = CARGO_CRATE_VALUE * 0.5 unit_name = "armor vest" export_types = list(/obj/item/clothing/suit/armor/vest) -/datum/export/gear/riot_shield +/datum/export/riot_shield cost = CARGO_CRATE_VALUE * 0.5 unit_name = "riot shield" export_types = list(/obj/item/shield/riot) -/datum/export/gear/mask/breath +/datum/export/breath_mask cost = CARGO_CRATE_VALUE * 0.01 unit_name = "breath mask" export_types = list(/obj/item/clothing/mask/breath) -/datum/export/gear/mask/gas +/datum/export/gas_mask cost = CARGO_CRATE_VALUE * 0.05 unit_name = "gas mask" export_types = list(/obj/item/clothing/mask/gas) include_subtypes = FALSE -/datum/export/gear/space/helmet +/datum/export/helmet_space cost = CARGO_CRATE_VALUE * 0.15 unit_name = "space helmet" export_types = list(/obj/item/clothing/head/helmet/space, /obj/item/clothing/head/helmet/space/eva, /obj/item/clothing/head/helmet/space/nasavoid) include_subtypes = FALSE -/datum/export/gear/space/suit +/datum/export/suit_space cost = CARGO_CRATE_VALUE * 0.3 unit_name = "space suit" export_types = list(/obj/item/clothing/suit/space, /obj/item/clothing/suit/space/eva, /obj/item/clothing/suit/space/nasavoid) include_subtypes = FALSE -/datum/export/gear/space/syndiehelmet +/datum/export/syndiehelmet_space cost = CARGO_CRATE_VALUE * 0.3 unit_name = "Syndicate space helmet" export_types = list(/obj/item/clothing/head/helmet/space/syndicate) -/datum/export/gear/space/syndiesuit +/datum/export/syndiesuit_space cost = CARGO_CRATE_VALUE * 0.6 unit_name = "Syndicate space suit" export_types = list(/obj/item/clothing/suit/space/syndicate) -/datum/export/gear/radhelmet +/datum/export/radhelmet cost = CARGO_CRATE_VALUE * 0.1 unit_name = "radsuit hood" export_types = list(/obj/item/clothing/head/utility/radiation) -/datum/export/gear/radsuit +/datum/export/radsuit cost = CARGO_CRATE_VALUE * 0.2 unit_name = "radsuit" export_types = list(/obj/item/clothing/suit/utility/radiation) -/datum/export/gear/biohood +/datum/export/biohood cost = CARGO_CRATE_VALUE * 0.1 unit_name = "biosuit hood" export_types = list(/obj/item/clothing/head/bio_hood) -/datum/export/gear/biosuit +/datum/export/biosuit cost = CARGO_CRATE_VALUE * 0.2 unit_name = "biosuit" export_types = list(/obj/item/clothing/suit/bio_suit) -/datum/export/gear/bombhelmet +/datum/export/bombhelmet cost = CARGO_CRATE_VALUE * 0.1 unit_name = "bomb suit hood" export_types = list(/obj/item/clothing/head/utility/bomb_hood) -/datum/export/gear/bombsuit +/datum/export/bombsuit cost = CARGO_CRATE_VALUE * 0.2 unit_name = "bomb suit" export_types = list(/obj/item/clothing/suit/utility/bomb_suit) -/datum/export/gear/lizardboots +/datum/export/lizardboots cost = CARGO_CRATE_VALUE * 0.7 unit_name = "lizard skin boots" export_types = list(/obj/item/clothing/shoes/cowboy/lizard) include_subtypes = FALSE -/datum/export/gear/lizardmasterwork +/datum/export/lizardmasterwork cost = CARGO_CRATE_VALUE * 2 unit_name = "Hugs-the-Feet lizard boots" export_types = list(/obj/item/clothing/shoes/cowboy/lizard/masterwork) -/datum/export/gear/bilton +/datum/export/bilton cost = CARGO_CRATE_VALUE * 5 unit_name = "bilton wrangler boots" export_types = list(/obj/item/clothing/shoes/cowboy/fancy) -/datum/export/gear/ebonydie +/datum/export/ebonydie cost = CARGO_CRATE_VALUE unit_name = "ebony die" export_types = list(/obj/item/dice/d6/ebony) -/datum/export/gear/rare_lighter +/datum/export/rare_lighter cost = CARGO_CRATE_VALUE * 4 unit_name = "novelty lighter" export_types = list( diff --git a/code/modules/cargo/exports/large_objects.dm b/code/modules/cargo/exports/large_objects.dm index dd6f3535bc5..240841e7974 100644 --- a/code/modules/cargo/exports/large_objects.dm +++ b/code/modules/cargo/exports/large_objects.dm @@ -1,4 +1,4 @@ -/datum/export/large/crate +/datum/export/crate cost = CARGO_CRATE_VALUE k_elasticity = 0 unit_name = "crate" @@ -10,119 +10,114 @@ /obj/structure/closet/crate/wooden, ) -/datum/export/large/crate/total_printout(datum/export_report/ex, notes = TRUE) // That's why a goddamn metal crate costs that much. +/datum/export/crate/total_printout(datum/export_report/ex, notes = TRUE) // That's why a goddamn metal crate costs that much. . = ..() if(. && notes) . += " Thanks for participating in Nanotrasen Crates Recycling Program." -/datum/export/large/crate/wooden - cost = CARGO_CRATE_VALUE/5 +/datum/export/crate/wooden + cost = CARGO_CRATE_VALUE / 5 unit_name = "large wooden crate" export_types = list(/obj/structure/closet/crate/large) exclude_types = list() -/datum/export/large/crate/wooden/ore +/datum/export/crate/wooden/ore unit_name = "ore box" export_types = list(/obj/structure/ore_box) -/datum/export/large/crate/wood +/datum/export/crate/wood cost = CARGO_CRATE_VALUE * 0.48 unit_name = "wooden crate" export_types = list(/obj/structure/closet/crate/wooden) exclude_types = list() -/datum/export/large/crate/coffin +/datum/export/crate/coffin cost = CARGO_CRATE_VALUE/2 //50 wooden crates cost 800 credits, and you can make 10 coffins in seconds with those planks. Each coffin selling for 100 means you can make a net gain of 200 credits for wasting your time making coffins. unit_name = "coffin" export_types = list(/obj/structure/closet/crate/coffin) -/datum/export/large/reagent_dispenser +/datum/export/reagent_dispenser + abstract_type = /datum/export/reagent_dispenser cost = CARGO_CRATE_VALUE * 0.5 // +0-400 depending on amount of reagents left + ///cost for an full holder of reagents var/contents_cost = CARGO_CRATE_VALUE * 0.8 -/datum/export/large/reagent_dispenser/get_cost(obj/structure/reagent_dispensers/dispenser) - var/ratio = dispenser.reagents.total_volume / dispenser.reagents.maximum_volume +/datum/export/reagent_dispenser/get_base_cost(obj/structure/reagent_dispensers/dispenser) + return ..() + round(contents_cost * (dispenser.reagents.total_volume / dispenser.reagents.maximum_volume)) - return ..() + round(contents_cost * ratio) - -/datum/export/large/reagent_dispenser/water +/datum/export/reagent_dispenser/water unit_name = "watertank" export_types = list(/obj/structure/reagent_dispensers/watertank) contents_cost = CARGO_CRATE_VALUE * 0.4 -/datum/export/large/reagent_dispenser/fuel +/datum/export/reagent_dispenser/fuel unit_name = "fueltank" export_types = list(/obj/structure/reagent_dispensers/fueltank) -/datum/export/large/reagent_dispenser/beer +/datum/export/reagent_dispenser/beer unit_name = "beer keg" contents_cost = CARGO_CRATE_VALUE * 3.5 export_types = list(/obj/structure/reagent_dispensers/beerkeg) -/datum/export/large/pipedispenser +/datum/export/pipedispenser cost = CARGO_CRATE_VALUE * 2.5 unit_name = "pipe dispenser" export_types = list(/obj/machinery/pipedispenser) -/datum/export/large/emitter +/datum/export/emitter cost = CARGO_CRATE_VALUE * 2.75 unit_name = "emitter" export_types = list(/obj/machinery/power/emitter) -/datum/export/large/field_generator +/datum/export/field_generator cost = CARGO_CRATE_VALUE * 2.75 unit_name = "field generator" export_types = list(/obj/machinery/field/generator) -/datum/export/large/tesla_coil +/datum/export/tesla_coil cost = CARGO_CRATE_VALUE * 2.25 unit_name = "tesla coil" export_types = list(/obj/machinery/power/energy_accumulator/tesla_coil) -/datum/export/large/supermatter +/datum/export/supermatter cost = CARGO_CRATE_VALUE * 16 unit_name = "supermatter shard" export_types = list(/obj/machinery/power/supermatter_crystal/shard) -/datum/export/large/grounding_rod +/datum/export/grounding_rod cost = CARGO_CRATE_VALUE * 1.2 unit_name = "grounding rod" export_types = list(/obj/machinery/power/energy_accumulator/grounding_rod) -/datum/export/large/iv +/datum/export/iv cost = CARGO_CRATE_VALUE * 0.25 unit_name = "iv drip" export_types = list(/obj/machinery/iv_drip) -/datum/export/large/barrier +/datum/export/barrier cost = CARGO_CRATE_VALUE * 0.25 unit_name = "security barrier" export_types = list(/obj/item/grenade/barrier, /obj/structure/barricade/security) -/** - * Gas canister exports. - * I'm going to put a quick aside here as this has been a pain to balance for several years now, and I'd like to at least break how to keep gas exports tame. - * So: Gasses are sold in canisters below, which have a variable amount of maximum pressure before they start to break. The largest of which is 9.2e13 kPa. - * This means we can determine a theoretical maximum value for gas sale prices using the ideal gas laws, as we know we have a minimum gas temperature of 2.7 kelvin. - * - * Additional note on base value. Gasses are soft capped to limit how much they're worth at large quantities, and time and time again players will find new ways to break your gasses. - * so please, *PLEASE* try not to go too much further past 10. +///Maximum number of credits you can earn from selling your gas canister cause its theoritically infinite +#define MAX_GAS_CREDITS 15000 - * * AUTHORS NOTE: This means the theoretical, insane madman number of moles of a single gas in a can sits at a horrifying 4,098,150,709.4 moles. - * * Use this as you will, and when someone makes a quinquadrillion credits using gas exports, use these metrics as a way to balance the bejesus out of them. - * * For more information, see code\modules\atmospherics\machinery\portable\canister.dm. - */ -/datum/export/large/gas_canister +/** + * Maximum pressure a canister can withstand is 9.2e13 kPa at a minimum of 2.7K which would contain a horrifying 4,098,150,709.4 moles. + * We don't want players making that much credits so we limit the total amount earned to MAX_GAS_CREDITS +*/ +/datum/export/gas_canister cost = CARGO_CRATE_VALUE * 0.05 //Base cost of canister. You get more for nice gases inside. unit_name = "Gas Canister" export_types = list(/obj/machinery/portable_atmospherics/canister) - k_elasticity = 0.00033 -/datum/export/large/gas_canister/get_cost(obj/machinery/portable_atmospherics/canister/canister) - var/worth = cost +/datum/export/gas_canister/get_base_cost(obj/machinery/portable_atmospherics/canister/canister) var/datum/gas_mixture/canister_mix = canister.return_air() + if(!canister_mix.total_moles()) + return 0 var/canister_gas = canister_mix.gases - var/list/gases_to_check = list( + + var/static/list/gases_to_check = list( /datum/gas/bz, /datum/gas/nitrium, /datum/gas/hypernoblium, @@ -140,14 +135,18 @@ /datum/gas/goblin //BUBBERSTATION CHANGE ) + var/worth = cost for(var/gasID in gases_to_check) canister_mix.assert_gas(gasID) if(canister_gas[gasID][MOLES] > 0) worth += get_gas_value(gasID, canister_gas[gasID][MOLES]) + if(worth > MAX_GAS_CREDITS) + worth = MAX_GAS_CREDITS + break - canister_mix.garbage_collect() return worth -/datum/export/large/gas_canister/proc/get_gas_value(datum/gas/gasType, moles) - var/baseValue = initial(gasType.base_value) - return round((baseValue/k_elasticity) * (1 - NUM_E**(-1 * k_elasticity * moles))) +/datum/export/gas_canister/proc/get_gas_value(datum/gas/gasType, moles) + return ROUND_UP(initial(gasType.base_value) * moles) + +#undef MAX_GAS_CREDITS diff --git a/code/modules/cargo/exports/lavaland.dm b/code/modules/cargo/exports/lavaland.dm index a764866ad28..78f98cb04da 100644 --- a/code/modules/cargo/exports/lavaland.dm +++ b/code/modules/cargo/exports/lavaland.dm @@ -1,6 +1,7 @@ //Tendril chest artifacts and ruin loot. //Consumable or one-use items like the magic D20 and gluttony's blessing are omitted /datum/export/lavaland + abstract_type = /datum/export/lavaland unit_name = "lava planet artifact" /// Prefix to add to our unit name after generation var/prefix = null diff --git a/code/modules/cargo/exports/manifest.dm b/code/modules/cargo/exports/manifest.dm index 03fe33467fb..861dae87027 100644 --- a/code/modules/cargo/exports/manifest.dm +++ b/code/modules/cargo/exports/manifest.dm @@ -36,8 +36,7 @@ return TRUE return FALSE -/datum/export/manifest_error_denied/get_cost(obj/O) - var/obj/item/paper/fluff/jobs/cargo/manifest/M = O +/datum/export/manifest_error_denied/get_base_cost(obj/item/paper/fluff/jobs/cargo/manifest/M) return ..() + M.order_cost @@ -59,8 +58,7 @@ return TRUE return FALSE -/datum/export/manifest_error/get_cost(obj/O) - var/obj/item/paper/fluff/jobs/cargo/manifest/M = O +/datum/export/manifest_error/get_base_cost(obj/item/paper/fluff/jobs/cargo/manifest/M) return -min(M.order_cost * 0.5, MAX_MANIFEST_PENALTY) @@ -82,8 +80,7 @@ return TRUE return FALSE -/datum/export/manifest_correct_denied/get_cost(obj/O) - var/obj/item/paper/fluff/jobs/cargo/manifest/M = O +/datum/export/manifest_correct_denied/get_base_cost(obj/item/paper/fluff/jobs/cargo/manifest/M) return -min(M.order_cost * 0.5, MAX_MANIFEST_PENALTY) #undef MAX_MANIFEST_PENALTY diff --git a/code/modules/cargo/exports/materials.dm b/code/modules/cargo/exports/materials.dm index 890a93eebf4..d5c48706cdf 100644 --- a/code/modules/cargo/exports/materials.dm +++ b/code/modules/cargo/exports/materials.dm @@ -1,33 +1,55 @@ /datum/export/material + abstract_type = /datum/export/material cost = 5 // Cost per SHEET_MATERIAL_AMOUNT, which is 100cm3 as of May 2023. + k_hit_percentile = 0.2 / MAX_STACK_SIZE //Meaning selling 1 full stack of materials will decrease subsequent sales by 20% + k_recovery_time = 8 MINUTES message = "cm3 of developer's tears. Please, report this on github" amount_report_multiplier = SHEET_MATERIAL_AMOUNT - var/datum/material/material_id = null export_types = list( /obj/item/stack/sheet/mineral, /obj/item/stack/tile/mineral, /obj/item/stack/ore, /obj/item/coin ) + ///Material id we are trying to + var/datum/material/material_id = null // Yes, it's a base type containing export_types. // But it has no material_id, so any applies_to check will return false, and these types reduce amount of copypasta a lot +/datum/export/material/New() + var/temp_exports = export_types + export_types = null + . = ..() + export_types = init_export_types(temp_exports) + +/** + * Inits an list of exports for this type. For performance this usually returns a static list + * + * Arguments + * * export_data - exports whos type cache we are trying to create +*/ +/datum/export/material/proc/init_export_types(export_data) + PROTECTED_PROC(TRUE) + + var/static/list/shared_exports = null + if(isnull(shared_exports)) + shared_exports = typecacheof(export_data, only_root_path = !include_subtypes) + + return shared_exports + /datum/export/material/get_amount(obj/O) - if(!material_id) - return 0 if(!isitem(O)) return 0 var/obj/item/I = O var/list/mat_comp = I.get_material_composition() var/datum/material/mat_ref = ispath(material_id) ? locate(material_id) in mat_comp : GET_MATERIAL_REF(material_id) - if(isnull(mat_comp[mat_ref])) + var/amount = mat_comp[mat_ref] + if(!amount) return 0 - var/amount = mat_comp[mat_ref] if(istype(I, /obj/item/stack/ore)) amount *= 0.8 // Station's ore redemption equipment is really goddamn good. - return round(amount / SHEET_MATERIAL_AMOUNT) // Materials. Static materials exist as parent types, while materials subject to the stock market have a fluid cost as determined by material/market types @@ -35,7 +57,6 @@ /datum/export/material/plasma cost = CARGO_CRATE_VALUE * 0.4 - k_elasticity = 0 material_id = /datum/material/plasma message = "cm3 of plasma" @@ -44,7 +65,7 @@ material_id = /datum/material/bananium message = "cm3 of bananium" -/datum/export/material/diamond +/datum/export/material/adamantine cost = CARGO_CRATE_VALUE material_id = /datum/material/adamantine message = "cm3 of adamantine" @@ -70,76 +91,48 @@ material_id = /datum/material/hot_ice export_types = /obj/item/stack/sheet/hot_ice +/datum/export/material/hot_ice/init_export_types(export_data) + return typecacheof(export_data, only_root_path = !include_subtypes) + /datum/export/material/metal_hydrogen cost = CARGO_CRATE_VALUE * 1.05 message = "cm3 of metallic hydrogen" material_id = /datum/material/metalhydrogen export_types = /obj/item/stack/sheet/mineral/metal_hydrogen +/datum/export/material/metal_hydrogen/init_export_types(export_data) + return typecacheof(export_data, only_root_path = !include_subtypes) + /datum/export/material/market + abstract_type = /datum/export/material/market cost = 1 - k_recovery_elasticity = 1/10 //Modeled such that a stack of materials, selling to drop the cost to ~20%, will recover fully in 8 minutes instead of 20. - export_types = list( - /obj/item/stack/sheet/mineral, - /obj/item/stack/tile/mineral, - /obj/item/stack/ore, - /obj/item/coin, - /obj/item/stock_block, - ) -/datum/export/material/market/applies_to(obj/exported_obj, apply_elastic) - . = ..() - if(istype(exported_obj, /obj/item/stock_block)) - var/obj/item/stock_block/block = exported_obj - if(!block.export_mat) - return FALSE - if(block.export_mat == material_id) - return TRUE - return FALSE +/datum/export/material/market/get_base_cost(obj/exported_obj) + return ..() * SSstock_market.materials_prices[material_id] -/datum/export/material/market/get_amount(obj/exported_obj) - if(istype(exported_obj, /obj/item/stock_block)) - var/obj/item/stock_block/block = exported_obj - return block.quantity - return ..() +/** + * Returns number of sheets in this item + * + * Arguments + * * obj/sold_item - the item whos sheets we are computing +*/ +/datum/export/material/market/proc/get_sheets(obj/sold_item) + PROTECTED_PROC(TRUE) -/datum/export/material/market/get_cost(obj/exported_obj, apply_elastic = TRUE) - if(!material_id) - return 0 - - var/obj/item/exported_item = exported_obj - var/amount = get_amount(exported_item) - if(!amount) - return 0 - - var/obj/item/stock_block/block - if(istype(exported_item, /obj/item/stock_block)) - block = exported_item - if(block.export_mat != material_id) - return 0 - - var/material_value = 0 - if(block) - if(block.fluid) - material_value = SSstock_market.materials_prices[block.export_mat] * amount - else - material_value = block.export_value - else - material_value = SSstock_market.materials_prices[material_id] * amount - return (apply_elastic ? cost : init_cost) * material_value // Cost in this case is only serving as the elastic modifier, where material value is the raw value of the sheets sold. + return get_amount(sold_item) /datum/export/material/market/sell_object(obj/sold_item, datum/export_report/report, dry_run, apply_elastic) . = ..() - var/amount = get_amount(sold_item) - if(!amount) + var/sheets = get_sheets(sold_item) + if(!sheets) return //This formula should impact lower quantity materials greater, and higher quantity materials less. Still, it's a bit rough. Tweaking may be needed. if(!dry_run) //decrease the market price - SSstock_market.adjust_material_price(material_id, -SSstock_market.materials_prices[material_id] * (amount / (amount + SSstock_market.materials_quantity[material_id]))) + SSstock_market.adjust_material_price(material_id, -SSstock_market.materials_prices[material_id] * (sheets / (sheets + SSstock_market.materials_quantity[material_id]))) //increase the stock - SSstock_market.adjust_material_quantity(material_id, amount) + SSstock_market.adjust_material_quantity(material_id, sheets) /datum/export/material/market/diamond material_id = /datum/material/diamond @@ -167,8 +160,10 @@ export_types = list( /obj/item/stack/sheet/bluespace_crystal, /obj/item/stack/ore/bluespace_crystal, - /obj/item/stock_block, - ) //For whatever reason, bluespace crystals are not a mineral + ) + +/datum/export/material/market/bscrystal/init_export_types(export_data) + return typecacheof(export_data, only_root_path = !include_subtypes) /datum/export/material/market/iron message = "cm3 of iron" @@ -179,9 +174,11 @@ /obj/item/stack/rods, /obj/item/stack/ore, /obj/item/coin, - /obj/item/stock_block, ) +/datum/export/material/market/iron/init_export_types(export_data) + return typecacheof(export_data, only_root_path = !include_subtypes) + /datum/export/material/market/glass message = "cm3 of glass" material_id = /datum/material/glass @@ -189,5 +186,32 @@ /obj/item/stack/sheet/glass, /obj/item/stack/ore, /obj/item/shard, - /obj/item/stock_block, ) + +/datum/export/material/market/glass/init_export_types(export_data) + return typecacheof(export_data, only_root_path = !include_subtypes) + +/datum/export/material/market/stock_block + amount_report_multiplier = 1 + k_hit_percentile = 0.2 //20% hit per block stock which is synomonous to an full stack of sheets + message = "" + unit_name = "stock block" + export_types = list(/obj/item/stock_block) + +/datum/export/material/market/stock_block/init_export_types(export_data) + return typecacheof(export_data, only_root_path = !include_subtypes) + +/datum/export/material/market/stock_block/get_amount(obj/item/stock_block/block) + return 1 //sold as 1 stock block but we adjust the markets via get_sheets() + +/datum/export/material/market/stock_block/get_sheets(obj/item/stock_block/block) + return block.custom_materials[block.custom_materials[1]] / SHEET_MATERIAL_AMOUNT + +/datum/export/material/market/stock_block/get_base_cost(obj/item/stock_block/block) + + return (block.fluid ? SSstock_market.materials_prices[block.custom_materials[1].type] : block.export_value) * get_sheets(block) + +/datum/export/material/market/stock_block/sell_object(obj/item/stock_block/block, datum/export_report/report, dry_run, apply_elastic) + material_id = block.custom_materials[1].type + + return ..() diff --git a/code/modules/cargo/exports/mecha.dm b/code/modules/cargo/exports/mecha.dm index 06eb94401a6..085977f02b8 100644 --- a/code/modules/cargo/exports/mecha.dm +++ b/code/modules/cargo/exports/mecha.dm @@ -1,24 +1,24 @@ -/datum/export/mecha/ripley +/datum/export/ripley cost = CARGO_CRATE_VALUE * 13 unit_name = "APLU MK-II Ripley" export_types = list(/obj/vehicle/sealed/mecha/ripley/mk2) -/datum/export/mecha/clarke +/datum/export/clarke cost = CARGO_CRATE_VALUE * 16 unit_name = "Clarke" export_types = list(/obj/vehicle/sealed/mecha/clarke) -/datum/export/mecha/odysseus +/datum/export/odysseus cost = CARGO_CRATE_VALUE * 11 unit_name = "Odysseus" export_types = list(/obj/vehicle/sealed/mecha/odysseus) -/datum/export/mecha/gygax +/datum/export/gygax cost = CARGO_CRATE_VALUE * 28 unit_name = "Gygax" export_types = list(/obj/vehicle/sealed/mecha/gygax) -/datum/export/mecha/durand +/datum/export/durand cost = CARGO_CRATE_VALUE * 20 unit_name = "Durand" export_types = list(/obj/vehicle/sealed/mecha/durand) diff --git a/code/modules/cargo/exports/organs.dm b/code/modules/cargo/exports/organs.dm index b446337586d..6447d7d4627 100644 --- a/code/modules/cargo/exports/organs.dm +++ b/code/modules/cargo/exports/organs.dm @@ -2,14 +2,13 @@ #define CLIENT_ORGAN_MULT 10 /datum/export/organ + abstract_type = /datum/export/organ include_subtypes = FALSE //CentCom doesn't need organs from non-humans. -/datum/export/organ/get_cost(obj/exported_item, apply_elastic) - if(HAS_TRAIT(exported_item, TRAIT_CLIENT_STARTING_ORGAN)) - // Multiply value for organs that started in a player - // Unaffected by price elasticity as there's a limited amount of these in play - return round(init_cost * CLIENT_ORGAN_MULT) - return ..() +/datum/export/organ/get_base_cost(obj/exported_item) + // Multiply value for organs that started in a player + // Unaffected by price elasticity as there's a limited amount of these in play + return round(..() * HAS_TRAIT(exported_item, TRAIT_CLIENT_STARTING_ORGAN) ? CLIENT_ORGAN_MULT : 1) /datum/export/organ/heart cost = CARGO_CRATE_VALUE * 0.2 //For the man who has everything and nothing. @@ -46,18 +45,17 @@ unit_name = "humanoid tongue" export_types = list(/obj/item/organ/tongue) -/datum/export/organ/external/tail/lizard +/datum/export/organ/lizard_tail cost = CARGO_CRATE_VALUE * 1.25 unit_name = "lizard tail" export_types = list(/obj/item/organ/tail/lizard) - -/datum/export/organ/external/tail/cat +/datum/export/organ/cat_tail cost = CARGO_CRATE_VALUE * 1.5 unit_name = "cat tail" export_types = list(/obj/item/organ/tail/cat) -/datum/export/organ/ears/cat +/datum/export/organ/cat_ears cost = CARGO_CRATE_VALUE unit_name = "cat ears" export_types = list(/obj/item/organ/ears/cat) diff --git a/code/modules/cargo/exports/parts.dm b/code/modules/cargo/exports/parts.dm index fc8c9656fea..d5d672425ba 100644 --- a/code/modules/cargo/exports/parts.dm +++ b/code/modules/cargo/exports/parts.dm @@ -1,34 +1,34 @@ // Circuit boards, spare parts, etc. -/datum/export/solar/assembly +/datum/export/solar_assembly cost = CARGO_CRATE_VALUE * 0.25 unit_name = "solar panel assembly" export_types = list(/obj/item/solar_assembly) -/datum/export/solar/tracker_board +/datum/export/tracker_board cost = CARGO_CRATE_VALUE * 0.5 unit_name = "solar tracker board" export_types = list(/obj/item/electronics/tracker) -/datum/export/solar/control_board +/datum/export/control_board cost = CARGO_CRATE_VALUE * 0.75 unit_name = "solar panel control board" export_types = list(/obj/item/circuitboard/computer/solar_control) //Data Disks -/datum/export/modular_part/portabledrive/advanced +/datum/export/advanced_disk cost = CARGO_CRATE_VALUE * 0.4 unit_name = "advanced data disk" export_types = list(/obj/item/computer_disk/advanced) include_subtypes = FALSE -/datum/export/modular_part/portabledrive/super +/datum/export/super_disk cost = CARGO_CRATE_VALUE * 0.6 unit_name = "super data disk" export_types = list(/obj/item/computer_disk/super) include_subtypes = FALSE -/datum/export/modular_part/portabledrive/standard +/datum/export/standard_disk cost = CARGO_CRATE_VALUE * 0.2 unit_name = "data disk" export_types = list(/obj/item/computer_disk) diff --git a/code/modules/cargo/exports/seeds.dm b/code/modules/cargo/exports/seeds.dm index 981e77c16b6..3aa33ea2cf6 100644 --- a/code/modules/cargo/exports/seeds.dm +++ b/code/modules/cargo/exports/seeds.dm @@ -1,38 +1,30 @@ /datum/export/seed cost = CARGO_CRATE_VALUE * 0.25 // Gets multiplied by potency - k_elasticity = 1 //price inelastic/quantity elastic, only need to export a few samples + k_elasticity = 0 //price inelastic/quantity elastic, only need to export a few samples unit_name = "new plant species sample" export_types = list(/obj/item/seeds) - var/needs_discovery = FALSE // Only for undiscovered species + // Only for undiscovered species + var/needs_discovery = FALSE + // Plants sold on the market var/static/list/discovered_plants = list() -/datum/export/seed/get_cost(obj/O) - var/obj/item/seeds/S = O +/datum/export/seed/get_base_cost(obj/item/seeds/S) if(!needs_discovery && (S.type in discovered_plants)) return 0 if(needs_discovery && !(S.type in discovered_plants)) return 0 return ..() * S.rarity // That's right, no bonus for potency. Send a crappy sample first to "show improvement" later. -/datum/export/seed/sell_object(obj/O, datum/export_report/report, dry_run, apply_elastic) +/datum/export/seed/sell_object(obj/item/seeds/S, datum/export_report/report, dry_run, apply_elastic) . = ..() if(. && !dry_run) - var/obj/item/seeds/S = O discovered_plants[S.type] = S.potency - /datum/export/seed/potency cost = CARGO_CRATE_VALUE * 0.0125 // Gets multiplied by potency and rarity. unit_name = "improved plant sample" export_types = list(/obj/item/seeds) needs_discovery = TRUE // Only for already discovered species -/datum/export/seed/potency/get_cost(obj/O) - var/obj/item/seeds/S = O - var/cost = ..() - if(!cost) - return 0 - - var/potDiff = (S.potency - discovered_plants[S.type]) - - return round(..() * potDiff) +/datum/export/seed/potency/get_base_cost(obj/item/seeds/S) + return ..() * (S.potency - discovered_plants[S.type]) diff --git a/code/modules/cargo/exports/sheets.dm b/code/modules/cargo/exports/sheets.dm index e97a7ce7315..6c433add027 100644 --- a/code/modules/cargo/exports/sheets.dm +++ b/code/modules/cargo/exports/sheets.dm @@ -1,4 +1,5 @@ /datum/export/stack + abstract_type = /datum/export/stack unit_name = "sheet" /datum/export/stack/get_amount(obj/O) @@ -9,48 +10,48 @@ // Hides -/datum/export/stack/skin/monkey +/datum/export/stack/monkey cost = CARGO_CRATE_VALUE * 0.25 unit_name = "monkey hide" export_types = list(/obj/item/stack/sheet/animalhide/monkey) -/datum/export/stack/skin/human +/datum/export/stack/human cost = CARGO_CRATE_VALUE * 0.5 unit_name = "piece" message = "of human skin" export_types = list(/obj/item/stack/sheet/animalhide/human) -/datum/export/stack/skin/goliath_hide +/datum/export/stack/goliath_hide cost = CARGO_CRATE_VALUE unit_name = "goliath hide" export_types = list(/obj/item/stack/sheet/animalhide/goliath_hide) -/datum/export/stack/skin/cat +/datum/export/stack/cat cost = CARGO_CRATE_VALUE * 0.75 unit_name = "cat hide" export_types = list(/obj/item/stack/sheet/animalhide/cat) -/datum/export/stack/skin/corgi +/datum/export/stack/corgi cost = CARGO_CRATE_VALUE unit_name = "corgi hide" export_types = list(/obj/item/stack/sheet/animalhide/corgi) -/datum/export/stack/skin/lizard +/datum/export/stack/lizard cost = CARGO_CRATE_VALUE * 0.75 unit_name = "lizard hide" export_types = list(/obj/item/stack/sheet/animalhide/lizard) -/datum/export/stack/skin/gondola +/datum/export/stack/gondola cost = CARGO_CRATE_VALUE * 10 unit_name = "gondola hide" export_types = list(/obj/item/stack/sheet/animalhide/gondola) -/datum/export/stack/skin/xeno +/datum/export/stack/xeno cost = CARGO_CRATE_VALUE * 2.5 unit_name = "alien hide" export_types = list(/obj/item/stack/sheet/animalhide/xeno) -/datum/export/stack/skin/carp +/datum/export/stack/carp cost = CARGO_CRATE_VALUE * 0.5 unit_name = "carp skin" export_types = list(/obj/item/stack/sheet/animalhide/carp) diff --git a/code/modules/cargo/exports/stamped_paperwork.dm b/code/modules/cargo/exports/stamped_paperwork.dm index 6f2c0e47ee1..ee7a52f177a 100644 --- a/code/modules/cargo/exports/stamped_paperwork.dm +++ b/code/modules/cargo/exports/stamped_paperwork.dm @@ -5,15 +5,8 @@ exclude_types = list(/obj/item/paperwork/photocopy) //Has its own category allow_negative_cost = TRUE -/datum/export/paperwork/get_cost(obj/item/paperwork/sold_paperwork) - var/paperwork_cost = cost - - if(sold_paperwork.stamped) - paperwork_cost = ..() - else - paperwork_cost = -init_cost //Punishment for improperly filed paperwork. - - return paperwork_cost +/datum/export/paperwork/get_base_cost(obj/item/paperwork/sold_paperwork) + return sold_paperwork.stamped ? ..() : -cost /datum/export/photocopy cost = CARGO_CRATE_VALUE @@ -25,7 +18,7 @@ ///Used to track if a batch of photocopy exports has backfired var/backfired = FALSE -/datum/export/photocopy/get_cost(obj/item/paperwork/photocopy/sold_paperwork) +/datum/export/photocopy/get_base_cost(obj/item/paperwork/photocopy/sold_paperwork) if(sold_paperwork.stamped && !backfired) //Upon backfiring, no more photocopies are processed or sold until the next cargo shipment if(sold_paperwork.voided) return 0 //Voided photocopies do nothing @@ -34,12 +27,12 @@ if(prob(backfire_chance)) backfire_chance = 0 backfired = TRUE - return -init_cost * 4 //too high of an amount to allow for infinite money + return -cost * 4 //too high of an amount to allow for infinite money else return ..() else - return -init_cost + return -cost /datum/export/photocopy/total_printout(datum/export_report/ex, notes) . = ..() diff --git a/code/modules/cargo/exports/weapons.dm b/code/modules/cargo/exports/weapons.dm index bceeab64b4c..03928077325 100644 --- a/code/modules/cargo/exports/weapons.dm +++ b/code/modules/cargo/exports/weapons.dm @@ -1,6 +1,7 @@ // Weapon exports. Stun batons, disablers, etc. /datum/export/weapon + abstract_type = /datum/export/weapon include_subtypes = FALSE /datum/export/weapon/baton @@ -79,4 +80,4 @@ cost = CARGO_CRATE_VALUE * 1.5 unit_name = "WT-550 automatic rifle" export_types = list(/obj/item/gun/ballistic/automatic/wt550) - + diff --git a/code/modules/cargo/exports/xenobio.dm b/code/modules/cargo/exports/xenobio.dm index 4b83e97567e..77d4b845ec9 100644 --- a/code/modules/cargo/exports/xenobio.dm +++ b/code/modules/cargo/exports/xenobio.dm @@ -1,41 +1,39 @@ -/datum/export/slime - -/datum/export/slime/grey +/datum/export/slime_extract_grey cost = CARGO_CRATE_VALUE * 0.05 unit_name = "grey slime core" export_types = list(/obj/item/slime_extract/grey) -/datum/export/slime/common +/datum/export/slime_extract_common cost = CARGO_CRATE_VALUE * 0.12 unit_name = "common slime core" export_types = list(/obj/item/slime_extract/metal,/obj/item/slime_extract/orange,/obj/item/slime_extract/purple,/obj/item/slime_extract/blue) -/datum/export/slime/uncommon +/datum/export/slime_extract_uncommon cost = CARGO_CRATE_VALUE * 0.2 unit_name = "uncommon slime core" export_types = list(/obj/item/slime_extract/gold,/obj/item/slime_extract/green,/obj/item/slime_extract/red,/obj/item/slime_extract/pink) -/datum/export/slime/rare +/datum/export/slime_extract_rare cost = CARGO_CRATE_VALUE * 0.28 unit_name = "rare slime core" export_types = list(/obj/item/slime_extract/silver,/obj/item/slime_extract/darkblue,/obj/item/slime_extract/darkpurple,/obj/item/slime_extract/yellow) -/datum/export/slime/charged +/datum/export/slime_extract_charged cost = CARGO_CRATE_VALUE unit_name = "\improper EMP-proof slime core" export_types = list(/obj/item/stock_parts/power_store/cell/emproof/slime) -/datum/export/slime/hypercharged +/datum/export/slime_extract_hypercharged cost = CARGO_CRATE_VALUE * 1.2 unit_name = "hypercharged slime core" export_types = list(/obj/item/stock_parts/power_store/cell/high/slime_hypercharged) -/datum/export/slime/epic //EPIIIIIIC +/datum/export/slime_extract_epic //EPIIIIIIC cost = CARGO_CRATE_VALUE * 0.44 unit_name = "epic slime core" export_types = list(/obj/item/slime_extract/black,/obj/item/slime_extract/cerulean,/obj/item/slime_extract/oil,/obj/item/slime_extract/sepia,/obj/item/slime_extract/pyrite,/obj/item/slime_extract/adamantine,/obj/item/slime_extract/lightpink,/obj/item/slime_extract/bluespace) -/datum/export/slime/rainbow +/datum/export/slime_extract_rainbow cost = CARGO_CRATE_VALUE unit_name = "rainbow slime core" export_types = list(/obj/item/slime_extract/rainbow) diff --git a/code/modules/cargo/goodies.dm b/code/modules/cargo/goodies.dm index be625cefdaa..b22796fc9fc 100644 --- a/code/modules/cargo/goodies.dm +++ b/code/modules/cargo/goodies.dm @@ -412,3 +412,9 @@ /obj/item/circuitboard/computer/shuttle/docker, /obj/item/circuitboard/machine/engine/propulsion = 2, ) + +/datum/supply_pack/goody/golfcart_key + name = "Spare Golf Cart Key" + desc = "If you in your carelessness lost the key to your golfcart you can purchase one. Unfortunately not covered by warranty." + cost = PAYCHECK_CREW * 5 + contains = list(/obj/item/key/golfcart) diff --git a/code/modules/cargo/markets/market_items/misc.dm b/code/modules/cargo/markets/market_items/misc.dm index 7f1ede77d53..801e4d4e76d 100644 --- a/code/modules/cargo/markets/market_items/misc.dm +++ b/code/modules/cargo/markets/market_items/misc.dm @@ -221,3 +221,12 @@ . = ..() if(.) availability_prob *= 0.5 + +/datum/market_item/misc/tricktrickcigarettes + name = "Trick Trick Cigarettes" + desc = "Cigarettes filled with flash powder. Makes for a fun prank!" + item = /obj/item/storage/fancy/cigarettes/flash_powder + price_min = PAYCHECK_CREW + price_max = PAYCHECK_CREW * 3 + stock_max = 3 + availability_prob = 25 diff --git a/code/modules/cargo/materials_market.dm b/code/modules/cargo/materials_market.dm index 43bf07f5628..019c8f94503 100644 --- a/code/modules/cargo/materials_market.dm +++ b/code/modules/cargo/materials_market.dm @@ -17,16 +17,6 @@ idle_power_usage = BASE_MACHINE_IDLE_CONSUMPTION light_power = 3 light_range = MINIMUM_USEFUL_LIGHT_RANGE - /// What items can be converted into a stock block? Must be a stack subtype based on current implementation. - var/static/list/exportable_material_items = list( - /obj/item/stack/sheet/iron, //God why are we like this - /obj/item/stack/sheet/glass, //No really, God why are we like this - /obj/item/stack/sheet/mineral, - /obj/item/stack/tile/mineral, - /obj/item/stack/ore, - /obj/item/stack/sheet/bluespace_crystal, - /obj/item/stack/rods - ) /// Are we ordering sheets from our own card balance or the cargo budget? var/ordering_private = TRUE @@ -55,47 +45,41 @@ if(default_deconstruction_crowbar(tool)) return ITEM_INTERACT_SUCCESS -/obj/machinery/materials_market/attackby(obj/item/markable_object, mob/user, list/modifiers, list/attack_modifiers) - if(is_type_in_list(markable_object, exportable_material_items)) - if(machine_stat & NOPOWER) - balloon_alert(user, "no power!") - return FALSE - var/material_to_export - var/obj/item/stack/exportable = markable_object - for(var/datum/material/mat as anything in SSstock_market.materials_prices) - if(exportable.has_material_type(mat)) - material_to_export = mat - break //This is only for trading non-alloys, so we can break here +/obj/machinery/materials_market/item_interaction(mob/living/user, obj/item/stack/exportable, list/modifiers) + . = NONE + if(!isstack(exportable)) + return + if(!is_operational) + balloon_alert(user, "no power!") + return ITEM_INTERACT_FAILURE - var/datum/export_report/report = export_item_and_contents(exportable, apply_elastic = FALSE, dry_run = TRUE) // We'll apply elastic price reduction when fully sold. - var/price = 0 - var/amount = 0 - for(var/exported_datum in report.total_amount) - price += report.total_value[exported_datum] - amount += report.total_amount[exported_datum] + var/list/datum/material/materials = exportable.custom_materials + if(materials.len != 1) + balloon_alert(user, "alloy stacks not allowed") + return ITEM_INTERACT_FAILURE - if(amount <= 1) - balloon_alert(user, "stack too small!") - return FALSE + var/price = SSstock_market.materials_prices[materials[1].type] + if(!price) + balloon_alert(user, "materials in stack are worthless") + return ITEM_INTERACT_FAILURE - if(price <= 0) - balloon_alert(user, "not valuable enough to sell!") - return FALSE + if(!user.transferItemToLoc(exportable, src)) + to_chat(user, span_warning("[exportable] is stuck in hand!")) + return ITEM_INTERACT_FAILURE - qdel(markable_object) - var/obj/item/stock_block/new_block = new /obj/item/stock_block(drop_location()) - new_block.export_value = price - new_block.export_mat = material_to_export - new_block.quantity = amount / SHEET_MATERIAL_AMOUNT - to_chat(user, span_notice("You have created a stock block worth [new_block.export_value] cr! Sell it before it becomes liquid!")) - playsound(src, 'sound/machines/synth/synth_yes.ogg', 50, FALSE) - return TRUE - return ..() + var/obj/item/stock_block/new_block = new /obj/item/stock_block(drop_location()) + new_block.export_value = price + new_block.set_custom_materials(materials) + to_chat(user, span_notice("You have created a stock block worth [new_block.export_value * exportable.amount] cr! Sell it before it becomes liquid!")) + playsound(src, 'sound/machines/synth/synth_yes.ogg', 50, FALSE) + qdel(exportable) + use_energy(active_power_usage) + return ITEM_INTERACT_SUCCESS /obj/machinery/materials_market/power_change() . = ..() - if(machine_stat & NOPOWER) + if(!is_operational) set_light(0, 0) else set_light(initial(light_range), initial(light_power)) @@ -192,7 +176,7 @@ //Pulling elastic modifier into data. for(var/datum/export/material/market/export_est in GLOB.exports_list) if(export_est.material_id == traded_mat) - elastic_mult = (export_est.cost / export_est.init_cost) * 100 + elastic_mult = export_est.k_elasticity * 100 material_data += list(list( "name" = initial(traded_mat.name), @@ -288,7 +272,6 @@ var/cost = SSstock_market.materials_prices[material_bought] * quantity var/list/things_to_order = list() - things_to_order += (sheet_to_buy) things_to_order[sheet_to_buy] = quantity // We want to count how many stacks of all sheets we're ordering to make sure they don't exceed the limit of 10 @@ -299,14 +282,14 @@ var/prior_sheets = current_order.pack.contains[sheet_to_buy] if(prior_sheets + quantity > SSstock_market.materials_quantity[material_bought] ) say("There aren't enough sheets on the market! Please wait for more sheets to be traded before adding more.") - playsound(usr, 'sound/machines/synth/synth_no.ogg', 35, FALSE) + playsound(living_user, 'sound/machines/synth/synth_no.ogg', 35, FALSE) return // Check if the order exceeded the purchase limit var/prior_stacks = ROUND_UP(prior_sheets / MAX_STACK_SIZE) if(prior_stacks >= MAX_STACK_LIMIT) say("There are already 10 stacks of sheets on order! Please wait for them to arrive before ordering more.") - playsound(usr, 'sound/machines/synth/synth_no.ogg', 35, FALSE) + playsound(living_user, 'sound/machines/synth/synth_no.ogg', 35, FALSE) return // Prevents you from ordering more than the available budget @@ -367,10 +350,6 @@ icon_state = "stock_block" /// How many credits was this worth when created? var/export_value = 0 - /// What is the name of the material this was made from? - var/datum/material/export_mat - /// Quantity of export material - var/quantity = 0 /// Is this stock block currently updating its value with the market (aka fluid)? var/fluid = FALSE @@ -381,7 +360,11 @@ /obj/item/stock_block/examine(mob/user) . = ..() - . += span_notice("\The [src] is worth [export_value] cr, from selling [quantity] sheets of [initial(export_mat?.name)].") + + var/datum/material/export_mat = custom_materials[1] + var/quantity = custom_materials[export_mat] / SHEET_MATERIAL_AMOUNT + . += span_notice("\The [src] is worth [quantity * export_value] cr, from selling [quantity] sheets of [export_mat.name].") + if(fluid) . += span_warning("\The [src] is currently liquid! Its value is based on the market price.") else @@ -393,9 +376,7 @@ update_appearance(UPDATE_ICON_STATE) /obj/item/stock_block/proc/update_value() - if(!SSstock_market.materials_prices[export_mat]) - return - export_value = quantity * SSstock_market.materials_prices[export_mat] + export_value = SSstock_market.materials_prices[custom_materials[1]] icon_state = "stock_block_liquid" update_appearance(UPDATE_ICON_STATE) visible_message(span_warning("\The [src] becomes liquid!")) diff --git a/code/modules/cargo/orderconsole.dm b/code/modules/cargo/orderconsole.dm index 6c6e9b5b6a3..2ca7ee31f17 100644 --- a/code/modules/cargo/orderconsole.dm +++ b/code/modules/cargo/orderconsole.dm @@ -305,7 +305,6 @@ reason = reason, paying_account = account, coupon = applied_coupon, - department_destination = reason ? TRUE : FALSE, // Hijacking reason as a way to determine if an order's requested from at least one budget charge_on_purchase = TRUE, // SKYRAT EDIT ADDITION ) working_list += order diff --git a/code/modules/cargo/packs/engineering.dm b/code/modules/cargo/packs/engineering.dm index ee808e9a8d6..36afce95808 100644 --- a/code/modules/cargo/packs/engineering.dm +++ b/code/modules/cargo/packs/engineering.dm @@ -334,3 +334,13 @@ contains = list(/obj/machinery/power/portagrav = 1) crate_name = "portable gravity unit crate" crate_type = /obj/structure/closet/crate/engineering + +/datum/supply_pack/engineering/golfcart + name = "Golf Cart Parts Kit Crate" + desc = "Contains the parts to build a cart intended for moving heavy machinery and cargo across the station. \ + Nanotrasen assumes no liability for carts operated as 'party wagons'." + cost = CARGO_CRATE_VALUE * 11 + access_view = ACCESS_ENGINEERING + contains = list(/obj/item/golfcart_kit = 1, /obj/item/key/golfcart = 2, /obj/item/stock_parts/power_store/cell/lead = 1) + crate_name = "golf cart parts kit" + crate_type = /obj/structure/closet/crate/engineering diff --git a/code/modules/cargo/packs/medical.dm b/code/modules/cargo/packs/medical.dm index 2cae5797fa2..13a08798af9 100644 --- a/code/modules/cargo/packs/medical.dm +++ b/code/modules/cargo/packs/medical.dm @@ -226,3 +226,11 @@ /obj/item/pestle, ) crate_name = "organ growing kit" + +/datum/supply_pack/medical/chiral_inversing_buffer + name = "Chiral Inversing Buffer Crate" + desc = "A crate containing a rare sample of an inversing buffer. \ + It can transform impure reagents into their inverse counterparts when the right conditions are met." + cost = CARGO_CRATE_VALUE * 3 + contains = list(/obj/item/reagent_containers/cup/bottle/inversing_buffer) + crate_name = "chiral inversing buffer crate" diff --git a/code/modules/cargo/packs/organic.dm b/code/modules/cargo/packs/organic.dm index f7f868f7ba9..71563699a40 100644 --- a/code/modules/cargo/packs/organic.dm +++ b/code/modules/cargo/packs/organic.dm @@ -32,28 +32,61 @@ crate_name = "beekeeping starter crate" crate_type = /obj/structure/closet/crate/hydroponics +/datum/supply_pack/organic/randomized + test_ignored = TRUE + crate_name = "food crate" + +/datum/supply_pack/organic/randomized/fill(obj/structure/closet/crate/C) + for(var/i in 1 to 15) + var/item = pick(contains) + new item(C) + /datum/supply_pack/organic/randomized/chef name = "Excellent Meat Crate" desc = "The best cuts in the whole galaxy. Contains a random assortment of exotic meats." cost = CARGO_CRATE_VALUE * 4 - contains = list(/obj/item/food/meat/slab/human/mutant/slime, - /obj/item/food/meat/slab/killertomato, - /obj/item/food/meat/slab/bear, - /obj/item/food/meat/slab/xeno, - /obj/item/food/meat/slab/spider, - /obj/item/food/meat/rawbacon, - /obj/item/food/meat/slab/penguin, - /obj/item/food/spiderleg, - /obj/item/food/fishmeat/carp, - /obj/item/food/meat/slab/human, - /obj/item/food/meat/slab/grassfed, - ) - crate_name = "food crate" + contains = list( + /obj/item/food/meat/slab/human/mutant/slime, + /obj/item/food/meat/slab/killertomato, + /obj/item/food/meat/slab/bear, + /obj/item/food/meat/slab/xeno, + /obj/item/food/meat/slab/spider, + /obj/item/food/meat/rawbacon, + /obj/item/food/meat/slab/penguin, + /obj/item/food/spiderleg, + /obj/item/food/fishmeat/carp, + /obj/item/food/meat/slab/human, + /obj/item/food/meat/slab/grassfed, + ) -/datum/supply_pack/organic/randomized/chef/fill(obj/structure/closet/crate/C) - for(var/i in 1 to 15) - var/item = pick(contains) - new item(C) +/datum/supply_pack/organic/randomized/fruits + name = "Fruit Crate" + desc = "Rich in vitamins. Contains a lime, orange, watermelon, apple, berries and a lemon." + cost = CARGO_CRATE_VALUE * 3 + contains = list( + /obj/item/food/grown/citrus/lime, + /obj/item/food/grown/citrus/orange, + /obj/item/food/grown/watermelon, + /obj/item/food/grown/apple, + /obj/item/food/grown/berries, + /obj/item/food/grown/citrus/lemon, + ) + +/datum/supply_pack/organic/randomized/vegetables + name = "Vegetables Crate" + desc = "Grown in vats. Contains a chili, corn, tomato, potato, carrot, chanterelle, onion, pumpkin, and cucumber." + cost = CARGO_CRATE_VALUE * 1.8 + contains = list( + /obj/item/food/grown/chili, + /obj/item/food/grown/corn, + /obj/item/food/grown/tomato, + /obj/item/food/grown/potato, + /obj/item/food/grown/carrot, + /obj/item/food/grown/mushroom/chanterelle, + /obj/item/food/grown/onion, + /obj/item/food/grown/pumpkin, + /obj/item/food/grown/cucumber, + ) /datum/supply_pack/organic/exoticseeds name = "Exotic Seeds Crate" @@ -98,20 +131,6 @@ ) crate_name = "food crate" -/datum/supply_pack/organic/randomized/chef/fruits - name = "Fruit Crate" - desc = "Rich in vitamins. Contains a lime, orange, watermelon, apple, \ - berries and a lemon." - cost = CARGO_CRATE_VALUE * 3 - contains = list(/obj/item/food/grown/citrus/lime, - /obj/item/food/grown/citrus/orange, - /obj/item/food/grown/watermelon, - /obj/item/food/grown/apple, - /obj/item/food/grown/berries, - /obj/item/food/grown/citrus/lemon, - ) - crate_name = "food crate" - /datum/supply_pack/organic/cream_piee name = "High-yield Clown-grade Cream Pie Crate" desc = "Designed by Aussec's Advanced Warfare Research Division, \ @@ -276,23 +295,6 @@ crate_name = "seeds crate" crate_type = /obj/structure/closet/crate/hydroponics -/datum/supply_pack/organic/randomized/chef/vegetables - name = "Vegetables Crate" - desc = "Grown in vats. Contains a chili, corn, tomato, potato, carrot, \ - chanterelle, onion, pumpkin, and cucumber." - cost = CARGO_CRATE_VALUE * 1.8 - contains = list(/obj/item/food/grown/chili, - /obj/item/food/grown/corn, - /obj/item/food/grown/tomato, - /obj/item/food/grown/potato, - /obj/item/food/grown/carrot, - /obj/item/food/grown/mushroom/chanterelle, - /obj/item/food/grown/onion, - /obj/item/food/grown/pumpkin, - /obj/item/food/grown/cucumber, - ) - crate_name = "food crate" - /datum/supply_pack/organic/grill name = "Grilling Starter Kit" desc = "Hey dad I'm Hungry. Hi Hungry I'm THE NEW GRILLING STARTER KIT \ @@ -331,6 +333,7 @@ ) crate_name = "\improper Tiziran Supply box" crate_type = /obj/structure/closet/crate/cardboard/tiziran + test_ignored = TRUE /datum/supply_pack/organic/mothic_supply name = "Mothic Supply Box" diff --git a/code/modules/cargo/supplypod_beacon.dm b/code/modules/cargo/supplypod_beacon.dm index d8b5aafdb28..9c74037e080 100644 --- a/code/modules/cargo/supplypod_beacon.dm +++ b/code/modules/cargo/supplypod_beacon.dm @@ -10,6 +10,7 @@ armor_type = /datum/armor/supplypod_beacon resistance_flags = FIRE_PROOF interaction_flags_click = ALLOW_SILICON_REACH + obj_flags = UNIQUE_RENAME | RENAME_NO_DESC /// The linked console var/obj/machinery/computer/cargo/express/express_console /// If linked @@ -103,17 +104,3 @@ return CLICK_ACTION_BLOCKING unlink_console() return CLICK_ACTION_SUCCESS - -/obj/item/supplypod_beacon/item_interaction(mob/living/user, obj/item/tool, list/modifiers) - if(!IS_WRITING_UTENSIL(tool)) - return NONE - - var/new_beacon_name = tgui_input_text(user, "What would you like the tag to be?", "Beacon Tag", max_length = MAX_NAME_LEN) - if(isnull(new_beacon_name)) - return ITEM_INTERACT_BLOCKING - - if(!user.can_perform_action(src) || !user.can_write(tool)) - return ITEM_INTERACT_BLOCKING - - name = "[initial(name)] ([new_beacon_name])" - return ITEM_INTERACT_SUCCESS diff --git a/code/modules/client/preferences/middleware/antags.dm b/code/modules/client/preferences/middleware/antags.dm index dd81ac44760..39948078b11 100644 --- a/code/modules/client/preferences/middleware/antags.dm +++ b/code/modules/client/preferences/middleware/antags.dm @@ -149,11 +149,12 @@ GLOBAL_LIST_INIT(non_ruleset_antagonists, list( for (var/datum/dynamic_ruleset/ruleset as anything in subtypesof(/datum/dynamic_ruleset)) var/datum/antagonist/antagonist_type = initial(ruleset.preview_antag_datum) var/antag_flag = initial(ruleset.pref_flag) - if (isnull(antagonist_type) || isnull(antag_flag)) + if(isnull(antagonist_type) || isnull(antag_flag)) continue - // antag_flag is guaranteed to be unique by unit tests. - antagonists[initial(ruleset.pref_flag)] = antagonist_type + // antag_flag is guaranteed to be unique for all non-RULESET_VARIATION rulesets + // the ||= covers specifically those rulesets - prefer the first one over variations + antagonists[initial(ruleset.pref_flag)] ||= antagonist_type var/list/generated_icons = list() diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index 4317ced9374..a879aceaa6b 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -12,6 +12,10 @@ resistance_flags = NONE custom_materials = list(/datum/material/glass = SMALL_MATERIAL_AMOUNT*2.5) gender = PLURAL + sound_vary = TRUE + pickup_sound = SFX_GLASSES_PICKUP + drop_sound = SFX_GLASSES_DROP + equip_sound = SFX_GLASSES_EQUIP var/vision_flags = 0 var/invis_view = SEE_INVISIBLE_LIVING // Admin only for now /// Override to allow glasses to set higher than normal see_invis @@ -81,6 +85,9 @@ // Mesons get to be lightly green color_cutoffs = list(5, 15, 5) glass_colour_type = /datum/client_colour/glass_colour/lightgreen + pickup_sound = SFX_GOGGLES_PICKUP + drop_sound = SFX_GOGGLES_DROP + equip_sound = SFX_GOGGLES_EQUIP /obj/item/clothing/glasses/meson/suicide_act(mob/living/carbon/user) user.visible_message(span_suicide("[user] is putting \the [src] to [user.p_their()] eyes and overloading the brightness! It looks like [user.p_theyre()] trying to commit suicide!")) @@ -125,6 +132,9 @@ resistance_flags = ACID_PROOF armor_type = /datum/armor/glasses_science clothing_traits = list(TRAIT_REAGENT_SCANNER, TRAIT_RESEARCH_SCANNER) + pickup_sound = SFX_GOGGLES_PICKUP + drop_sound = SFX_GOGGLES_DROP + equip_sound = SFX_GOGGLES_EQUIP /datum/armor/glasses_science fire = 80 @@ -159,6 +169,9 @@ color_cutoffs = list(10, 25, 10) glass_colour_type = /datum/client_colour/glass_colour/lightgreen actions_types = list(/datum/action/item_action/toggle_nv) + pickup_sound = SFX_GOGGLES_PICKUP + drop_sound = SFX_GOGGLES_DROP + equip_sound = SFX_GOGGLES_EQUIP /obj/item/clothing/glasses/night/update_icon_state() . = ..() @@ -173,6 +186,9 @@ actions_types = list(/datum/action/item_action/flip) dog_fashion = /datum/dog_fashion/head/eyepatch var/flipped = FALSE + pickup_sound = null + drop_sound = null + equip_sound = null /obj/item/clothing/glasses/eyepatch/click_alt(mob/user) . = ..() @@ -259,6 +275,9 @@ flags_cover = GLASSESCOVERSEYES vision_flags = SEE_OBJS glass_colour_type = /datum/client_colour/glass_colour/lightblue + pickup_sound = SFX_GOGGLES_PICKUP + drop_sound = SFX_GOGGLES_DROP + equip_sound = SFX_GOGGLES_EQUIP /obj/item/clothing/glasses/material/mining name = "optical material scanner" @@ -475,6 +494,9 @@ tint = 2 visor_vars_to_toggle = VISOR_FLASHPROTECT | VISOR_TINT glass_colour_type = /datum/client_colour/glass_colour/gray + pickup_sound = SFX_GOGGLES_PICKUP + drop_sound = SFX_GOGGLES_DROP + equip_sound = SFX_GOGGLES_EQUIP alternate_worn_layer = ABOVE_BODY_FRONT_HEAD_LAYER // SKYRAT EDIT - Just so it works until I make the change upstream /obj/item/clothing/glasses/welding/Initialize(mapload) @@ -550,6 +572,9 @@ flash_protect = FLASH_PROTECTION_SENSITIVE flags_cover = GLASSESCOVERSEYES glass_colour_type = /datum/client_colour/glass_colour/red + pickup_sound = SFX_GOGGLES_PICKUP + drop_sound = SFX_GOGGLES_DROP + equip_sound = SFX_GOGGLES_EQUIP /obj/item/clothing/glasses/thermal/emp_act(severity) . = ..() @@ -612,6 +637,9 @@ icon_state = "cold" inhand_icon_state = null flags_cover = GLASSESCOVERSEYES + pickup_sound = SFX_GOGGLES_PICKUP + drop_sound = SFX_GOGGLES_DROP + equip_sound = SFX_GOGGLES_EQUIP /obj/item/clothing/glasses/heat name = "heat goggles" @@ -619,6 +647,9 @@ icon_state = "heat" inhand_icon_state = null flags_cover = GLASSESCOVERSEYES + pickup_sound = SFX_GOGGLES_PICKUP + drop_sound = SFX_GOGGLES_DROP + equip_sound = SFX_GOGGLES_EQUIP /obj/item/clothing/glasses/orange name = "orange glasses" @@ -642,6 +673,9 @@ worn_icon_state = "geist_gazers" glass_colour_type = /datum/client_colour/glass_colour/green flags_cover = GLASSESCOVERSEYES + pickup_sound = SFX_GOGGLES_PICKUP + drop_sound = SFX_GOGGLES_DROP + equip_sound = SFX_GOGGLES_EQUIP /obj/item/clothing/glasses/psych name = "psych glasses" @@ -670,6 +704,9 @@ TRAIT_BOT_PATH_HUD, ) var/xray = FALSE + pickup_sound = SFX_GOGGLES_PICKUP + drop_sound = SFX_GOGGLES_DROP + equip_sound = SFX_GOGGLES_EQUIP /obj/item/clothing/glasses/debug/Initialize(mapload) . = ..() @@ -740,6 +777,9 @@ flags_cover = GLASSESCOVERSEYES /// Hallucination datum currently being used for seeing mares var/datum/hallucination/stored_hallucination + pickup_sound = SFX_GOGGLES_PICKUP + drop_sound = SFX_GOGGLES_DROP + equip_sound = SFX_GOGGLES_EQUIP /obj/item/clothing/glasses/nightmare_vision/Initialize(mapload) . = ..() diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 6b4b38298ba..a9954c1e818 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -647,10 +647,6 @@ acid = 50 wound = 20 -/obj/item/clothing/head/helmet/military/Initialize(mapload) - . = ..() - AddComponent(/datum/component/clothing_fov_visor, FOV_90_DEGREES) - /obj/item/clothing/head/helmet/knight/warlord name = "golden barbute helmet" desc = "There is no man behind the helmet, only a terrible thought." diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index 61285e3801b..03f1df6a268 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -740,7 +740,7 @@ else var/obj/item/organ/ears/has_ears = human_examined.get_organ_slot(ORGAN_SLOT_EARS) if(has_ears) - if(has_ears.deaf) + if(has_ears.temporary_deafness) final_message += "\tDamaged eardrums in [examining.p_their()] ear canals." else final_message += "\tA set of [has_ears.damage ? "" : "healthy "][has_ears.name]." diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 35565f6cf78..9dfdca3eab9 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -19,6 +19,10 @@ GLOBAL_LIST_INIT(clown_mask_options, list( flags_cover = MASKCOVERSEYES | MASKCOVERSMOUTH | PEPPERPROOF resistance_flags = NONE voice_filter = "lowpass=f=750,volume=2" + sound_vary = TRUE + pickup_sound = SFX_GAS_MASK_PICKUP + drop_sound = SFX_GAS_MASK_DROP + equip_sound = SFX_GAS_MASK_EQUIP ///Max numbers of installable filters var/max_filters = 1 ///List to keep track of each filter diff --git a/code/modules/clothing/suits/wintercoats.dm b/code/modules/clothing/suits/wintercoats.dm index 2657e5721bb..24a75154bf0 100644 --- a/code/modules/clothing/suits/wintercoats.dm +++ b/code/modules/clothing/suits/wintercoats.dm @@ -417,6 +417,11 @@ inhand_icon_state = null hoodtype = /obj/item/clothing/head/hooded/winterhood/medical/paramedic +/obj/item/clothing/suit/hooded/wintercoat/medical/paramedic/Initialize(mapload) + . = ..() + AddComponent(/datum/component/adjust_fishing_difficulty, -3) //mirrored from jacket + allowed += /obj/item/crowbar/power/paramedic + /obj/item/clothing/head/hooded/winterhood/medical/paramedic desc = "A white winter coat hood with blue markings." icon_state = "hood_paramed" diff --git a/code/modules/clothing/under/_suit_sensor.dm b/code/modules/clothing/under/_suit_sensor.dm new file mode 100644 index 00000000000..2951a3ad2d4 --- /dev/null +++ b/code/modules/clothing/under/_suit_sensor.dm @@ -0,0 +1,84 @@ +///The item representing suit sensors when removed from a suit or dress (obj/item/clothing/under) +/obj/item/suit_sensor + name = "suit sensor" + desc = "That thingamabob medbay keeps telling you to set to 'Tracking Beacon'. It needs to be attached to a worn suit or dress to work." + icon = 'icons/obj/devices/tracker.dmi' + icon_state = "suit_sensor" + base_icon_state = "suit_sensor" + obj_flags = CONDUCTS_ELECTRICITY + w_class = WEIGHT_CLASS_TINY + custom_materials = list(/datum/material/iron= SMALL_MATERIAL_AMOUNT, /datum/material/glass= SMALL_MATERIAL_AMOUNT) + drop_sound = 'sound/items/handling/component_drop.ogg' + pickup_sound = 'sound/items/handling/component_pickup.ogg' + throwforce = 2 + throw_speed = 3 + throw_range = 7 + ///The current sensor mode, inherited from the clothing it's cut from. Can also be changed when using it in hand. + var/sensor_mode = SENSOR_OFF + ///Suit sensors are busted when struck by a heavy electromagnetic pulse. + var/broken = FALSE + +/obj/item/suit_sensor/examine(mob/user) + . = ..() + if(broken) + . += span_warning("It's currently broken. You can use a piece of [EXAMINE_HINT("cable")] to fix it.") + else + . += span_notice("It's currently set on '[GLOB.suit_sensor_mode_to_defines.Find(sensor_mode + 1)]'.") + +/obj/item/suit_sensor/update_overlays() + . = ..() + if(broken) + return + switch(sensor_mode) + if(SENSOR_LIVING) + . += "suit_sensor_binary" + if(SENSOR_VITALS) + . += "suit_sensor_vitals" + if(SENSOR_COORDS) + . += "suit_sensor_tracking" + +/obj/item/suit_sensor/proc/set_mode(new_mode) + if(sensor_mode == new_mode) + return FALSE + sensor_mode = new_mode + update_appearance(UPDATE_OVERLAYS) + return TRUE + +/obj/item/suit_sensor/attack_self(mob/living/user) + . = ..() + if(!(user.mobility_flags & MOBILITY_USE) || !IsReachableBy(user)) + return FALSE + if(broken) + balloon_alert(user, "fix it first!") + return + var/current_mode_text = GLOB.suit_sensor_mode_to_defines[sensor_mode + 1] + var/new_mode = tgui_input_list(user, "Select a sensor mode", "Suit Sensors", GLOB.suit_sensor_mode_to_defines, current_mode_text) + if(isnull(new_mode) || broken|| !(user.mobility_flags & MOBILITY_USE) || !IsReachableBy(user)) + user.balloon_alert(user, "can't do that now!") + return + set_mode(GLOB.suit_sensor_mode_to_defines[new_mode]) + balloon_alert(user, "sensor set to '[LOWER_TEXT(new_mode)]'") + +/obj/item/suit_sensor/emp_act(severity) + . = ..() + if(. & EMP_PROTECT_SELF || broken) + return + + if(severity <= EMP_HEAVY) + broken = TRUE + else + set_mode(pick(SENSOR_OFF, SENSOR_OFF, SENSOR_OFF, SENSOR_LIVING, SENSOR_LIVING, SENSOR_VITALS, SENSOR_VITALS, SENSOR_COORDS)) + playsound(source = src, soundin = 'sound/effects/sparks/sparks3.ogg', vol = 75, vary = TRUE, extrarange = SHORT_RANGE_SOUND_EXTRARANGE, ignore_walls = FALSE) + +/obj/item/suit_sensor/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(!istype(tool, /obj/item/stack/cable_coil)) + return ..() + if(!broken) + balloon_alert(user, "not broken!") + return ITEM_INTERACT_BLOCKING + var/obj/item/stack/cable_coil/cabling = tool + cabling.use(1) + balloon_alert(user, "suit sensor repaired") + broken = FALSE + update_appearance(UPDATE_OVERLAYS) + return ITEM_INTERACT_SUCCESS diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index dcba4c5449b..81f6ae57109 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -34,7 +34,7 @@ /// Does this undersuit spawn with a random sensor value var/random_sensor = TRUE /// What is the active sensor mode of this udnersuit - var/sensor_mode = NO_SENSORS + var/sensor_mode = SENSOR_OFF // Accessory handling (Can be componentized eventually) /// The max number of accessories we can have on this suit. @@ -60,6 +60,19 @@ register_context() AddElement(/datum/element/update_icon_updates_onmob, flags = ITEM_SLOT_ICLOTHING|ITEM_SLOT_OCLOTHING|ITEM_SLOT_NECK, body = TRUE) +/obj/item/clothing/under/on_craft_completion(list/components, datum/crafting_recipe/current_recipe, atom/crafter) + . = ..() + var/obj/item/clothing/under/any_original = locate() in components + if(!any_original) + set_has_sensor(NO_SENSORS) + return + set_has_sensor(any_original.has_sensor) + set_sensor_mode(any_original.sensor_mode) + +/obj/item/clothing/under/used_in_craft(atom/result, datum/crafting_recipe/current_recipe) + . = ..() + dump_attachments() + /obj/item/clothing/under/setup_reskinning() if(!check_setup_reskinning()) return @@ -72,7 +85,7 @@ var/changed = FALSE - if((isnull(held_item) || held_item == src) && has_sensor == HAS_SENSORS) + if(has_sensor == HAS_SENSORS && (isnull(held_item) || held_item == src)) context[SCREENTIP_CONTEXT_RMB] = "Toggle suit sensors" context[SCREENTIP_CONTEXT_CTRL_LMB] = "Set suit sensors to tracking" changed = TRUE @@ -85,10 +98,18 @@ context[SCREENTIP_CONTEXT_ALT_RMB] = "Remove accessory" changed = TRUE - if(istype(held_item, /obj/item/stack/cable_coil) && has_sensor == BROKEN_SENSORS) + if(has_sensor == BROKEN_SENSORS && istype(held_item, /obj/item/stack/cable_coil)) context[SCREENTIP_CONTEXT_LMB] = "Repair suit sensors" changed = TRUE + if(has_sensor == NO_SENSORS) + if(istype(held_item, /obj/item/suit_sensor)) + context[SCREENTIP_CONTEXT_LMB] = "Install suit sensors" + changed = TRUE + else if(held_item?.tool_behaviour == TOOL_WIRECUTTER) + context[SCREENTIP_CONTEXT_LMB] = "Cut suit sensors" + changed = TRUE + if(can_adjust && adjusted != DIGITIGRADE_STYLE) context[SCREENTIP_CONTEXT_ALT_LMB] = "Wear [adjusted == ALT_STYLE ? "normally" : "casually"]" changed = TRUE @@ -114,15 +135,55 @@ if (blood_overlay) . += blood_overlay -/obj/item/clothing/under/attackby(obj/item/attacking_item, mob/user, list/modifiers, list/attack_modifiers) - if(repair_sensors(attacking_item, user)) - return TRUE +/obj/item/clothing/under/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(istype(tool, /obj/item/stack/cable_coil)) + if(!repair_sensors(user)) + return ITEM_INTERACT_BLOCKING + var/obj/item/stack/cable_coil/cabling = tool + cabling.use(1) + cabling.visible_message(span_notice("[user] repairs the suit sensors on [src] with [cabling].")) + return ITEM_INTERACT_SUCCESS - if(istype(attacking_item, /obj/item/clothing/accessory)) - return attach_accessory(attacking_item, user) + if(istype(tool, /obj/item/clothing/accessory)) + return attach_accessory(tool, user) ? ITEM_INTERACT_SUCCESS : ITEM_INTERACT_BLOCKING + + if(istype(tool, /obj/item/suit_sensor)) + if(has_sensor != NO_SENSORS) + balloon_alert(user, "already has sensors!") + return ITEM_INTERACT_BLOCKING + balloon_alert(user, "installing sensors...") + if(!do_after(user, 5 SECONDS, target = src)) + return ITEM_INTERACT_BLOCKING + var/obj/item/suit_sensor/sensor = tool + if(sensor.broken) + set_has_sensor(BROKEN_SENSORS) + else + set_has_sensor(HAS_SENSORS) + set_sensor_mode(sensor.sensor_mode) + qdel(tool) + balloon_alert(user, "sensors installed") + playsound(source = src, soundin = 'sound/effects/sparks/sparks4.ogg', vol = 50, vary = TRUE, extrarange = SHORT_RANGE_SOUND_EXTRARANGE, ignore_walls = FALSE) + return ITEM_INTERACT_SUCCESS return ..() +/obj/item/clothing/under/wirecutter_act(mob/living/user, obj/item/tool) + if(has_sensor == NO_SENSORS) + balloon_alert(user, "doesn't have sensors!") + return ITEM_INTERACT_BLOCKING + balloon_alert(user, "cutting out sensors...") + if(!do_after(user, 5 SECONDS, target = src)) + return ITEM_INTERACT_BLOCKING + var/obj/item/suit_sensor/sensor = new (drop_location()) + if(sensor.IsReachableBy(user)) + user.put_in_hands(sensor) + if(has_sensor == BROKEN_SENSORS) + sensor.broken = TRUE + else + sensor.set_mode(sensor_mode) + set_has_sensor(NO_SENSORS) + return ITEM_INTERACT_SUCCESS + /obj/item/clothing/under/attack_hand_secondary(mob/user, params) . = ..() if(. == SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN) @@ -144,7 +205,7 @@ if(damaged_state == CLOTHING_SHREDDED && has_sensor > NO_SENSORS) break_sensors() else if(damaged_state == CLOTHING_PRISTINE && has_sensor == BROKEN_SENSORS) - repair_sensors(cable_required = FALSE) + repair_sensors() update_appearance() /obj/item/clothing/under/visual_equipped(mob/user, slot) @@ -191,27 +252,15 @@ /** * Repair the suit sensors and update the mob's status on the global sensor list. * Can be called either through player action such as repairing with coil, or as part of a general fixing proc - * - * Arguments: - * * attacking_item - the item being used for the repair, if any - * * user - mob that's doing the repair - * * cable_required - set to FALSE to bypass consuming cable coil */ -/obj/item/clothing/under/proc/repair_sensors(obj/item/attacking_item, mob/user, cable_required = TRUE) +/obj/item/clothing/under/proc/repair_sensors(mob/user) if(has_sensor != BROKEN_SENSORS) - return - - if(cable_required) - if(!istype(attacking_item, /obj/item/stack/cable_coil)) - return - var/obj/item/stack/cable_coil/cabling = attacking_item - if(!cabling.use(1)) - return - cabling.visible_message(span_notice("[user] repairs the suit sensors on [src] with [cabling].")) + if(user) + balloon_alert(user, "sensors [has_sensor == NO_SENSORS ? "missing" : "not broken"]!") + return FALSE playsound(source = src, soundin = 'sound/effects/sparks/sparks4.ogg', vol = 100, vary = TRUE, extrarange = SHORT_RANGE_SOUND_EXTRARANGE, ignore_walls = FALSE) set_has_sensor(HAS_SENSORS) - return TRUE /// If the item is being worn, a gentle reminder every 3-5 minutes that the sensors are broken @@ -399,6 +448,9 @@ BUBBERSTATION CHANGE END */ . += "Its vital tracker appears to be enabled." if(SENSOR_COORDS) . += "Its vital tracker and tracking beacon appear to be enabled." + else + . += span_tooltip("You can always get new suit sensors to install from a lathe.", "It isn't equipped with medical sensors.") + if(LAZYLEN(attached_accessories)) var/list/accessories = list_accessories_with_icon(user) . += "It has [english_list(accessories)] attached." @@ -420,14 +472,14 @@ BUBBERSTATION CHANGE END */ if(!can_toggle_sensors(user_mob)) return - var/list/modes = list("Off", "Binary vitals", "Exact vitals", "Tracking beacon") - var/switchMode = tgui_input_list(user_mob, "Select a sensor mode", "Suit Sensors", modes, modes[sensor_mode + 1]) - if(isnull(switchMode)) + var/current_mode_text = GLOB.suit_sensor_mode_to_defines[sensor_mode + 1] + var/new_mode = tgui_input_list(user_mob, "Select a sensor mode", "Suit Sensors", GLOB.suit_sensor_mode_to_defines, current_mode_text) + if(isnull(new_mode)) return if(!can_toggle_sensors(user_mob)) return - set_sensor_mode(modes.Find(switchMode) - 1) + set_sensor_mode(GLOB.suit_sensor_mode_to_defines[new_mode]) if (loc == user_mob) switch(sensor_mode) if(SENSOR_OFF) diff --git a/code/modules/clothing/under/costume.dm b/code/modules/clothing/under/costume.dm index 95e82bb9af8..d6c3c036e3b 100644 --- a/code/modules/clothing/under/costume.dm +++ b/code/modules/clothing/under/costume.dm @@ -145,6 +145,7 @@ body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON + female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY /obj/item/clothing/under/costume/yukata/green name = "green yukata" @@ -164,6 +165,7 @@ body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON + female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY /obj/item/clothing/under/costume/kimono/red name = "red kimono" diff --git a/code/modules/fishing/aquarium/fish_analyzer.dm b/code/modules/fishing/aquarium/fish_analyzer.dm index a89ac1456a6..35b01e1edc9 100644 --- a/code/modules/fishing/aquarium/fish_analyzer.dm +++ b/code/modules/fishing/aquarium/fish_analyzer.dm @@ -21,8 +21,8 @@ greyscale_config_worn = /datum/greyscale_config/fish_analyzer_worn ///The color of the case. Used by grayscale configs and update_overlays() var/case_color - ///the item we have scanned - var/datum/weakref/scanned_item + ///the atom (aquarium or fish) we have scanned + var/atom/scanned_object /obj/item/fish_analyzer/Initialize(mapload) case_color = rgb(rand(16, 255), rand(16, 255), rand(16, 255)) @@ -43,6 +43,10 @@ update_appearance() AddComponent(/datum/component/adjust_fishing_difficulty, -3, ITEM_SLOT_HANDS) +/obj/item/fish_analyzer/Destroy() + scanned_object = null + return ..() + /obj/item/fish_analyzer/examine(mob/user) . = ..() . += span_notice("Alt-Click to access the Experiment Configuration UI") @@ -64,38 +68,82 @@ if(!user.can_read(src) || user.is_blind()) return ITEM_INTERACT_BLOCKING - scanned_item = WEAKREF(target) SEND_SIGNAL(src, COMSIG_FISH_ANALYZER_ANALYZE_STATUS, target, user) + if(target != scanned_object) + unregister_scanned() + register_scanned(target) + update_static_data_for_all_viewers() ui_interact(user) return ITEM_INTERACT_SUCCESS +/obj/item/fish_analyzer/proc/register_scanned(atom/target) + scanned_object = target + RegisterSignal(target, COMSIG_QDELETING, PROC_REF(on_target_deleted)) + if(HAS_TRAIT(target, TRAIT_IS_AQUARIUM)) + RegisterSignals(target, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON, COMSIG_ATOM_EXITED), PROC_REF(aquarium_update)) + +/obj/item/fish_analyzer/proc/unregister_scanned() + if(!scanned_object) + return + UnregisterSignal(scanned_object, list(COMSIG_QDELETING, COMSIG_ATOM_ENTERED, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON, COMSIG_ATOM_EXITED)) + scanned_object = null + +/obj/item/fish_analyzer/proc/on_target_deleted() + SIGNAL_HANDLER + unregister_scanned() + +/obj/item/fish_analyzer/proc/aquarium_update() + SIGNAL_HANDLER + //update static data on the next tick. to give time to offsprings to properly inherit the parents' traits and all. + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum, update_static_data_for_all_viewers)), 0) + /obj/item/fish_analyzer/ui_interact(mob/user, datum/tgui/ui) - if(isnull(scanned_item?.resolve())) + if(isnull(scanned_object)) balloon_alert(user, "no specimen data!") return TRUE + if(!(scanned_object in view(7, get_turf(src)))) + balloon_alert(user, "specimen data lost!") + return TRUE ui = SStgui.try_update_ui(user, src, ui) if(!ui) ui = new(user, src, "FishAnalyzer") ui.open() +/obj/item/fish_analyzer/ui_status(mob/user, datum/ui_state/state) + if(!scanned_object || !(scanned_object in view(7, get_turf(src)))) + balloon_alert(user, "specimen data lost!") + unregister_scanned() + return UI_CLOSE + return ..() + /obj/item/fish_analyzer/ui_static_data(mob/user) var/list/data = list() - var/atom/scanned_object = scanned_item?.resolve() data["fish_list"] = list() data["fish_scanned"] = FALSE if(isfish(scanned_object)) data["fish_scanned"] = TRUE + return extract_static_fish_info(data, scanned_object) + + for(var/obj/item/fish/fishie in scanned_object) + extract_static_fish_info(data, fishie) + + return data + +/obj/item/fish_analyzer/ui_data(mob/user) + var/list/data = list() + data["fish_list"] = list() + + if(isfish(scanned_object)) return extract_fish_info(data, scanned_object) - var/atom/movable/aquarium = scanned_object - for(var/obj/item/fish/fishie in aquarium) + for(var/obj/item/fish/fishie in scanned_object) extract_fish_info(data, fishie) return data -/obj/item/fish_analyzer/proc/extract_fish_info(list/data, obj/item/fish/fishie) +/obj/item/fish_analyzer/proc/extract_static_fish_info(list/data, obj/item/fish/fishie) var/list/fish_traits = list() var/list/fish_evolutions = list() @@ -118,20 +166,26 @@ "fish_name" = fishie.name, "fish_icon" = fishie.icon, "fish_icon_state" = fishie.base_icon_state, - "fish_health" = fishie.status == FISH_DEAD ? 0 : PERCENT(fishie.get_health_percentage()), - "fish_size" = fishie.size, - "fish_weight" = fishie.weight, "fish_food" = fishie.food.name, "fish_food_color" = fishie.food::color, "fish_min_temp" = fishie.required_temperature_min, "fish_max_temp" = fishie.required_temperature_max, - "fish_hunger" = HAS_TRAIT(fishie, TRAIT_FISH_NO_HUNGER) ? 0 : 1 - fishie.get_hunger(), "fish_fluid_compatible" = fishie.fish_flags & FISH_FLAG_SAFE_FLUID, "fish_fluid_type" = fishie.required_fluid_type, - "fish_breed_timer" = round(max(fishie.breeding_wait - world.time, 0) / 10), "fish_traits" = fish_traits, "fish_evolutions" = fish_evolutions, "fish_suitable_temp" = fishie.fish_flags & FISH_FLAG_SAFE_TEMPERATURE, )) return data + +/obj/item/fish_analyzer/proc/extract_fish_info(list/data, obj/item/fish/fishie) + data["fish_list"] += list(list( + "fish_health" = fishie.status == FISH_DEAD ? 0 : PERCENT(fishie.get_health_percentage()), + "fish_size" = fishie.size, + "fish_weight" = fishie.weight, + "fish_hunger" = HAS_TRAIT(fishie, TRAIT_FISH_NO_HUNGER) ? 0 : 1 - fishie.get_hunger(), + "fish_breed_timer" = round(max(fishie.breeding_wait - world.time, 0) / 10), + )) + + return data diff --git a/code/modules/fishing/fish/_fish.dm b/code/modules/fishing/fish/_fish.dm index 4b786d861ea..e3f57d74582 100644 --- a/code/modules/fishing/fish/_fish.dm +++ b/code/modules/fishing/fish/_fish.dm @@ -19,6 +19,7 @@ GLOBAL_LIST_INIT(fish_compatible_fluid_types, list( /obj/item/fish name = "fish" desc = "very bland" + abstract_type = /obj/item/fish icon = 'icons/obj/aquarium/fish.dmi' lefthand_file = 'icons/mob/inhands/fish_lefthand.dmi' righthand_file = 'icons/mob/inhands/fish_righthand.dmi' @@ -220,7 +221,7 @@ GLOBAL_LIST_INIT(fish_compatible_fluid_types, list( //Adding this because not all fish have the gore foodtype that makes them automatically eligible for dna infusion. add_traits(list(TRAIT_DUCT_TAPE_UNREPAIRABLE, TRAIT_VALID_DNA_INFUSION), INNATE_TRAIT) - //stops new fish from being able to reproduce right away. + //new fish should be modestly hungry and cannot reproduce right away. breeding_wait = world.time + (breeding_timeout * NEW_FISH_BREEDING_TIMEOUT_MULT) last_feeding = world.time - (feeding_frequency * NEW_FISH_LAST_FEEDING_MULT) @@ -231,6 +232,23 @@ GLOBAL_LIST_INIT(fish_compatible_fluid_types, list( register_context() register_item_context() + if(!PERFORM_ALL_TESTS(focus_only/fish_population) || type == abstract_type || stable_population > 1) + return + if(length(compatible_types)) + for(var/obj/item/fish/fishie as anything in compatible_types) + if(fishie::stable_population > 1) + if(!HAS_TRAIT(src, TRAIT_FISH_RECESSIVE)) + stack_trace("[type] has a stable population of [stable_population] but is compatible with fishes with a higher stable population. \ + However, it doesn't have the [/datum/fish_trait/recessive] trait. Either increase its stable population or add the trait to it.") + return + if(!HAS_TRAIT(src, TRAIT_FISH_NO_MATING) && !HAS_TRAIT(src, TRAIT_FISH_CROSSBREEDER)) + var/list/pick_one = list( + /datum/fish_trait/crossbreeder, + /datum/fish_trait/no_mating, + ) + stack_trace("[type] has a stable_population of [stable_population] but has neither of these traits: [english_list(pick_one)]. \ + Either increase its stable population or add one of these traits to it.") + /obj/item/fish/suicide_act(mob/living/user) if(force == 0) user.visible_message(span_suicide("[user] slaps [user.p_them()]self with [src], but nothing happens!")) @@ -1274,7 +1292,7 @@ GLOBAL_LIST_INIT(fish_compatible_fluid_types, list( return FALSE if(!being_targeted && length(get_aquarium_fishes()) >= AQUARIUM_MAX_BREEDING_POPULATION) return FALSE - return !HAS_TRAIT(loc, TRAIT_STOP_FISH_REPRODUCTION_AND_GROWTH) && get_health_percentage() >= 0.8 && stable_population >= 1 && world.time >= breeding_wait + return !HAS_TRAIT(loc, TRAIT_STOP_FISH_REPRODUCTION_AND_GROWTH) && get_health_percentage() >= 0.8 && world.time >= breeding_wait /obj/item/fish/proc/try_to_reproduce() if(!loc || !HAS_TRAIT(loc, TRAIT_IS_AQUARIUM)) @@ -1286,19 +1304,17 @@ GLOBAL_LIST_INIT(fish_compatible_fluid_types, list( if(!HAS_TRAIT(src, TRAIT_FISH_NO_MATING)) var/list/available_fishes = list() SEND_SIGNAL(loc, COMSIG_AQUARIUM_GET_REPRODUCTION_CANDIDATES, src, available_fishes) + available_fishes -= src //self-reproduction goes last if(length(available_fishes)) - //make sure we check if the fish can reproduce with itself last, since that should've lower priority - available_fishes = shuffle(available_fishes) - src - available_fishes += src + available_fishes = shuffle(available_fishes) for(var/obj/item/fish/other_fish as anything in available_fishes) if(other_fish.ready_to_reproduce(TRUE)) second_fish = other_fish break - if(!second_fish || second_fish == src) //check if the fish can self-reproduce in these cases. - if(!HAS_TRAIT(src, TRAIT_FISH_SELF_REPRODUCE)) - return FALSE - second_fish = null //set it to null, since this will make the following operations a bit easier + //check if the fish can self-reproduce if there's no other option + if(!second_fish && !HAS_TRAIT(src, TRAIT_FISH_SELF_REPRODUCE)) + return FALSE if(PERFORM_ALL_TESTS(fish_breeding) && second_fish && !length(evolution_types)) return create_offspring(second_fish.type, second_fish) @@ -1342,6 +1358,9 @@ GLOBAL_LIST_INIT(fish_compatible_fluid_types, list( return create_offspring(chosen_type, second_fish, chosen_evolution) +///The timeout multiplier for offspring fish, the ones generated when two compatible fish are coupled +#define OFFSPRING_FISH_BREEDING_TIMEOUT_MULT 2 + /obj/item/fish/proc/create_offspring(chosen_type, obj/item/fish/partner, datum/fish_evolution/evolution) var/obj/item/fish/new_fish = new chosen_type (loc, FALSE) //Try to pass down compatible traits based on inheritability @@ -1356,7 +1375,7 @@ GLOBAL_LIST_INIT(fish_compatible_fluid_types, list( var/ratio_weight = new_fish.average_size * (((weight / average_weight) + (partner.weight / partner.average_weight)) / 2) var/mean_weight = (weight + partner.weight)/2 new_fish.randomize_size_and_weight((mean_size + ratio_size) * 0.5, (mean_weight + ratio_weight) * 0.5, 0.3, update = FALSE) - partner.breeding_wait = world.time + breeding_timeout + partner.breeding_wait = world.time + partner.breeding_timeout if(length(partner.custom_materials)) if(length(custom_materials)) @@ -1383,8 +1402,12 @@ GLOBAL_LIST_INIT(fish_compatible_fluid_types, list( breeding_wait = world.time + breeding_timeout + new_fish.breeding_wait = world.time + new_fish.breeding_timeout * OFFSPRING_FISH_BREEDING_TIMEOUT_MULT + return new_fish +#undef OFFSPRING_FISH_BREEDING_TIMEOUT_MULT + #define PAUSE_BETWEEN_PHASES 15 #define PAUSE_BETWEEN_FLOPS 2 #define FLOP_COUNT 2 @@ -1477,7 +1500,7 @@ GLOBAL_LIST_INIT(fish_compatible_fluid_types, list( #define FISH_PRICE_SOFT_CAP_EXPONENT 0.86 ///Returns the price of this fish, for the fish export. -/obj/item/fish/proc/get_export_price(price, elasticity_percent) +/obj/item/fish/proc/get_export_price(price) var/size_weight_exponentation = (size * weight * FISH_PRICE_MULTIPLIER)^FISH_PRICE_CURVE_EXPONENT var/raw_price = price + size_weight_exponentation if(raw_price >= FISH_PRICE_SOFT_CAP_THRESHOLD + 1) @@ -1485,7 +1508,7 @@ GLOBAL_LIST_INIT(fish_compatible_fluid_types, list( raw_price = FISH_PRICE_SOFT_CAP_THRESHOLD + soft_cap if(HAS_TRAIT(src, TRAIT_FISH_LOW_PRICE)) //Avoid printing money by simply ordering fish and sending it back. raw_price *= 0.05 - return raw_price * elasticity_percent + return raw_price #undef FISH_PRICE_MULTIPLIER #undef FISH_PRICE_CURVE_EXPONENT diff --git a/code/modules/fishing/fish/fish_traits.dm b/code/modules/fishing/fish/fish_traits.dm index e5ea3d97807..40cad34c20a 100644 --- a/code/modules/fishing/fish/fish_traits.dm +++ b/code/modules/fishing/fish/fish_traits.dm @@ -385,7 +385,7 @@ GLOBAL_LIST_INIT(spontaneous_fish_traits, populate_spontaneous_fish_traits()) catalog_description = "If crossbred, offsprings will always be of the mate species, unless it also possess the trait." inheritability = 0 -/datum/fish_trait/no_mating/apply_to_fish(obj/item/fish/fish) +/datum/fish_trait/recessive/apply_to_fish(obj/item/fish/fish) . = ..() ADD_TRAIT(fish, TRAIT_FISH_RECESSIVE, FISH_TRAIT_DATUM) diff --git a/code/modules/fishing/fish/types/air_space.dm b/code/modules/fishing/fish/types/air_space.dm index 82587fca6fc..264d883eddd 100644 --- a/code/modules/fishing/fish/types/air_space.dm +++ b/code/modules/fishing/fish/types/air_space.dm @@ -29,6 +29,7 @@ average_size = 60 average_weight = 1000 weight_size_deviation = 0.1 + stable_population = 5 required_fluid_type = AQUARIUM_FLUID_SALTWATER required_temperature_min = MIN_AQUARIUM_TEMP+20 required_temperature_max = MIN_AQUARIUM_TEMP+40 diff --git a/code/modules/fishing/fish/types/mining.dm b/code/modules/fishing/fish/types/mining.dm index 4a701dd72cc..14e5ce9810b 100644 --- a/code/modules/fishing/fish/types/mining.dm +++ b/code/modules/fishing/fish/types/mining.dm @@ -182,6 +182,7 @@ /datum/fish_trait/carnivore, /datum/fish_trait/heavy, ) + stable_population = 5 compatible_types = list(/obj/item/fish/lavaloop/plasma_river) evolution_types = list(/datum/fish_evolution/plasmaloop) hitsound = null diff --git a/code/modules/fishing/fish/types/rift.dm b/code/modules/fishing/fish/types/rift.dm index ba6a0142ed4..c73f1fc2cb5 100644 --- a/code/modules/fishing/fish/types/rift.dm +++ b/code/modules/fishing/fish/types/rift.dm @@ -454,7 +454,7 @@ max_pressure = INFINITY safe_air_limits = list() fillet_type = /obj/item/food/badrecipe/moldy/bacteria - stable_population = 0 + stable_population = 2 /obj/item/fish/mossglob/Initialize(mapload, apply_qualities) . = ..() @@ -815,7 +815,7 @@ /obj/item/organ/ears/babbelfish/proc/on_drain_magic(mob/user) to_chat(user, span_noticealien("Your [src] pop as they protect your mind from psychic phenomena!")) - adjustEarDamage(ddeaf = 20) + adjust_temporary_deafness(40 SECONDS) /obj/item/organ/ears/babbelfish/proc/on_expire(mob/user) to_chat(user, span_noticealien("Your [src] suddenly burst apart!")) diff --git a/code/modules/fishing/fish/types/ruins.dm b/code/modules/fishing/fish/types/ruins.dm index 83d890ea991..8170fe69062 100644 --- a/code/modules/fishing/fish/types/ruins.dm +++ b/code/modules/fishing/fish/types/ruins.dm @@ -15,7 +15,7 @@ required_fluid_type = AQUARIUM_FLUID_ANY_WATER min_pressure = HAZARD_LOW_PRESSURE max_integrity = 600 - stable_population = 1 //This means they can only crossbreed. + stable_population = 2 grind_results = list(/datum/reagent/bone_dust = 5, /datum/reagent/consumable/liquidgibs = 5) fillet_type = /obj/item/stack/sheet/bone num_fillets = 2 diff --git a/code/modules/fishing/fish_mount.dm b/code/modules/fishing/fish_mount.dm index fd9876c57a3..491abe25ce7 100644 --- a/code/modules/fishing/fish_mount.dm +++ b/code/modules/fishing/fish_mount.dm @@ -34,13 +34,12 @@ /// Trophies from persistence have a good chance to be dusted if removal is attempted, though rarely it pays off. var/persistence_loaded_fish = FALSE -/obj/structure/fish_mount/Initialize(mapload, floor_to_wall_dir) +/obj/structure/fish_mount/Initialize(mapload) . = ..() //Mounted fish shouldn't flop. It should also show size and weight to everyone. add_traits(list(TRAIT_STOP_FISH_FLOPPING, TRAIT_EXAMINE_FISH), INNATE_TRAIT) - if(floor_to_wall_dir) - setDir(floor_to_wall_dir) - find_and_hang_on_wall() + if(mapload) + find_and_hang_on_wall() if(!persistence_id) return if(SSfishing.initialized) diff --git a/code/modules/food_and_drinks/machinery/oven.dm b/code/modules/food_and_drinks/machinery/oven.dm index a94ca674038..60a946c6d47 100644 --- a/code/modules/food_and_drinks/machinery/oven.dm +++ b/code/modules/food_and_drinks/machinery/oven.dm @@ -126,6 +126,7 @@ ///Adds a tray to the oven, making sure the shit can get baked. /obj/machinery/oven/proc/add_tray_to_oven(obj/item/plate/oven_tray, mob/baker) used_tray = oven_tray + playsound(src, SFX_TRAY_INSERT, 50, TRUE) if(!open) oven_tray.vis_flags |= VIS_HIDE @@ -261,6 +262,9 @@ icon_state = "oven_tray" max_items = 6 biggest_w_class = WEIGHT_CLASS_BULKY + sound_vary = TRUE + pickup_sound = SFX_TRAY_PICKUP + drop_sound = SFX_TRAY_DROP /obj/item/plate/oven_tray/item_interaction_secondary(mob/living/user, obj/item/item, list/modifiers) if(isnull(item.atom_storage)) diff --git a/code/modules/food_and_drinks/machinery/stove.dm b/code/modules/food_and_drinks/machinery/stove.dm index c19c0b75d7b..fc0e8cfe0e9 100644 --- a/code/modules/food_and_drinks/machinery/stove.dm +++ b/code/modules/food_and_drinks/machinery/stove.dm @@ -39,6 +39,9 @@ w_class = WEIGHT_CLASS_BULKY custom_price = PAYCHECK_LOWER * 8 fill_icon_thresholds = null + sound_vary = TRUE + pickup_sound = SFX_POT_PICKUP + drop_sound = SFX_POT_DROP /// Max number of ingredients we can add var/max_ingredients = 24 diff --git a/code/modules/food_and_drinks/plate.dm b/code/modules/food_and_drinks/plate.dm index ff210436cc1..539a22f8171 100644 --- a/code/modules/food_and_drinks/plate.dm +++ b/code/modules/food_and_drinks/plate.dm @@ -3,6 +3,9 @@ desc = "Holds food, powerful. Good for morale when you're not eating your spaghetti off of a desk." icon = 'icons/obj/service/kitchen.dmi' icon_state = "plate" + sound_vary = TRUE + pickup_sound = SFX_FOOD_PLATE_PICKUP + drop_sound = SFX_FOOD_PLATE_DROP w_class = WEIGHT_CLASS_BULKY //No backpack. ///How many things fit on this plate? var/max_items = 8 diff --git a/code/modules/hydroponics/grown/apple.dm b/code/modules/hydroponics/grown/apple.dm index 696222a0f8e..9d10ee66f5e 100644 --- a/code/modules/hydroponics/grown/apple.dm +++ b/code/modules/hydroponics/grown/apple.dm @@ -27,7 +27,7 @@ distill_reagent = /datum/reagent/consumable/ethanol/hcider /obj/item/food/grown/apple/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/appleslice, 5, 20, screentip_verb = "Slice") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/appleslice, 5, 20, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/grown/apple/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) . = ..() diff --git a/code/modules/hydroponics/grown/melon.dm b/code/modules/hydroponics/grown/melon.dm index 284f760cc66..90944967a58 100644 --- a/code/modules/hydroponics/grown/melon.dm +++ b/code/modules/hydroponics/grown/melon.dm @@ -35,7 +35,7 @@ wine_power = 40 /obj/item/food/grown/watermelon/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/watermelonslice, 5, 20, screentip_verb = "Slice") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/watermelonslice, 5, 20, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/grown/watermelon/make_dryable() return //No drying @@ -100,7 +100,7 @@ wine_flavor = "divinity" /obj/item/food/grown/holymelon/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/holymelonslice, 5, 20, screentip_verb = "Slice") + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/holymelonslice, 5, 20, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE) /obj/item/food/grown/holymelon/make_dryable() return //No drying diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index 52ad4cb41ce..0f325a5d740 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -508,10 +508,8 @@ /obj/machinery/hydroponics/update_name(updates) . = ..() - if(myseed) + if(!GetComponent(/datum/component/rename) && myseed) name = "[initial(name)] ([myseed.plantname])" - else - name = initial(name) /obj/machinery/hydroponics/update_overlays() . = ..() diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index c4ba18b1ecc..d572dc01b02 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -9,6 +9,7 @@ abstract_type = /obj/item/seeds w_class = WEIGHT_CLASS_TINY resistance_flags = FLAMMABLE + obj_flags = UNIQUE_RENAME /// Name of plant when planted. var/plantname = "Plants" /// A type path. The thing that is created when the plant is harvested. @@ -487,40 +488,24 @@ /obj/item/seeds/proc/on_chem_reaction(datum/reagents/reagents) return -/obj/item/seeds/attackby(obj/item/O, mob/user, list/modifiers, list/attack_modifiers) - if(IS_WRITING_UTENSIL(O)) - var/choice = tgui_input_list(usr, "What would you like to change?", "Seed Alteration", list("Plant Name", "Seed Description", "Product Description")) - if(isnull(choice)) - return - if(!user.can_perform_action(src)) - return - switch(choice) - if("Plant Name") - var/newplantname = reject_bad_text(tgui_input_text(user, "Write a new plant name", "Plant Name", plantname, max_length = MAX_NAME_LEN)) - if(isnull(newplantname)) - return - if(!user.can_perform_action(src)) - return - name = "[LOWER_TEXT(newplantname)]" - plantname = newplantname - if("Seed Description") - var/newdesc = tgui_input_text(user, "Write a new seed description", "Seed Description", desc, max_length = MAX_DESC_LEN) - if(isnull(newdesc)) - return - if(!user.can_perform_action(src)) - return - desc = newdesc - if("Product Description") - if(product && !productdesc) - productdesc = initial(product.desc) - var/newproductdesc = tgui_input_text(user, "Write a new product description", "Product Description", productdesc, max_length = MAX_DESC_LEN) - if(isnull(newproductdesc)) - return - if(!user.can_perform_action(src)) - return - productdesc = newproductdesc +/obj/item/seeds/nameformat(input, user) + plantname = input + return "[LOWER_TEXT(input)]" - ..() // Fallthrough to item/attackby() so that bags can pick seeds up +/obj/item/seeds/descformat(input, mob/living/user) + . = input + if(product && !productdesc) + productdesc = initial(product.desc) + var/newproductdesc = tgui_input_text(user, "Write a new product description", "Product Description", productdesc, max_length = MAX_DESC_LEN) + if(isnull(newproductdesc)) + return + if(!user.can_perform_action(src)) + return + productdesc = newproductdesc + +/obj/item/seeds/rename_reset() + plantname = initial(plantname) + productdesc = initial(productdesc) /obj/item/seeds/proc/randomize_stats() set_lifespan(rand(25, 60)) diff --git a/code/modules/jobs/job_types/lawyer.dm b/code/modules/jobs/job_types/lawyer.dm index c1cdafab00b..449d004e76b 100644 --- a/code/modules/jobs/job_types/lawyer.dm +++ b/code/modules/jobs/job_types/lawyer.dm @@ -29,7 +29,6 @@ job_tone = "objection" - /datum/outfit/job/lawyer name = "Lawyer" jobtype = /datum/job/lawyer diff --git a/code/modules/jobs/job_types/medical_doctor.dm b/code/modules/jobs/job_types/medical_doctor.dm index 79a972c0457..ec9a10525bc 100644 --- a/code/modules/jobs/job_types/medical_doctor.dm +++ b/code/modules/jobs/job_types/medical_doctor.dm @@ -61,15 +61,3 @@ box = /obj/item/storage/box/survival/medical chameleon_extras = /obj/item/gun/syringe skillchips = list(/obj/item/skillchip/entrails_reader) - -/datum/outfit/job/doctor/mod - name = "Medical Doctor (MODsuit)" - - suit_store = /obj/item/tank/internals/oxygen - back = /obj/item/mod/control/pre_equipped/medical - suit = null - head = null - uniform = /obj/item/clothing/under/rank/medical/doctor - mask = /obj/item/clothing/mask/breath/medical - r_pocket = /obj/item/flashlight/pen - internals_slot = ITEM_SLOT_SUITSTORE diff --git a/code/modules/jobs/job_types/paramedic.dm b/code/modules/jobs/job_types/paramedic.dm index d446a970060..9122c17064b 100644 --- a/code/modules/jobs/job_types/paramedic.dm +++ b/code/modules/jobs/job_types/paramedic.dm @@ -68,3 +68,16 @@ box = /obj/item/storage/box/survival/medical chameleon_extras = /obj/item/gun/syringe pda_slot = ITEM_SLOT_LPOCKET + +/datum/outfit/job/doctor/mod + name = "Paramedic (MODsuit)" + + suit_store = /obj/item/tank/internals/oxygen + back = /obj/item/mod/control/pre_equipped/medical + suit = null + head = null + uniform = /obj/item/clothing/under/rank/medical/paramedic + mask = /obj/item/clothing/mask/breath/medical + r_pocket = /obj/item/flashlight/pen + internals_slot = ITEM_SLOT_SUITSTORE + diff --git a/code/modules/library/bookcase.dm b/code/modules/library/bookcase.dm index 3fa3efb70fe..a591b15d15c 100644 --- a/code/modules/library/bookcase.dm +++ b/code/modules/library/bookcase.dm @@ -28,6 +28,7 @@ /obj/structure/bookcase/Initialize(mapload) . = ..() + obj_flags |= UNIQUE_RENAME | RENAME_NO_DESC if(!mapload || QDELETED(src)) return // Only mapload from here on @@ -170,17 +171,6 @@ update_appearance() return - if(IS_WRITING_UTENSIL(attacking_item)) - if(!user.can_perform_action(src) || !user.can_write(attacking_item)) - return ..() - var/newname = tgui_input_text(user, "What would you like to title this bookshelf?", "Bookshelf Renaming", max_length = MAX_NAME_LEN) - if(!user.can_perform_action(src) || !user.can_write(attacking_item)) - return ..() - if(!newname) - return - name = "bookcase ([sanitize(newname)])" - return - if(attacking_item.tool_behaviour == TOOL_CROWBAR) if(length(contents)) balloon_alert(user, "remove the books first") @@ -230,6 +220,9 @@ icon_state = "book-[clamp(amount, 0, 5)]" return ..() +/obj/structure/bookcase/nameformat(input, user) + return "bookcase[input? " ([input])" : null]" + /obj/structure/bookcase/manuals/engineering name = "engineering manuals bookcase" diff --git a/code/modules/loadout/categories/accessories.dm b/code/modules/loadout/categories/accessories.dm index 05d680d7b52..51807a62d5b 100644 --- a/code/modules/loadout/categories/accessories.dm +++ b/code/modules/loadout/categories/accessories.dm @@ -57,17 +57,13 @@ // SKYRAT EDIT END outfit.accessory = item_path -/datum/loadout_item/accessory/on_equip_item( - obj/item/clothing/accessory/equipped_item, - datum/preferences/preference_source, - list/preference_list, - mob/living/carbon/human/equipper, - visuals_only = FALSE, -) +/datum/loadout_item/accessory/on_equip_item(obj/item/equipped_item, list/item_details, mob/living/carbon/human/equipper, datum/outfit/job/outfit, visuals_only = FALSE) . = ..() - if(istype(equipped_item)) - equipped_item.above_suit = !!preference_list[item_path]?[INFO_LAYER] - . |= (ITEM_SLOT_OCLOTHING|ITEM_SLOT_ICLOTHING) + if(isnull(equipped_item)) + return . + var/obj/item/clothing/accessory/accessory_item = equipped_item + accessory_item.above_suit = !!item_details[INFO_LAYER] + return . | ITEM_SLOT_OCLOTHING | ITEM_SLOT_ICLOTHING /datum/loadout_item/accessory/maid_apron name = "Maid Apron" @@ -88,4 +84,4 @@ /datum/loadout_item/accessory/pride name = "Pride Pin" item_path = /obj/item/clothing/accessory/pride - can_be_reskinned = TRUE + loadout_flags = LOADOUT_FLAG_ALLOW_RESKIN diff --git a/code/modules/loadout/categories/pocket.dm b/code/modules/loadout/categories/pocket.dm index 2bbc2a0e046..7c24d9fdc41 100644 --- a/code/modules/loadout/categories/pocket.dm +++ b/code/modules/loadout/categories/pocket.dm @@ -31,13 +31,7 @@ abstract_type = /datum/loadout_item/pocket_items can_be_named = TRUE // BUBBER EDIT ADDITION -/datum/loadout_item/pocket_items/on_equip_item( - obj/item/equipped_item, - datum/preferences/preference_source, - list/preference_list, - mob/living/carbon/human/equipper, - visuals_only = FALSE, -) +/datum/loadout_item/pocket_items/on_equip_item(obj/item/equipped_item, list/item_details, mob/living/carbon/human/equipper, datum/outfit/job/outfit, visuals_only = FALSE) // Backpack items aren't created if it's a visual equipping, so don't do any on equip stuff. It doesn't exist. if(visuals_only) return NONE @@ -48,7 +42,7 @@ /datum/loadout_item/pocket_items/plush group = "Plushies" abstract_type = /datum/loadout_item/pocket_items/plush - can_be_named = TRUE + loadout_flags = LOADOUT_FLAG_ALLOW_NAMING /datum/loadout_item/pocket_items/plush/bee name = "Plush (Bee)" @@ -64,7 +58,7 @@ /datum/loadout_item/pocket_items/plush/lizard_random name = "Plush (Lizard, Random)" - can_be_greyscale = DONT_GREYSCALE + loadout_flags = parent_type::loadout_flags | LOADOUT_FLAG_BLOCK_GREYSCALING ui_icon = 'icons/obj/fluff/previews.dmi' ui_icon_state = "plushie_lizard_random" item_path = /obj/item/toy/plush/lizard_plushie @@ -182,19 +176,15 @@ .[FA_ICON_PALETTE] = "Recolorable" /* SKYRAT EDIT REMOVAL -/datum/loadout_item/pocket_items/lipstick/on_equip_item( - obj/item/lipstick/equipped_item, - datum/preferences/preference_source, - list/preference_list, - mob/living/carbon/human/equipper, - visuals_only, -) +/datum/loadout_item/pocket_items/lipstick/on_equip_item(obj/item/equipped_item, list/item_details, mob/living/carbon/human/equipper, datum/outfit/job/outfit, visuals_only = FALSE) . = ..() - var/picked_style = style_to_style(preference_list[item_path]?[INFO_LAYER]) - var/picked_color = preference_list[item_path]?[INFO_GREYSCALE] || /obj/item/lipstick::lipstick_color - if(istype(equipped_item)) // can be null for visuals_only - equipped_item.style = picked_style - equipped_item.lipstick_color = picked_color + if(isnull(equipped_item)) + return + var/picked_style = style_to_style(item_details[INFO_LAYER]) + var/picked_color = item_details[INFO_GREYSCALE] || /obj/item/lipstick::lipstick_color + var/obj/item/lipstick/lipstick_item = equipped_item + lipstick_item.style = picked_style + lipstick_item.lipstick_color = picked_color equipper.update_lips(picked_style, picked_color) /// Converts style (readable) to style (internal) @@ -292,13 +282,7 @@ /datum/loadout_item/pocket_items/wallet/insert_path_into_outfit(datum/outfit/outfit, mob/living/carbon/human/equipper, visuals_only = FALSE) return -/datum/loadout_item/pocket_items/wallet/on_equip_item( - obj/item/equipped_item, - datum/preferences/preference_source, - list/preference_list, - mob/living/carbon/human/equipper, - visuals_only = FALSE, -) +/datum/loadout_item/pocket_items/wallet/on_equip_item(obj/item/equipped_item, list/item_details, mob/living/carbon/human/equipper, datum/outfit/job/outfit, visuals_only = FALSE) // Do this at the very end of the setup process so we can insert quirk items and such if(!visuals_only && !isdummy(equipper)) RegisterSignal(equipper, COMSIG_HUMAN_CHARACTER_SETUP_FINISHED, PROC_REF(apply_after_setup), override = TRUE) @@ -337,13 +321,7 @@ /datum/loadout_item/pocket_items/borg_me_dogtag item_path = /obj/item/clothing/accessory/dogtag/borg_ready -/datum/loadout_item/pocket_items/borg_me_dogtag/on_equip_item( - obj/item/equipped_item, - datum/preferences/preference_source, - list/preference_list, - mob/living/carbon/human/equipper, - visuals_only = FALSE, -) +/datum/loadout_item/pocket_items/borg_me_dogtag/on_equip_item(obj/item/equipped_item, list/item_details, mob/living/carbon/human/equipper, datum/outfit/job/outfit, visuals_only) // We're hooking this datum to add an extra bit of flavor to the dogtag - a pregenerated medical record if(!visuals_only && !isdummy(equipper)) RegisterSignal(equipper, COMSIG_HUMAN_CHARACTER_SETUP_FINISHED, PROC_REF(apply_after_setup), override = TRUE) diff --git a/code/modules/loadout/categories/shoes.dm b/code/modules/loadout/categories/shoes.dm index 22ef52d62be..0ba99288351 100644 --- a/code/modules/loadout/categories/shoes.dm +++ b/code/modules/loadout/categories/shoes.dm @@ -12,7 +12,7 @@ outfit.shoes = item_path /datum/loadout_item/shoes/sneakers - name = "Sneakers (Colourable)" + name = "Sneakers" item_path = /obj/item/clothing/shoes/sneakers /datum/loadout_item/shoes/sandals_laced diff --git a/code/modules/loadout/categories/suits.dm b/code/modules/loadout/categories/suits.dm new file mode 100644 index 00000000000..0637671de37 --- /dev/null +++ b/code/modules/loadout/categories/suits.dm @@ -0,0 +1,42 @@ +/datum/loadout_category/suits + category_name = "Suits" + category_ui_icon = FA_ICON_USER_SECRET + type_to_generate = /datum/loadout_item/suit + tab_order = /datum/loadout_category/head::tab_order + 3 + +/datum/loadout_item/suit + abstract_type = /datum/loadout_item/suit + +/datum/loadout_item/suit/insert_path_into_outfit(datum/outfit/outfit, mob/living/carbon/human/equipper, visuals_only = FALSE) + if(outfit.suit) + LAZYADD(outfit.backpack_contents, outfit.suit) + if(outfit.suit_store) + if(outfit.suit_store::w_class <= WEIGHT_CLASS_NORMAL) + LAZYADD(outfit.backpack_contents, outfit.suit_store) + else if((!outfit.belt || (outfit.belt::w_class <= WEIGHT_CLASS_NORMAL)) && (outfit.suit_store::slot_flags & ITEM_SLOT_BELT)) + if(outfit.belt) + LAZYADD(outfit.backpack_contents, outfit.belt) + outfit.belt = outfit.suit_store + else if(!outfit.r_hand) + outfit.r_hand = outfit.suit_store + else if(!outfit.l_hand) + outfit.l_hand = outfit.suit_store + // no else condition - if every check failed, we just nuke whatever was there + // which is fine, suitstore generally contains replaceable items like pens, tanks, or weapons + outfit.suit_store = null + + outfit.suit = item_path + +/datum/loadout_item/suit/overall + name = "Overall" + item_path = /obj/item/clothing/suit/apron/overalls + loadout_flags = LOADOUT_FLAG_JOB_GREYSCALING + job_greyscale_palettes = list( + /datum/job/assistant = COLOR_JOB_DEFAULT, + /datum/job/botanist = /obj/item/clothing/suit/apron/overalls::greyscale_colors, + /datum/job/captain = COLOR_JOB_COMMAND_GENERIC, + /datum/job/head_of_personnel = COLOR_JOB_COMMAND_GENERIC, + /datum/job/head_of_security = COLOR_JOB_DEFAULT, + /datum/job/paramedic = "#28324b", + /datum/job/prisoner = "#ff8b00", + ) diff --git a/code/modules/loadout/loadout_helpers.dm b/code/modules/loadout/loadout_helpers.dm index 3ed5bdec4b7..02e85518a41 100644 --- a/code/modules/loadout/loadout_helpers.dm +++ b/code/modules/loadout/loadout_helpers.dm @@ -77,14 +77,14 @@ // SKYRAT EDIT END // Handle any snowflake on_equips. - var/list/new_contents = get_all_gear() + var/list/new_contents = get_all_gear(INCLUDE_PROSTHETICS|INCLUDE_ABSTRACT|INCLUDE_ACCESSORIES) var/update = NONE for(var/datum/loadout_item/item as anything in loadout_datums) update |= item.on_equip_item( equipped_item = (loadout_placement_preference == LOADOUT_OVERRIDE_CASE && !visuals_only) ? locate(item.item_path) in travel_suitcase : locate(item.item_path) in new_contents, // BUBBER EDIT CHANGE - ORIGINAL: equipped_item = locate(item.item_path) in new_contents, - preference_source = preference_source, - preference_list = preference_list, + item_details = preference_list?[item.item_path] || list(), equipper = src, + outfit = equipped_outfit, visuals_only = visuals_only, ) if(update) diff --git a/code/modules/loadout/loadout_items.dm b/code/modules/loadout/loadout_items.dm index 39d0e834c7a..4ef97302ad1 100644 --- a/code/modules/loadout/loadout_items.dm +++ b/code/modules/loadout/loadout_items.dm @@ -40,17 +40,8 @@ GLOBAL_LIST_INIT(all_loadout_categories, init_loadout_categories()) /// Title of a group that this item will be bundled under /// Defaults to parent category's title if unset var/group = null - /// Whether this item has greyscale support. - /// Only works if the item is compatible with the GAGS system of coloring. - /// Set automatically to TRUE for all items that have the flag [IS_PLAYER_COLORABLE_1]. - /// If you really want it to not be colorable set this to [DONT_GREYSCALE] - var/can_be_greyscale = FALSE - /// Whether this item can be renamed. - /// I recommend you apply this sparingly becuase it certainly can go wrong (or get reset / overridden easily) - var/can_be_named = TRUE // SKYRAT EDIT - /// Whether this item can be reskinned. - /// Only works if the item has a "unique reskin" list set. - var/can_be_reskinned = FALSE + /// Loadout flags, see LOADOUT_FLAG_* defines + var/loadout_flags = LOADOUT_FLAG_ALLOW_NAMING // BUBBER EDIT CHANGE - Original: var/loadout_flags = NONE /// The actual item path of the loadout item. var/obj/item/item_path /// Icon file (DMI) for the UI to use for preview icons. @@ -61,6 +52,28 @@ GLOBAL_LIST_INIT(all_loadout_categories, init_loadout_categories()) var/ui_icon_state /// Reskin options of this item if it can be reskinned. VAR_FINAL/list/cached_reskin_options + /// A list of greyscale colors that are used for items that have greyscale support, but don't allow full customization. + /// This is an assoc list of /datum/job_department -> colors, or /datum/job -> colors, allowing for preset colors based on player chosen job. + /// Jobs are prioritized over departments. + /// Note: You don't need to set a color for every job or department! + var/list/job_greyscale_palettes + + // BUBBER EDIT ADDITION START + /// If set, it's a list containing ckeys which only can get the item + var/list/ckeywhitelist + /// If set, is a list of job names of which can get the loadout item + var/list/restricted_roles + /// If set, is a list of job names of which can't get the loadout item + var/list/blacklisted_roles + /// If set, is a list of species which can get the loadout item + var/list/restricted_species + /// Whether the item is restricted to supporters + var/donator_only + /// Whether the item requires a specific season in order to be available + var/required_season = null + /// If the item won't appear when the ERP config is disabled + var/erp_item = FALSE + // BUBBER EDIT END // BUBBER EDIT ADDITION START /// If set, it's a list containing ckeys which only can get the item @@ -82,10 +95,18 @@ GLOBAL_LIST_INIT(all_loadout_categories, init_loadout_categories()) /datum/loadout_item/New(category) src.category = category - if(can_be_greyscale == DONT_GREYSCALE) - can_be_greyscale = FALSE - else if((item_path::flags_1 & IS_PLAYER_COLORABLE_1) && item_path::greyscale_config && item_path::greyscale_colors) - can_be_greyscale = TRUE + if(!(loadout_flags & LOADOUT_FLAG_BLOCK_GREYSCALING) && is_greyscale_item()) + loadout_flags |= LOADOUT_FLAG_GREYSCALING_ALLOWED + + if(loadout_flags & LOADOUT_FLAG_JOB_GREYSCALING) + var/default_colors = SSgreyscale.ParseColorString(item_path::greyscale_colors) + var/list/final_palette = LAZYLISTDUPLICATE(job_greyscale_palettes) + switch(length(default_colors)) + if(1) + LAZYOR(final_palette, default_one_color_job_palette()) + if(2 to INFINITY) + stack_trace("[length(default_colors)] color job palettes are not implemented yet, please do so.") + job_greyscale_palettes = final_palette if(isnull(name)) name = item_path::name @@ -94,11 +115,11 @@ GLOBAL_LIST_INIT(all_loadout_categories, init_loadout_categories()) ui_icon = item_path::icon_preview || item_path::icon ui_icon_state = item_path::icon_state_preview || item_path::icon_state - if(can_be_reskinned) + if(loadout_flags & LOADOUT_FLAG_ALLOW_RESKIN) var/obj/item/dummy_item = new item_path() if(!length(dummy_item.unique_reskin)) - can_be_reskinned = FALSE - stack_trace("Loadout item [item_path] has can_be_reskinned set to TRUE but has no unique reskins.") + loadout_flags &= ~LOADOUT_FLAG_ALLOW_RESKIN + stack_trace("Loadout item [item_path] has LOADOUT_FLAG_ALLOW_RESKIN but has no unique reskins.") else cached_reskin_options = dummy_item.unique_reskin.Copy() qdel(dummy_item) @@ -111,13 +132,21 @@ GLOBAL_LIST_INIT(all_loadout_categories, init_loadout_categories()) // SKYRAT EDIT END /datum/loadout_item/Destroy(force, ...) - if(force) + if(!force) stack_trace("QDEL called on loadout item [type]. This shouldn't ever happen. (Use FORCE if necessary.)") return QDEL_HINT_LETMELIVE GLOB.all_loadout_datums -= item_path return ..() +/// Checks if the item is capable of being recolored / is a GAGS item. +/datum/loadout_item/proc/is_greyscale_item() + if(!(item_path::flags_1 & IS_PLAYER_COLORABLE_1)) + return FALSE + if(!item_path::greyscale_config || !item_path::greyscale_colors) + return FALSE + return TRUE + /** * Takes in an action from a loadout manager and applies it * @@ -130,21 +159,22 @@ GLOBAL_LIST_INIT(all_loadout_categories, init_loadout_categories()) switch(action) if("select_color") - if(can_be_greyscale) + if((loadout_flags & LOADOUT_FLAG_GREYSCALING_ALLOWED) && !(loadout_flags & LOADOUT_FLAG_JOB_GREYSCALING)) return set_item_color(manager, user) if("set_name") - if(can_be_named) - // SKYRAT EDIT BEGIN - Description - return set_name(manager, user, INFO_NAMED) + if(loadout_flags & LOADOUT_FLAG_ALLOW_NAMING) + return set_name(manager, user, INFO_NAMED) // BUBBER EDIT CHANGE - Original: return set_name(manager, user) + // BUBBER EDIT ADDITION BEGIN if("set_desc") - if(can_be_named) + if(loadout_flags & LOADOUT_FLAG_ALLOW_NAMING) return set_name(manager, user, INFO_DESCRIBED) - // SKYRAT EDIT END + // BUBBER EDIT ADDITION END if("set_skin") - return set_skin(manager, user, params) + if(loadout_flags & LOADOUT_FLAG_ALLOW_RESKIN) + return set_skin(manager, user, params) return TRUE @@ -226,9 +256,6 @@ GLOBAL_LIST_INIT(all_loadout_categories, init_loadout_categories()) /// Used for reskinning an item to an alt skin. /datum/loadout_item/proc/set_skin(datum/preference_middleware/loadout/manager, mob/user, params) - if(!can_be_reskinned) - return FALSE - var/reskin_to = params["skin"] if(!cached_reskin_options[reskin_to]) return FALSE @@ -241,6 +268,26 @@ GLOBAL_LIST_INIT(all_loadout_categories, init_loadout_categories()) manager.save_current_loadout(loadout) // BUBBER EDIT: Multiple loadout presets: ORIGINAL: manager.preferences.update_preference(GLOB.preference_entries[/datum/preference/loadout], loadout) return TRUE // always update UI +/// When passed an outfit, attempts to select a job-appropriate color from job_greyscale_palettes +/datum/loadout_item/proc/get_job_color(datum/outfit/base_outfit) + if(!istype(base_outfit, /datum/outfit/job)) + return job_greyscale_palettes[/datum/job] // default color + + var/datum/outfit/job/job_outfit = base_outfit + var/jobtype = job_outfit.jobtype + if(job_greyscale_palettes[jobtype]) + return job_greyscale_palettes[jobtype] + + var/datum/job/job = SSjob.get_job_type(jobtype) + if(job.department_for_prefs && job_greyscale_palettes[job.department_for_prefs]) + return job_greyscale_palettes[job.department_for_prefs] + + for(var/job_dept in job.departments_list) + if(job_greyscale_palettes[job_dept]) + return job_greyscale_palettes[job_dept] + + return job_greyscale_palettes[/datum/job] // default color + /** * Place our [item_path] into the passed [outfit]. * @@ -262,48 +309,43 @@ GLOBAL_LIST_INIT(all_loadout_categories, init_loadout_categories()) * * Arguments: * * preference_source - the datum/preferences our loadout item originated from - cannot be null + * * item_details - the details of the item in the loadout preferences, such as greyscale, name, reskin, etc * * equipper - the mob we're equipping this item onto + * * outfit - the rest of the outfit being equipped, may be null * * visuals_only - whether or not this is only concerned with visual things (not backpack, not renaming, etc) - * * preference_list - what the raw loadout list looks like in the preferences * * Return a bitflag of slot flags to update */ -/datum/loadout_item/proc/on_equip_item( - obj/item/equipped_item, - datum/preferences/preference_source, - list/preference_list, - mob/living/carbon/human/equipper, - visuals_only = FALSE, -) +/datum/loadout_item/proc/on_equip_item(obj/item/equipped_item, list/item_details, mob/living/carbon/human/equipper, datum/outfit/outfit, visuals_only = FALSE) if(isnull(equipped_item)) return NONE if(!visuals_only) ADD_TRAIT(equipped_item, TRAIT_ITEM_OBJECTIVE_BLOCKED, TRAIT_SOURCE_LOADOUT) - var/list/item_details = preference_list[item_path] var/update_flag = NONE - if(can_be_greyscale && item_details?[INFO_GREYSCALE]) - equipped_item.set_greyscale(item_details[INFO_GREYSCALE]) + if((loadout_flags & LOADOUT_FLAG_GREYSCALING_ALLOWED) && ((loadout_flags & LOADOUT_FLAG_JOB_GREYSCALING) || item_details?[INFO_GREYSCALE])) + var/item_color = (loadout_flags & LOADOUT_FLAG_JOB_GREYSCALING) ? get_job_color(outfit) : item_details?[INFO_GREYSCALE] + equipped_item.set_greyscale(item_color) update_flag |= equipped_item.slot_flags - // SKYRAT EDIT BEGIN - DESCRIPTIONS~ - if(can_be_named && !visuals_only) - var/renamed = 0 + // BUBBER EDIT CHANGE BEGIN - Descriptions + if((loadout_flags & LOADOUT_FLAG_ALLOW_NAMING) && !visuals_only) + var/renamed = FALSE if(item_details?[INFO_NAMED]) equipped_item.name = trim(item_details[INFO_NAMED], PREVENT_CHARACTER_TRIM_LOSS(MAX_NAME_LEN)) - renamed = 1 + renamed = TRUE if(item_details?[INFO_DESCRIBED]) equipped_item.desc = trim(item_details[INFO_DESCRIBED], PREVENT_CHARACTER_TRIM_LOSS(MAX_DESC_LEN)) - renamed = 1 + renamed = TRUE if(renamed) ADD_TRAIT(equipped_item, TRAIT_WAS_RENAMED, TRAIT_SOURCE_LOADOUT) equipped_item.AddElement(/datum/element/examined_when_worn) SEND_SIGNAL(equipped_item, COMSIG_NAME_CHANGED) - // SKYRAT EDIT END + // BUBBER EDIT CHANGE END - Descriptions - if(can_be_reskinned && item_details?[INFO_RESKIN]) + if((loadout_flags & LOADOUT_FLAG_ALLOW_RESKIN) && item_details?[INFO_RESKIN]) var/skin_chosen = item_details[INFO_RESKIN] if(skin_chosen in equipped_item.unique_reskin) equipped_item.current_skin = skin_chosen @@ -317,11 +359,6 @@ GLOBAL_LIST_INIT(all_loadout_categories, init_loadout_categories()) else update_flag |= equipped_item.slot_flags - else - // Not valid, update the preference - item_details -= INFO_RESKIN - preference_source.write_preference(GLOB.preference_entries[/datum/preference/loadout], preference_list) - return update_flag /** @@ -360,10 +397,10 @@ GLOBAL_LIST_INIT(all_loadout_categories, init_loadout_categories()) // Mothblocks is hellbent on recolorable and reskinnable being only tooltips for items for visual clarity, so ask her before changing these var/list/displayed_text = list() - if(can_be_greyscale) + if((loadout_flags & LOADOUT_FLAG_GREYSCALING_ALLOWED) && !(loadout_flags & LOADOUT_FLAG_JOB_GREYSCALING)) displayed_text[FA_ICON_PALETTE] = "Recolorable" - if(can_be_reskinned) + if(loadout_flags & LOADOUT_FLAG_ALLOW_RESKIN) displayed_text[FA_ICON_SWATCHBOOK] = "Reskinnable" // SKYRAT EDIT ADDITION @@ -404,7 +441,7 @@ GLOBAL_LIST_INIT(all_loadout_categories, init_loadout_categories()) var/list/button_list = list() - if(can_be_greyscale) + if((loadout_flags & LOADOUT_FLAG_GREYSCALING_ALLOWED) && !(loadout_flags & LOADOUT_FLAG_JOB_GREYSCALING)) UNTYPED_LIST_ADD(button_list, list( "label" = "Recolor", "act_key" = "select_color", @@ -412,7 +449,7 @@ GLOBAL_LIST_INIT(all_loadout_categories, init_loadout_categories()) "active_key" = INFO_GREYSCALE, )) - if(can_be_named) + if(loadout_flags & LOADOUT_FLAG_ALLOW_NAMING) UNTYPED_LIST_ADD(button_list, list( "label" = "Rename", "act_key" = "set_name", @@ -433,7 +470,7 @@ GLOBAL_LIST_INIT(all_loadout_categories, init_loadout_categories()) * Returns a list of options this item can be reskinned into. */ /datum/loadout_item/proc/get_reskin_options() as /list - if(!can_be_reskinned) + if(!(loadout_flags & LOADOUT_FLAG_ALLOW_RESKIN)) return null var/list/reskins = list() @@ -446,3 +483,33 @@ GLOBAL_LIST_INIT(all_loadout_categories, init_loadout_categories()) )) return reskins + +/// Default job gags colors for one color gags items +/datum/loadout_item/proc/default_one_color_job_palette() + return list( + /datum/job/assistant = COLOR_JOB_ASSISTANT, + /datum/job/bitrunner = COLOR_JOB_DEFAULT, + /datum/job/botanist = COLOR_JOB_BOTANIST, + /datum/job/chemist = COLOR_JOB_CHEMIST, + /datum/job/chief_engineer = COLOR_JOB_CE, + /datum/job/chief_medical_officer = COLOR_JOB_CMO, + /datum/job/clown = COLOR_JOB_CLOWN, + /datum/job/cook = COLOR_JOB_CHEF, + /datum/job/coroner = COLOR_JOB_DEFAULT, + /datum/job/curator = COLOR_DRIED_TAN, + /datum/job/detective = COLOR_DRIED_TAN, + /datum/job/geneticist = COLOR_BLUE_GRAY, + /datum/job/janitor = COLOR_JOB_JANITOR, + /datum/job/lawyer = COLOR_JOB_LAWYER, + /datum/job/prisoner = COLOR_PRISONER_ORANGE, + /datum/job/psychologist = COLOR_DRIED_TAN, + /datum/job/roboticist = COLOR_JOB_DEFAULT, + /datum/job/shaft_miner = COLOR_DARK_BROWN, + /datum/job_department/command = COLOR_JOB_COMMAND_GENERIC, + /datum/job_department/engineering = COLOR_JOB_ENGI_GENERIC, + /datum/job_department/medical = COLOR_JOB_MED_GENERIC, + /datum/job_department/security = COLOR_JOB_SEC_GENERIC, + /datum/job_department/science = COLOR_JOB_SCI_GENERIC, + /datum/job_department/cargo = COLOR_JOB_CARGO_GENERIC, + /datum/job = COLOR_JOB_DEFAULT, // default for any job not listed above + ) diff --git a/code/modules/mapping/access_helpers.dm b/code/modules/mapping/access_helpers.dm index c208e2eea9e..96c377c461a 100644 --- a/code/modules/mapping/access_helpers.dm +++ b/code/modules/mapping/access_helpers.dm @@ -185,6 +185,11 @@ access_list += list(ACCESS_MEDICAL, ACCESS_MAINT_TUNNELS) return access_list +/obj/effect/mapping_helpers/airlock/access/any/medical/paramedic/get_access() + var/list/access_list = ..() + access_list += ACCESS_PARAMEDIC + return access_list + // -------------------- Science access helpers /obj/effect/mapping_helpers/airlock/access/any/science icon_state = "access_helper_sci" @@ -661,6 +666,11 @@ access_list += ACCESS_PSYCHOLOGY return access_list +/obj/effect/mapping_helpers/airlock/access/all/medical/paramedic/get_access() + var/list/access_list = ..() + access_list += ACCESS_PARAMEDIC + return access_list + // -------------------- Science access helpers /obj/effect/mapping_helpers/airlock/access/all/science icon_state = "access_helper_sci" diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm index 6d0b7e58167..e1f84e9ba24 100644 --- a/code/modules/mapping/mapping_helpers.dm +++ b/code/modules/mapping/mapping_helpers.dm @@ -953,7 +953,9 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_atoms_ontop) body_bag.insert(new_human, TRUE) body_bag.close() - body_bag.handle_tag("[new_human.real_name][new_human.dna?.species ? " - [new_human.dna.species.name]" : " - Human"]") + body_bag.tag_name = "[new_human.real_name][new_human.dna?.species ? " - [new_human.dna.species.name]" : " - Human"]" + body_bag.AddComponent(/datum/component/rename, "[initial(body_bag.name)][body_bag.tag_name? " - [body_bag.tag_name]" : null]", body_bag.desc) + body_bag.update_icon() body_bag.forceMove(morgue_tray) morgue_tray.update_appearance() diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm index d3d05077b7e..50da59ec0ad 100644 --- a/code/modules/mining/machine_redemption.dm +++ b/code/modules/mining/machine_redemption.dm @@ -290,7 +290,7 @@ if(card?.registered_account) data["user"] = list( "name" = card.registered_account.account_holder, - "cash" = card.registered_account.account_balance, + "cash" = card.registered_account.mining_points, ) else if(issilicon(user)) diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index ff93ac7fa35..5f6021c2b14 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -95,8 +95,14 @@ /mob/proc/get_num_held_items() . = 0 for(var/i in 1 to held_items.len) - if(held_items[i]) - .++ + if(!held_items[i]) + continue + var/obj/item/gripped_item = held_items[i] + if(HAS_TRAIT_FROM(gripped_item, TRAIT_NODROP, HAND_REPLACEMENT_TRAIT)) //prostetic limbs are not held items, they are part of the body. + continue + if(gripped_item.item_flags & ABSTRACT) //not really flavoured as items + continue + .++ //Sad that this will cause some overhead, but the alias seems necessary //*I* may be happy with a million and one references to "indexes" but others won't be @@ -343,8 +349,11 @@ if(isnull(to_drop)) return - var/x_offset = rand(-6, 6) - var/y_offset = rand(-6, 6) + var/x_offset = 0 + var/y_offset = 0 + if(!(to_drop.item_flags & NO_PIXEL_RANDOM_DROP)) + x_offset += rand(-6, 6) + y_offset += rand(-6, 6) SEND_SIGNAL(src, COMSIG_MOB_DROPPING_ITEM) if(!transfer_item_to_turf(to_drop, drop_location(), x_offset, y_offset, force, silent, invdrop)) return @@ -451,9 +460,14 @@ var/list/items = list() for(var/obj/item/item_contents in contents) if(item_contents.item_flags & IN_INVENTORY) + if(!(include_flags & INCLUDE_PROSTHETICS) && HAS_TRAIT_FROM(item_contents, TRAIT_NODROP, HAND_REPLACEMENT_TRAIT)) //prostetic limbs are not equipped items, they are part of the body. + continue + if(!(include_flags & INCLUDE_ABSTRACT) && (item_contents.item_flags & ABSTRACT)) //not really flavoured as items + continue items += item_contents if (!(include_flags & INCLUDE_HELD)) items -= held_items + return items /** @@ -658,8 +672,8 @@ hud_used.build_hand_slots() //GetAllContents that is reasonable and not stupid -/mob/living/proc/get_all_gear(accessories = TRUE, recursive = TRUE) - var/list/processing_list = get_equipped_items(INCLUDE_POCKETS | INCLUDE_HELD | (accessories ? INCLUDE_ACCESSORIES : NONE)) +/mob/living/proc/get_all_gear(equipment_flags = INCLUDE_ACCESSORIES|INCLUDE_PROSTHETICS, recursive = TRUE) + var/list/processing_list = get_equipped_items(INCLUDE_POCKETS|INCLUDE_HELD|equipment_flags) list_clear_nulls(processing_list) // handles empty hands var/i = 0 while(i < length(processing_list)) @@ -669,8 +683,8 @@ return processing_list /// Returns a list of things that the provided mob has, including any storage-capable implants. -/mob/living/proc/gather_belongings(accessories = TRUE, recursive = TRUE) - var/list/belongings = get_all_gear(accessories, recursive) +/mob/living/proc/gather_belongings(equipment_flags = INCLUDE_ACCESSORIES|INCLUDE_PROSTHETICS, recursive = TRUE) + var/list/belongings = get_all_gear(equipment_flags, recursive) for (var/obj/item/implant/storage/internal_bag in implants) belongings += internal_bag.contents return belongings @@ -679,7 +693,7 @@ /mob/living/proc/drop_everything(del_on_drop, force, del_if_nodrop) . = list() //list of items that were successfully dropped - var/list/all_gear = get_all_gear(recursive = FALSE) + var/list/all_gear = get_all_gear(INCLUDE_ACCESSORIES, recursive = FALSE) for(var/obj/item/item in all_gear) if(dropItemToGround(item, force)) if(QDELETED(item)) //DROPDEL can cause this item to be deleted @@ -688,7 +702,7 @@ qdel(item) continue . += item - else if(del_if_nodrop && !(item.item_flags & ABSTRACT)) + else if(del_if_nodrop) qdel(item) /** diff --git a/code/modules/mob/living/basic/bots/honkbots/honkbot.dm b/code/modules/mob/living/basic/bots/honkbots/honkbot.dm index 68fdb431a96..cc4469f8971 100644 --- a/code/modules/mob/living/basic/bots/honkbots/honkbot.dm +++ b/code/modules/mob/living/basic/bots/honkbots/honkbot.dm @@ -83,8 +83,7 @@ if(HAS_TRAIT(current_target, TRAIT_DEAF)) return - var/obj/item/organ/ears/target_ears = current_target.get_organ_slot(ORGAN_SLOT_EARS) - target_ears?.adjustEarDamage(0, 5) + sound_damage(deafen = 10 SECONDS) /mob/living/basic/bot/honkbot/ui_data(mob/user) var/list/data = ..() diff --git a/code/modules/mob/living/basic/bots/hygienebot/hygienebot_ai.dm b/code/modules/mob/living/basic/bots/hygienebot/hygienebot_ai.dm index 5c98365f33d..1d0c689bff4 100644 --- a/code/modules/mob/living/basic/bots/hygienebot/hygienebot_ai.dm +++ b/code/modules/mob/living/basic/bots/hygienebot/hygienebot_ai.dm @@ -86,7 +86,7 @@ found_target = wash_potential break - for(var/atom/clothing in wash_potential.get_equipped_items()) + for(var/atom/clothing in wash_potential.get_equipped_items(INCLUDE_HELD|INCLUDE_PROSTHETICS)) if(GET_ATOM_BLOOD_DNA_LENGTH(clothing)) found_target = wash_potential break diff --git a/code/modules/mob/living/basic/bots/medbot/medbot.dm b/code/modules/mob/living/basic/bots/medbot/medbot.dm index 9059e4a5247..4d2cf13f4b0 100644 --- a/code/modules/mob/living/basic/bots/medbot/medbot.dm +++ b/code/modules/mob/living/basic/bots/medbot/medbot.dm @@ -398,6 +398,7 @@ ACCESS_SURGERY, ACCESS_VIROLOGY, ACCESS_PHARMACY, + ACCESS_PARAMEDIC, ) honorifics = list("Medical Robot") honorific_positions = HONORIFIC_POSITION_FIRST | HONORIFIC_POSITION_LAST | HONORIFIC_POSITION_FIRST_FULL | HONORIFIC_POSITION_NONE diff --git a/code/modules/mob/living/basic/drone/verbs.dm b/code/modules/mob/living/basic/drone/verbs.dm index 833d37a3c89..a66d17048fd 100644 --- a/code/modules/mob/living/basic/drone/verbs.dm +++ b/code/modules/mob/living/basic/drone/verbs.dm @@ -30,5 +30,5 @@ var/area/A = get_area(loc) if(alert_s && A && stat != DEAD) - var/msg = span_boldnotice("DRONE PING: [name]: [alert_s] priority alert in [A.name]!") + var/msg = span_big("DRONE PING: [name]: [alert_s] priority alert in [A.name]!") alert_drones(msg) diff --git a/code/modules/mob/living/basic/lavaland/legion/legion_tumour.dm b/code/modules/mob/living/basic/lavaland/legion/legion_tumour.dm index 3505f7a368a..c6b5f574532 100644 --- a/code/modules/mob/living/basic/lavaland/legion/legion_tumour.dm +++ b/code/modules/mob/living/basic/lavaland/legion/legion_tumour.dm @@ -31,14 +31,10 @@ . = ..() animate_pulse() -/obj/item/organ/legion_tumour/apply_organ_damage(damage_amount, maximum, required_organ_flag) - var/was_failing = organ_flags & ORGAN_FAILING - . = ..() - if (was_failing != (organ_flags & ORGAN_FAILING)) - animate_pulse() +/obj/item/organ/legion_tumour/on_begin_failure() + animate_pulse() -/obj/item/organ/legion_tumour/set_organ_damage(damage_amount, required_organ_flag) - . = ..() +/obj/item/organ/legion_tumour/on_failure_recovery() animate_pulse() /// Do a heartbeat animation depending on if we're failing or not diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm index 1990112411a..246e74a1bd5 100644 --- a/code/modules/mob/living/brain/brain_item.dm +++ b/code/modules/mob/living/brain/brain_item.dm @@ -25,8 +25,6 @@ var/mob/living/brain/brainmob = null /// If it's a fake brain with no brainmob assigned. Feedback messages will be faked as if it does have a brainmob. See changelings & dullahans. var/decoy_override = FALSE - /// Two variables necessary for calculating whether we get a brain trauma or not - var/damage_delta = 0 var/list/datum/brain_trauma/traumas = list() @@ -347,34 +345,42 @@ owner.investigate_log("has been killed by brain damage.", INVESTIGATE_DEATHS) owner.death() -/obj/item/organ/brain/check_damage_thresholds(mob/M) +/obj/item/organ/brain/apply_organ_damage(damage_amount, maximum = maxHealth, required_organ_flag = NONE) . = ..() + var/delta_dam = . //for the sake of clarity + if(delta_dam <= 0 || damage < BRAIN_DAMAGE_MILD) + return + + if(prob(delta_dam * (1 + max(0, (damage - BRAIN_DAMAGE_MILD)/100)))) //Base chance is the hit damage; for every point of damage past the threshold the chance is increased by 1% //learn how to do your bloody math properly goddamnit + gain_trauma_type(BRAIN_TRAUMA_MILD, natural_gain = TRUE) + + var/is_boosted = (owner && HAS_TRAIT(owner, TRAIT_SPECIAL_TRAUMA_BOOST)) + if(damage < BRAIN_DAMAGE_SEVERE) + return + if(prob(delta_dam * (1 + max(0, (damage - BRAIN_DAMAGE_SEVERE)/100)))) //Base chance is the hit damage; for every point of damage past the threshold the chance is increased by 1% + if(prob(20 + (is_boosted * 30))) + gain_trauma_type(BRAIN_TRAUMA_SPECIAL, is_boosted ? TRAUMA_RESILIENCE_SURGERY : null, natural_gain = TRUE) + else + gain_trauma_type(BRAIN_TRAUMA_SEVERE, natural_gain = TRUE) + +/obj/item/organ/brain/check_damage_thresholds() + . = ..() + if(!owner) + return // If we crossed blinking brain damage thresholds either way, update our blinking - if (owner && ((prev_damage > BRAIN_DAMAGE_ASYNC_BLINKING && damage < BRAIN_DAMAGE_ASYNC_BLINKING) || (prev_damage < BRAIN_DAMAGE_ASYNC_BLINKING && damage > BRAIN_DAMAGE_ASYNC_BLINKING))) + if((prev_damage >= BRAIN_DAMAGE_ASYNC_BLINKING && damage < BRAIN_DAMAGE_ASYNC_BLINKING) || (prev_damage < BRAIN_DAMAGE_ASYNC_BLINKING && damage >= BRAIN_DAMAGE_ASYNC_BLINKING)) var/obj/item/organ/eyes/eyes = owner.get_organ_slot(ORGAN_SLOT_EYES) if(eyes?.blink_animation) eyes.animate_eyelids(owner) + if(damage >= 60 && prev_damage < 60) + owner.add_mood_event("brain_damage", /datum/mood_event/brain_damage) + else if(prev_damage >= 60 && damage < 60) + owner.clear_mood_event("brain_damage") // If we're not more injured than before, return without gambling for a trauma if(damage <= prev_damage) return - damage_delta = damage - prev_damage - if(damage > BRAIN_DAMAGE_MILD) - if(prob(damage_delta * (1 + max(0, (damage - BRAIN_DAMAGE_MILD)/100)))) //Base chance is the hit damage; for every point of damage past the threshold the chance is increased by 1% //learn how to do your bloody math properly goddamnit - gain_trauma_type(BRAIN_TRAUMA_MILD, natural_gain = TRUE) - - var/is_boosted = (owner && HAS_TRAIT(owner, TRAIT_SPECIAL_TRAUMA_BOOST)) - if(damage > BRAIN_DAMAGE_SEVERE) - if(prob(damage_delta * (1 + max(0, (damage - BRAIN_DAMAGE_SEVERE)/100)))) //Base chance is the hit damage; for every point of damage past the threshold the chance is increased by 1% - if(prob(20 + (is_boosted * 30))) - gain_trauma_type(BRAIN_TRAUMA_SPECIAL, is_boosted ? TRAUMA_RESILIENCE_SURGERY : null, natural_gain = TRUE) - else - gain_trauma_type(BRAIN_TRAUMA_SEVERE, natural_gain = TRUE) - - if (!owner || owner.stat > UNCONSCIOUS) - return - // Conscious or soft-crit var/brain_message if(prev_damage < BRAIN_DAMAGE_MILD && damage >= BRAIN_DAMAGE_MILD) @@ -667,15 +673,6 @@ amount_cured++ return amount_cured -/obj/item/organ/brain/apply_organ_damage(damage_amount, maximum = maxHealth, required_organ_flag = NONE) - . = ..() - if(!owner) - return FALSE - if(damage >= 60) - owner.add_mood_event("brain_damage", /datum/mood_event/brain_damage) - else - owner.clear_mood_event("brain_damage") - /// This proc lets the mob's brain decide what bodypart to attack with in an unarmed strike. /obj/item/organ/brain/proc/get_attacking_limb(mob/living/carbon/human/target) var/obj/item/bodypart/arm/active_hand = owner.get_active_hand() diff --git a/code/modules/mob/living/carbon/alien/alien_defense.dm b/code/modules/mob/living/carbon/alien/alien_defense.dm index e5c5731dc03..e0892cbaf8e 100644 --- a/code/modules/mob/living/carbon/alien/alien_defense.dm +++ b/code/modules/mob/living/carbon/alien/alien_defense.dm @@ -71,22 +71,19 @@ In all, this is a lot like the monkey code. /N if(!. || QDELETED(src)) return FALSE - var/obj/item/organ/ears/ears = get_organ_slot(ORGAN_SLOT_EARS) switch (severity) if (EXPLODE_DEVASTATE) gib(DROP_ALL_REMAINS) if (EXPLODE_HEAVY) take_overall_damage(60, 60) - if(ears) - ears.adjustEarDamage(30,120) + sound_damage(30, 240 SECONDS) if(EXPLODE_LIGHT) take_overall_damage(30,0) if(prob(50)) Unconscious(20) - if(ears) - ears.adjustEarDamage(15,60) + sound_damage(15, 120 SECONDS) return TRUE diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 51d1f668a8e..27482acc9e5 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -517,7 +517,7 @@ */ /mob/living/carbon/proc/update_tint() var/tint = 0 - for(var/obj/item/clothing/worn_item in get_equipped_items()) + for(var/obj/item/clothing/worn_item in get_equipped_items(INCLUDE_ABSTRACT)) tint += worn_item.tint var/obj/item/organ/eyes/eyes = get_organ_slot(ORGAN_SLOT_EYES) diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 50b4bec3c76..41f8b00e7c7 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -16,6 +16,17 @@ if(isclothing(wear_mask)) //Mask . += wear_mask.flash_protect +/mob/living/carbon/sound_damage(damage, deafen) + if(HAS_TRAIT(src, TRAIT_GODMODE)) + return + var/obj/item/organ/ears/ears = get_organ_slot(ORGAN_SLOT_EARS) + if(QDELETED(ears)) + return + if(damage) + ears.apply_organ_damage(damage * ears.damage_multiplier) + if(deafen) + ears.adjust_temporary_deafness(deafen) + /mob/living/carbon/get_ear_protection() . = ..() if(HAS_TRAIT(src, TRAIT_DEAF)) @@ -56,7 +67,7 @@ return null /mob/living/carbon/is_ears_covered() - for(var/obj/item/worn_thing as anything in get_equipped_items()) + for(var/obj/item/worn_thing as anything in get_equipped_items(INCLUDE_ABSTRACT)) if(worn_thing.flags_cover & EARS_COVERED) return worn_thing @@ -558,8 +569,8 @@ if(ears && (deafen_pwr || damage_pwr)) var/ear_damage = damage_pwr * effect_amount - var/deaf = deafen_pwr * effect_amount - ears.adjustEarDamage(ear_damage,deaf) + var/deaf = deafen_pwr * effect_amount * 2 SECONDS + sound_damage(ear_damage, deaf) . = effect_amount //how soundbanged we are SEND_SOUND(src, sound('sound/items/weapons/flash_ring.ogg',0,1,0,250)) diff --git a/code/modules/mob/living/carbon/carbon_update_icons.dm b/code/modules/mob/living/carbon/carbon_update_icons.dm index f2258a18e31..e5deaf8f163 100644 --- a/code/modules/mob/living/carbon/carbon_update_icons.dm +++ b/code/modules/mob/living/carbon/carbon_update_icons.dm @@ -20,7 +20,7 @@ if(OFFSET_HEAD) update_worn_head() if(OFFSET_FACE) - dna?.species?.update_face_offset(src) // updates eye and lipstick icon + update_face_offset() // updates eye and lipstick icon update_worn_mask() if(OFFSET_BELT) update_worn_belt() @@ -49,7 +49,6 @@ SEND_SIGNAL(src, COMSIG_CARBON_REMOVE_OVERLAY, cache_index, I) /mob/living/carbon/update_body(is_creating = FALSE) - dna?.species.handle_body(src) update_body_parts(is_creating) /mob/living/carbon/on_changed_z_level(turf/old_turf, turf/new_turf, same_z_layer, notify_contents) @@ -524,6 +523,9 @@ apply_overlay(BODYPARTS_LAYER) +/mob/living/carbon/proc/update_face_offset() + return + ///////////////////////// // Limb Icon Cache 2.0 // ///////////////////////// diff --git a/code/modules/mob/living/carbon/human/_species.dm b/code/modules/mob/living/carbon/human/_species.dm index 64a21366e35..9cb84c3015d 100644 --- a/code/modules/mob/living/carbon/human/_species.dm +++ b/code/modules/mob/living/carbon/human/_species.dm @@ -499,88 +499,6 @@ GLOBAL_LIST_EMPTY(features_by_species) human.living_flags &= ~STOP_OVERLAY_UPDATE_BODY_PARTS -/** - * Handles the body of a human - * - * Handles lipstick, having no eyes, eye color, undergarnments like underwear, undershirts, and socks, and body layers. - * Arguments: - * * species_human - Human, whoever we're handling the body for - */ -//SKYRAT EDIT REMOVAL BEGIN - CUSTOMIZATION (moved to modular) -/* -/datum/species/proc/handle_body(mob/living/carbon/human/species_human) - species_human.remove_overlay(BODY_LAYER) - species_human.remove_overlay(EYES_LAYER) - - if(HAS_TRAIT(species_human, TRAIT_INVISIBLE_MAN)) - return - - if(!HAS_TRAIT(species_human, TRAIT_HUSK)) - var/obj/item/bodypart/head/noggin = species_human.get_bodypart(BODY_ZONE_HEAD) - if(noggin?.head_flags & HEAD_EYESPRITES) - // eyes (missing eye sprites get handled by the head itself, but sadly we have to do this stupid shit here, for now) - var/obj/item/organ/eyes/eye_organ = species_human.get_organ_slot(ORGAN_SLOT_EYES) - if(eye_organ) - eye_organ.refresh(call_update = FALSE) - species_human.overlays_standing[EYES_LAYER] = eye_organ.generate_body_overlay(species_human) - species_human.apply_overlay(EYES_LAYER) - - if(HAS_TRAIT(species_human, TRAIT_NO_UNDERWEAR)) - return - - // Underwear, Undershirts & Socks - var/list/standing = list() - if(species_human.underwear) - var/datum/sprite_accessory/underwear/underwear = SSaccessories.underwear_list[species_human.underwear] - var/mutable_appearance/underwear_overlay - if(underwear) - if(species_human.dna.species.sexes && species_human.physique == FEMALE && (underwear.gender == MALE)) - underwear_overlay = mutable_appearance(wear_female_version(underwear.icon_state, underwear.icon, FEMALE_UNIFORM_FULL), layer = -BODY_LAYER) - else - underwear_overlay = mutable_appearance(underwear.icon, underwear.icon_state, -BODY_LAYER) - if(!underwear.use_static) - underwear_overlay.color = species_human.underwear_color - standing += underwear_overlay - - if(species_human.undershirt) - var/datum/sprite_accessory/undershirt/undershirt = SSaccessories.undershirt_list[species_human.undershirt] - if(undershirt) - var/mutable_appearance/working_shirt - if(species_human.dna.species.sexes && species_human.physique == FEMALE) - working_shirt = mutable_appearance(wear_female_version(undershirt.icon_state, undershirt.icon), layer = -BODY_LAYER) - else - working_shirt = mutable_appearance(undershirt.icon, undershirt.icon_state, layer = -BODY_LAYER) - standing += working_shirt - - if(species_human.socks && species_human.num_legs >= 2 && !(species_human.bodyshape & BODYSHAPE_DIGITIGRADE)) - var/datum/sprite_accessory/socks/socks = SSaccessories.socks_list[species_human.socks] - if(socks) - standing += mutable_appearance(socks.icon, socks.icon_state, -BODY_LAYER) - - if(standing.len) - species_human.overlays_standing[BODY_LAYER] = standing - - species_human.apply_overlay(BODY_LAYER) - */ -//SKYRAT EDIT REMOVAL END - -/// Updates face (as of now, only eye) offsets -/datum/species/proc/update_face_offset(mob/living/carbon/human/species_human) - var/list/eye_overlays = species_human.overlays_standing[EYES_LAYER] - species_human.remove_overlay(EYES_LAYER) - - if(HAS_TRAIT(species_human, TRAIT_INVISIBLE_MAN) || HAS_TRAIT(species_human, TRAIT_HUSK) || !length(eye_overlays)) - return - - var/obj/item/bodypart/head/noggin = species_human.get_bodypart(BODY_ZONE_HEAD) - for (var/mutable_appearance/overlay as anything in eye_overlays) - overlay.pixel_w = 0 - overlay.pixel_z = 0 - noggin.worn_face_offset.apply_offset(overlay) - - species_human.overlays_standing[EYES_LAYER] = eye_overlays - species_human.apply_overlay(EYES_LAYER) - // This exists so sprite accessories can still be per-layer without having to include that layer's // number in their sprite name, which causes issues when those numbers change. /datum/species/proc/mutant_bodyparts_layertext(layer) diff --git a/code/modules/mob/living/carbon/human/dummy.dm b/code/modules/mob/living/carbon/human/dummy.dm index 2d181758915..134cec10892 100644 --- a/code/modules/mob/living/carbon/human/dummy.dm +++ b/code/modules/mob/living/carbon/human/dummy.dm @@ -45,7 +45,7 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy) //Instead of just deleting our equipment, we save what we can and reinsert it into SSwardrobe's store //Hopefully this makes preference reloading not the worst thing ever /mob/living/carbon/human/dummy/delete_equipment() - var/list/items_to_check = get_equipped_items(INCLUDE_POCKETS | INCLUDE_HELD) + var/list/items_to_check = get_equipped_items(INCLUDE_POCKETS|INCLUDE_HELD|INCLUDE_PROSTHETICS|INCLUDE_ABSTRACT) var/list/to_nuke = list() //List of items queued for deletion, can't qdel them before iterating their contents in case they hold something ///Travel to the bottom of the contents chain, expanding it out for(var/i = 1; i <= length(items_to_check); i++) //Needs to be a c style loop since it can expand @@ -82,6 +82,7 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy) /mob/living/carbon/human/dummy/proc/wipe_state() delete_equipment() + update_lips(null, null, null, update = FALSE) cut_overlays(TRUE) /mob/living/carbon/human/dummy/setup_human_dna() @@ -158,6 +159,21 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy) /mob/living/carbon/human/consistent/domutcheck() return // We skipped adding any mutations so this runtimes +/mob/living/carbon/human/consistent/slow + +#ifdef UNIT_TESTS +//unit test dummies should be very fast with actions +/mob/living/carbon/human/dummy/consistent/initialize_actionspeed() + add_or_update_variable_actionspeed_modifier(/datum/actionspeed_modifier/base, multiplicative_slowdown = -1) + +/mob/living/carbon/human/consistent/initialize_actionspeed() + add_or_update_variable_actionspeed_modifier(/datum/actionspeed_modifier/base, multiplicative_slowdown = -1) + +//this one gives us a small window of time for checks on asynced actions. +/mob/living/carbon/human/consistent/slow/initialize_actionspeed() + add_or_update_variable_actionspeed_modifier(/datum/actionspeed_modifier/base, multiplicative_slowdown = 0.1) +#endif + //Inefficient pooling/caching way. GLOBAL_LIST_EMPTY(human_dummy_list) GLOBAL_LIST_EMPTY(dummy_mob_list) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 0f98dbe0c0c..b8ab8ba0d13 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1148,7 +1148,7 @@ var/chest_covered = FALSE var/head_covered = FALSE var/hands_covered = FALSE - for (var/obj/item/clothing/equipped in get_equipped_items()) + for (var/obj/item/clothing/equipped in get_equipped_items(INCLUDE_ABSTRACT)) // We don't really have space-proof gloves, so even if we're checking them we ignore the flags if ((equipped.body_parts_covered & HANDS) && num_hands >= default_num_hands) hands_covered = TRUE diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index a9747075efb..2682492f4bb 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -34,7 +34,7 @@ ///Get all the clothing on a specific body part /mob/living/carbon/human/proc/get_clothing_on_part(obj/item/bodypart/def_zone) var/list/covering_part = list() - for(var/obj/item/clothing/equipped in get_equipped_items()) + for(var/obj/item/clothing/equipped in get_equipped_items(INCLUDE_ABSTRACT)) if(equipped.body_parts_covered & def_zone.body_part) covering_part += equipped return covering_part @@ -85,7 +85,7 @@ return SUCCESSFUL_BLOCK var/block_chance_modifier = round(damage / -3) - for(var/obj/item/worn_thing in get_equipped_items(INCLUDE_HELD)) + for(var/obj/item/worn_thing in get_equipped_items(INCLUDE_HELD|INCLUDE_PROSTHETICS|INCLUDE_ABSTRACT)) // Things that are supposed to be worn, being held = cannot block if(isclothing(worn_thing)) if(worn_thing in held_items) @@ -275,7 +275,6 @@ //200 max knockdown for EXPLODE_HEAVY //160 max knockdown for EXPLODE_LIGHT - var/obj/item/organ/ears/ears = get_organ_slot(ORGAN_SLOT_EARS) switch (severity) if (EXPLODE_DEVASTATE) if(bomb_armor < EXPLODE_GIB_THRESHOLD) //gibs the mob if their bomb armor is lower than EXPLODE_GIB_THRESHOLD @@ -303,8 +302,8 @@ brute_loss = 30*(2 - round(bomb_armor*0.01, 0.05)) burn_loss = brute_loss //damage gets reduced from 120 to up to 60 combined brute+burn damage_clothes(200 - bomb_armor, BRUTE, BOMB) - if (ears && !HAS_TRAIT_FROM_ONLY(src, TRAIT_DEAF, EAR_DAMAGE)) - ears.adjustEarDamage(30, 120) + if (!HAS_TRAIT_FROM(src, TRAIT_DEAF, EAR_DAMAGE)) + sound_damage(30, 240 SECONDS) Unconscious(20) //short amount of time for follow up attacks against elusive enemies like wizards Knockdown(200 - (bomb_armor * 1.6)) //between ~4 and ~20 seconds of knockdown depending on bomb armor @@ -313,8 +312,8 @@ if(bomb_armor) brute_loss = 15*(2 - round(bomb_armor*0.01, 0.05)) damage_clothes(max(50 - bomb_armor, 0), BRUTE, BOMB) - if (ears && !HAS_TRAIT_FROM_ONLY(src, TRAIT_DEAF, EAR_DAMAGE)) - ears.adjustEarDamage(15,60) + if (!HAS_TRAIT_FROM(src, TRAIT_DEAF, EAR_DAMAGE)) + sound_damage(15, 120 SECONDS) Knockdown(160 - (bomb_armor * 1.6)) //100 bomb armor will prevent knockdown altogether take_overall_damage(brute_loss,burn_loss) diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 9ab1e7b575f..6eea5ca25a1 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -1191,6 +1191,82 @@ mutant_styles: The mutant style - taur bodytype, STYLE_TESHARI, etc. // SKYRAT E observers = null break +/mob/living/carbon/human/update_body(is_creating = FALSE) + update_eyes() + update_underwear() + return ..() + +/mob/living/carbon/human/proc/update_underwear() // OVERRIDDEN IN MODULAR_ZUBBERS + remove_overlay(BODY_LAYER) + if(HAS_TRAIT(src, TRAIT_HUSK) || HAS_TRAIT(src, TRAIT_INVISIBLE_MAN)) + return + // Underwear, Undershirts & Socks + var/list/standing = list() + if(underwear) + var/datum/sprite_accessory/underwear/undie_accessory = SSaccessories.underwear_list[underwear] + var/mutable_appearance/underwear_overlay + if(undie_accessory) + if(dna.species.sexes && physique == FEMALE && (undie_accessory.gender == MALE)) + underwear_overlay = mutable_appearance(wear_female_version(undie_accessory.icon_state, undie_accessory.icon, FEMALE_UNIFORM_FULL), layer = -BODY_LAYER) + else + underwear_overlay = mutable_appearance(undie_accessory.icon, undie_accessory.icon_state, -BODY_LAYER) + if(!undie_accessory.use_static) + underwear_overlay.color = underwear_color + standing += underwear_overlay + + if(undershirt) + var/datum/sprite_accessory/undershirt/undie_accessory = SSaccessories.undershirt_list[undershirt] + if(undie_accessory) + var/mutable_appearance/working_shirt + if(dna.species.sexes && physique == FEMALE) + working_shirt = mutable_appearance(wear_female_version(undie_accessory.icon_state, undie_accessory.icon), layer = -BODY_LAYER) + else + working_shirt = mutable_appearance(undie_accessory.icon, undie_accessory.icon_state, layer = -BODY_LAYER) + standing += working_shirt + + if(socks && num_legs >= 2 && !(bodyshape & BODYSHAPE_DIGITIGRADE)) + var/datum/sprite_accessory/socks/undie_accessory = SSaccessories.socks_list[socks] + if(undie_accessory) + standing += mutable_appearance(undie_accessory.icon, undie_accessory.icon_state, -BODY_LAYER) + + if(standing.len) + overlays_standing[BODY_LAYER] = standing + + apply_overlay(BODY_LAYER) + +/mob/living/carbon/human/proc/update_eyes() + remove_overlay(EYES_LAYER) + if(HAS_TRAIT(src, TRAIT_HUSK) || HAS_TRAIT(src, TRAIT_INVISIBLE_MAN)) + return + var/obj/item/bodypart/head/noggin = get_bodypart(BODY_ZONE_HEAD) + if(!(noggin?.head_flags & HEAD_EYESPRITES)) + return + // eyes (missing eye sprites get handled by the head itself, but sadly we have to do this stupid shit here, for now) + var/obj/item/organ/eyes/eye_organ = get_organ_slot(ORGAN_SLOT_EYES) + if(eye_organ) + eye_organ.refresh(call_update = FALSE) + overlays_standing[EYES_LAYER] = eye_organ.generate_body_overlay(src) + apply_overlay(EYES_LAYER) + +/// Updates face (as of now, only eye) offsets +/mob/living/carbon/human/update_face_offset() + var/list/eye_overlays = overlays_standing[EYES_LAYER] + + if(HAS_TRAIT(src, TRAIT_INVISIBLE_MAN) || HAS_TRAIT(src, TRAIT_HUSK) || !length(eye_overlays)) + return + + remove_overlay(EYES_LAYER) + + var/obj/item/bodypart/head/noggin = get_bodypart(BODY_ZONE_HEAD) + for (var/mutable_appearance/overlay as anything in eye_overlays) + overlay.pixel_w = 0 + overlay.pixel_z = 0 + noggin.worn_face_offset.apply_offset(overlay) + + overlays_standing[EYES_LAYER] = eye_overlays + apply_overlay(EYES_LAYER) + + // Only renders the head of the human /mob/living/carbon/human/proc/update_body_parts_head_only(update_limb_data) if(!dna?.species) @@ -1259,7 +1335,7 @@ mutant_styles: The mutant style - taur bodytype, STYLE_TESHARI, etc. // SKYRAT E // hardcoding this here until bodypart updating is more sane // we need to update clothing items that may have been affected by bodyshape updates if(check_shapes & BODYSHAPE_DIGITIGRADE) - for(var/obj/item/thing as anything in get_equipped_items()) + for(var/obj/item/thing as anything in get_equipped_items(INCLUDE_PROSTHETICS|INCLUDE_ABSTRACT)) if(thing.slot_flags & ignore_slots) continue if(thing.supports_variations_flags & DIGITIGRADE_VARIATIONS) diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 57590ce9602..967347c97f2 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -362,7 +362,7 @@ //delete all equipment without dropping anything /mob/living/carbon/human/proc/delete_equipment() - for(var/slot in get_equipped_items(INCLUDE_POCKETS))//order matters, dependant slots go first + for(var/slot in get_equipped_items(INCLUDE_POCKETS|INCLUDE_HELD))//order matters, dependant slots go first qdel(slot) for(var/obj/item/held_item in held_items) qdel(held_item) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 7990bbb3219..b6b9e8055db 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -54,7 +54,7 @@ var/head_covered = !get_bodypart(BODY_ZONE_HEAD) var/hands_covered = !get_bodypart(BODY_ZONE_L_ARM) && !get_bodypart(BODY_ZONE_R_ARM) var/feet_covered = !get_bodypart(BODY_ZONE_L_LEG) && !get_bodypart(BODY_ZONE_R_LEG) - for(var/obj/item/clothing/equipped in get_equipped_items()) + for(var/obj/item/clothing/equipped in get_equipped_items(INCLUDE_ABSTRACT)) if(!chest_covered && (equipped.body_parts_covered & CHEST) && (equipped.clothing_flags & STOPSPRESSUREDAMAGE)) chest_covered = TRUE if(!head_covered && (equipped.body_parts_covered & HEAD) && (equipped.clothing_flags & STOPSPRESSUREDAMAGE)) 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 91187cda0ce..2eace82f4e9 100644 --- a/code/modules/mob/living/carbon/human/species_types/felinid.dm +++ b/code/modules/mob/living/carbon/human/species_types/felinid.dm @@ -7,6 +7,7 @@ mutanttongue = /obj/item/organ/tongue/cat /* SKYRAT EDIT REMOVAL - CUSTOMIZATION mutantears = /obj/item/organ/ears/cat + mutanteyes = /obj/item/organ/eyes/felinid mutant_organs = list( /obj/item/organ/tail/cat = "Cat", ) diff --git a/code/modules/mob/living/carbon/inventory.dm b/code/modules/mob/living/carbon/inventory.dm index 8ab03201807..01a39ebf7b2 100644 --- a/code/modules/mob/living/carbon/inventory.dm +++ b/code/modules/mob/living/carbon/inventory.dm @@ -65,9 +65,7 @@ /mob/living/carbon/proc/get_visible_items() var/list/visible_items = list() var/obscured_item_slots = hidden_slots_to_inventory_slots(obscured_slots) - for (var/obj/item/held in held_items) - visible_items += held - for(var/obj/item/thing in get_equipped_items()) + for(var/obj/item/thing in get_equipped_items(INCLUDE_HELD|INCLUDE_PROSTHETICS)) if(!(get_slot_by_item(thing) & obscured_item_slots)) visible_items += thing return visible_items @@ -166,7 +164,7 @@ return not_handled /mob/living/carbon/get_equipped_speed_mod_items() - return ..() + get_equipped_items() + return ..() + get_equipped_items(INCLUDE_ABSTRACT) /mob/living/carbon/has_equipped(obj/item/item, slot, initial = FALSE) . = ..() @@ -426,7 +424,7 @@ SHOULD_NOT_OVERRIDE(TRUE) var/covered_flags = NONE - var/list/all_worn_items = get_equipped_items() + var/list/all_worn_items = get_equipped_items(INCLUDE_ABSTRACT) for(var/obj/item/worn_item in all_worn_items) covered_flags |= worn_item.body_parts_covered @@ -437,7 +435,7 @@ SHOULD_NOT_OVERRIDE(TRUE) var/covered_flags = NONE - var/list/all_worn_items = get_equipped_items() + var/list/all_worn_items = get_equipped_items(INCLUDE_ABSTRACT) for(var/obj/item/worn_item in all_worn_items) covered_flags |= worn_item.body_parts_covered diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 6b55dfcf531..adaac6681c5 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1244,7 +1244,9 @@ var/mob/living/carbon/human/human_puller = pulledby var/obj/item/bodypart/grabbing_bodypart = human_puller.get_active_hand() if(grabbing_bodypart) - damage_on_resist_fail += rand(grabbing_bodypart.unarmed_damage_low, grabbing_bodypart.unarmed_damage_high) + damage_on_resist_fail += (rand(grabbing_bodypart.unarmed_damage_low, grabbing_bodypart.unarmed_damage_high)) + grabbing_bodypart.unarmed_grab_damage_bonus + effective_grab_state += grabbing_bodypart.unarmed_grab_state_bonus + escape_chance += grabbing_bodypart.unarmed_grab_escape_chance_bonus //If our puller is a drunken brawler, they add more damage based on their own damage taken so long as they're drunk and treat the grab state as one higher var/puller_drunkenness = human_puller.get_drunk_amount() diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index e53eb656e38..b32baa07596 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -37,6 +37,10 @@ /mob/living/proc/get_eye_protection() return 0 +///A easy to use proc to apply both organ damage and temporary deafness at once, so you don't have to get the ears everytime. +/mob/living/proc/sound_damage(damage, deafen) + return + //this returns the mob's protection against ear damage (0:no protection; 1: some ear protection; 2: has no ears) /mob/living/proc/get_ear_protection() var/turf/current_turf = get_turf(src) diff --git a/code/modules/mob/living/simple_animal/bot/construction.dm b/code/modules/mob/living/simple_animal/bot/construction.dm index b424fe74344..09695f78e65 100644 --- a/code/modules/mob/living/simple_animal/bot/construction.dm +++ b/code/modules/mob/living/simple_animal/bot/construction.dm @@ -6,23 +6,17 @@ force = 3 throw_speed = 2 throw_range = 5 + obj_flags = UNIQUE_RENAME | RENAME_NO_DESC var/created_name var/build_step = ASSEMBLY_FIRST_STEP var/robot_arm = /obj/item/bodypart/arm/right/robot -/obj/item/bot_assembly/attackby(obj/item/I, mob/user, list/modifiers, list/attack_modifiers) - ..() - if(IS_WRITING_UTENSIL(I)) - rename_bot() - return +/obj/item/bot_assembly/nameformat(input, user) + created_name = input + return input -/obj/item/bot_assembly/proc/rename_bot() - var/t = sanitize_name(tgui_input_text(usr, "Enter a new robot name", "Robot Rename", created_name, MAX_NAME_LEN), allow_numbers = TRUE) - if(!t) - return - if(!in_range(src, usr) && loc != usr) - return - created_name = t +/obj/item/bot_assembly/rename_reset() + created_name = initial(created_name) /** * Checks if the user can finish constructing a bot with a given item. diff --git a/code/modules/mob/living/ventcrawling.dm b/code/modules/mob/living/ventcrawling.dm index 3727e359a88..a0542c22dcd 100644 --- a/code/modules/mob/living/ventcrawling.dm +++ b/code/modules/mob/living/ventcrawling.dm @@ -49,7 +49,7 @@ to_chat(src, span_warning("You can't vent crawl while buckled!")) return if(iscarbon(src) && required_nudity && !signal_result) // BUBBER CHANGE - VENTCRAWLING SIGNAL - if(length(get_equipped_items(INCLUDE_POCKETS)) || get_num_held_items()) + if(length(get_equipped_items(INCLUDE_POCKETS|INCLUDE_HELD))) if(provide_feedback) to_chat(src, span_warning("You can't crawl around in the ventilation ducts with items!")) return diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 4decc4a213e..6ff307bc326 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1358,8 +1358,7 @@ if(!writing_instrument) return FALSE - var/pen_info = writing_instrument.get_writing_implement_details() - if(!pen_info || (pen_info["interaction_mode"] != MODE_WRITING)) + if(!IS_WRITING_UTENSIL(writing_instrument)) if(!silent_if_not_writing_tool) to_chat(src, span_warning("You can't write with \the [writing_instrument]!")) return FALSE @@ -1440,6 +1439,7 @@ VV_DROPDOWN_OPTION(VV_HK_GIVE_DIRECT_CONTROL, "Give Direct Control") VV_DROPDOWN_OPTION(VV_HK_OFFER_GHOSTS, "Offer Control to Ghosts") VV_DROPDOWN_OPTION(VV_HK_VIEW_PLANES, "View/Edit Planes") + VV_DROPDOWN_OPTION(VV_HK_GIVE_ACCESS, "Give Access") /mob/vv_do_topic(list/href_list) . = ..() @@ -1513,6 +1513,12 @@ if(!check_rights(R_DEBUG)) return usr.client.edit_plane_masters(src) + + if(href_list[VV_HK_GIVE_ACCESS]) + if(!check_rights(NONE)) + return + AddComponent(/datum/component/simple_access, SSid_access.get_region_access_list(list(REGION_ALL_GLOBAL))) + to_chat(usr, span_notice("Access granted.")) /** * extra var handling for the logging var */ diff --git a/code/modules/mod/mod_theme.dm b/code/modules/mod/mod_theme.dm index df33739bab0..c749d6837c2 100644 --- a/code/modules/mod/mod_theme.dm +++ b/code/modules/mod/mod_theme.dm @@ -643,6 +643,7 @@ /obj/item/storage/pill_bottle, /obj/item/storage/bag/chemistry, /obj/item/storage/bag/bio, + /obj/item/crowbar/power/paramedic, ) variants = list( "medical" = list( diff --git a/code/modules/mod/modules/modules_antag.dm b/code/modules/mod/modules/modules_antag.dm index 7f6789affff..6b7d814aa3e 100644 --- a/code/modules/mod/modules/modules_antag.dm +++ b/code/modules/mod/modules/modules_antag.dm @@ -500,7 +500,7 @@ var/list/things_to_disrupt = list(target) if(isliving(target)) var/mob/living/live_target = target - things_to_disrupt += live_target.get_all_gear() + things_to_disrupt += live_target.get_all_gear(INCLUDE_PROSTHETICS|INCLUDE_ABSTRACT|INCLUDE_ACCESSORIES) for(var/atom/disrupted as anything in things_to_disrupt) if(disrupted.on_saboteur(src, 1 MINUTES)) diff --git a/code/modules/modular_computers/file_system/programs/maintenance/camera.dm b/code/modules/modular_computers/file_system/programs/maintenance/camera.dm index b7934c9c0b3..bb5641ef9ba 100644 --- a/code/modules/modular_computers/file_system/programs/maintenance/camera.dm +++ b/code/modules/modular_computers/file_system/programs/maintenance/camera.dm @@ -27,22 +27,30 @@ . = ..() internal_camera = new(computer) internal_camera.print_picture_on_snap = FALSE + RegisterSignal(internal_camera, COMSIG_CAMERA_IMAGE_CAPTURED, PROC_REF(save_picture)) /datum/computer_file/program/maintenance/camera/Destroy() - if(internal_camera) - QDEL_NULL(internal_camera) - if(internal_picture) - QDEL_NULL(internal_picture) + QDEL_NULL(internal_camera) + QDEL_NULL(internal_picture) return ..() /datum/computer_file/program/maintenance/camera/tap(atom/tapped_atom, mob/living/user, list/modifiers) . = ..() - if(internal_picture) - QDEL_NULL(internal_picture) + + QDEL_NULL(internal_picture) + if(internal_camera.blending) + user.balloon_alert(user, "still blending!") + return + var/turf/our_turf = get_turf(tapped_atom) var/spooky_camera = locate(/datum/computer_file/program/maintenance/spectre_meter) in computer.stored_files internal_camera.see_ghosts = spooky_camera ? CAMERA_SEE_GHOSTS_BASIC : CAMERA_NO_GHOSTS - internal_picture = internal_camera.captureimage(our_turf, user, internal_camera.picture_size_x + 1, internal_camera.picture_size_y + 1) + INVOKE_ASYNC(internal_camera, TYPE_PROC_REF(/obj/item/camera, captureimage), our_turf, user, internal_camera.picture_size_x + 1, internal_camera.picture_size_y + 1) + +/datum/computer_file/program/maintenance/camera/proc/save_picture(cam, target, user, datum/picture/picture) + SIGNAL_HANDLER + + internal_picture = picture picture_number++ computer.save_photo(internal_picture.picture_image) @@ -62,7 +70,7 @@ switch(action) if("print_photo") if(computer.stored_paper <= 0) - to_chat(usr, span_notice("Hardware error: Printer out of paper.")) + to_chat(ui.user, span_notice("Hardware error: Printer out of paper.")) return internal_camera.printpicture(usr, internal_picture) computer.stored_paper-- diff --git a/code/modules/pai/card.dm b/code/modules/pai/card.dm index eba717bdb1d..0c394227c6c 100644 --- a/code/modules/pai/card.dm +++ b/code/modules/pai/card.dm @@ -122,6 +122,7 @@ name = pai.name, transmit = pai.can_transmit, receive = pai.can_receive, + leashed = pai.leash, range = pai.leash?.distance, ) return data @@ -156,6 +157,9 @@ if("toggle_holo") pai.toggle_holo() return TRUE + if("toggle_leash") + pai.toggle_leash() + return TRUE if("toggle_radio") pai.toggle_radio(params["option"]) return TRUE diff --git a/code/modules/pai/pai.dm b/code/modules/pai/pai.dm index cd69226a886..d71665be8db 100644 --- a/code/modules/pai/pai.dm +++ b/code/modules/pai/pai.dm @@ -216,16 +216,23 @@ pai_card.set_personality(src) card = pai_card forceMove(pai_card) - leash = AddComponent(/datum/component/leash, pai_card, HOLOFORM_DEFAULT_RANGE, force_teleport_out_effect = /obj/effect/temp_visual/guardian/phase/out) + toggle_leash() addtimer(VARSET_WEAK_CALLBACK(src, holochassis_ready, TRUE), HOLOCHASSIS_INIT_TIME) if(!holoform) add_traits(list(TRAIT_IMMOBILIZED, TRAIT_HANDS_BLOCKED), PAI_FOLDED) update_appearance(UPDATE_DESC) - RegisterSignal(src, COMSIG_LIVING_CULT_SACRIFICED, PROC_REF(on_cult_sacrificed)) RegisterSignals(src, list(COMSIG_LIVING_ADJUST_BRUTE_DAMAGE, COMSIG_LIVING_ADJUST_BURN_DAMAGE), PROC_REF(on_shell_damaged)) RegisterSignal(src, COMSIG_LIVING_ADJUST_STAMINA_DAMAGE, PROC_REF(on_shell_weakened)) +/mob/living/silicon/pai/proc/toggle_leash() + if(isnull(card)) + return + if(leash) + QDEL_NULL(leash) + else + leash = AddComponent(/datum/component/leash, card, HOLOFORM_DEFAULT_RANGE, force_teleport_out_effect = /obj/effect/temp_visual/guardian/phase/out) + /mob/living/silicon/pai/create_modularInterface() if(!modularInterface) modularInterface = new /obj/item/modular_computer/pda/silicon/pai(src) @@ -257,12 +264,7 @@ SEND_SIGNAL(src, COMSIG_LIVING_HEALTH_UPDATE) /mob/living/silicon/pai/update_desc(updates) -// BUBBER EDIT START: PAI ReLeashed: ORIGINAL: desc = "A hard-light holographic avatar representing a pAI. This one appears in the form of a [chassis]." - if(!holo_leash) - desc = "A pAI mobile hard-light holographics emitter. This one appears in the form of a [chassis]." - else - desc = "A hard-light holographic avatar representing a pAI. This one appears in the form of a [chassis]." -// BUBBER EDIT END + desc = "A hard-light holographic avatar representing a pAI. This one appears in the form of a [chassis]." return ..() /mob/living/silicon/pai/update_icon_state() @@ -343,9 +345,7 @@ master_dna = "Untraceable Signature" // Sets supplemental directive to this add_supplied_law(0, "Do not interfere with the operations of the Syndicate.") - QDEL_NULL(leash) // Freedom!!! to_chat(src, span_danger("ALERT: Foreign software detected.")) - to_chat(src, span_danger("WARN: Holochasis range restrictions disabled.")) return TRUE /mob/living/silicon/pai/on_saboteur(datum/source, disrupt_duration) @@ -473,9 +473,6 @@ /// Updates the distance we can be from our pai card /mob/living/silicon/pai/proc/increment_range(increment_amount) - if(!holo_leash) // BUBBER EDIT: PAI ReLeashed: ORIGINAL: if(emagged) - return - var/new_distance = leash.distance + increment_amount if (new_distance < HOLOFORM_MIN_RANGE || new_distance > HOLOFORM_MAX_RANGE) return diff --git a/code/modules/pai/shell.dm b/code/modules/pai/shell.dm index 9b9882f0766..dc64499f166 100644 --- a/code/modules/pai/shell.dm +++ b/code/modules/pai/shell.dm @@ -78,12 +78,7 @@ if(!holoform) . = fold_out(force) return FALSE - // BUBBER EDIT START: PAI ReLeashed - if(!holo_leash) - visible_message(span_notice("[src] deactivates its holochassis emitter and folds back into a compact card!")) // BUBBER EDIT: PAI Freedom: ORIGINAL: visible_message(span_notice("[src] dematerialises!")) - else - visible_message(span_notice("[src] dematerialises!")) - // BUBBER EDIT END + visible_message(span_notice("[src] dematerialises!")) stop_pulling() if(ispickedupmob(loc)) var/obj/item/mob_holder/mob_head = loc @@ -93,11 +88,6 @@ client.set_eye(card) if (isturf(loc)) new /obj/effect/temp_visual/guardian/phase/out(loc) - // BUBBER EDIT ADDITION START: PAI ReLeashed - if(!holo_leash) - var/turf/target = drop_location() - card.forceMove(target) - // BUBBER EDIT END forceMove(card) add_traits(list(TRAIT_IMMOBILIZED, TRAIT_HANDS_BLOCKED), PAI_FOLDED) ADD_TRAIT(src, TRAIT_UNDENSE, PAI_FOLDED) @@ -132,33 +122,13 @@ REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, PAI_FOLDED) REMOVE_TRAIT(src, TRAIT_HANDS_BLOCKED, PAI_FOLDED) REMOVE_TRAIT(src, TRAIT_UNDENSE, PAI_FOLDED) - // BUBBER EDIT START: PAI ReLeashed: ORIGINAL: forceMove(get_turf(card)) - if(!holo_leash) - if(istype(card.loc, /obj/item/modular_computer)) - var/obj/item/modular_computer/pc = card.loc - pc.inserted_pai = null - pc.visible_message(span_notice("[src] ejects itself from [pc]!")) - if(isliving(card.loc)) - var/mob/living/living_holder = card.loc - if(!living_holder.temporarilyRemoveItemFromInventory(card)) - balloon_alert(src, "unable to expand") - return FALSE - forceMove(get_turf(card)) - card.forceMove(src) - else - forceMove(get_turf(card)) - // BUBBER EDIT END + forceMove(get_turf(card)) if(client) client.perspective = EYE_PERSPECTIVE client.set_eye(src) set_light_on(FALSE) update_appearance(UPDATE_ICON_STATE) - // BUBBER EDIT START: PAI ReLeashed - if(!holo_leash) - visible_message(span_boldnotice("[src] folds out its holochassis emitter and forms a holoshell around itself!")) // BUBBER EDIT: PAI Freedom: ORIGINAL: visible_message(span_boldnotice("[src] appears in a flash of light!")) - else - visible_message(span_boldnotice("[src] appears in a flash of light!")) - // BUBBER EDIT END: PAI ReLeashed + visible_message(span_boldnotice("[src] appears in a flash of light!")) holoform = TRUE return TRUE diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm index 11f55c54a4d..944132545a5 100644 --- a/code/modules/paperwork/folders.dm +++ b/code/modules/paperwork/folders.dm @@ -6,6 +6,7 @@ w_class = WEIGHT_CLASS_SMALL pressure_resistance = 2 resistance_flags = FLAMMABLE + obj_flags = UNIQUE_RENAME | RENAME_NO_DESC /// The background color for tgui in hex (with a `#`) var/bg_color = "#7f7f7f" /// A typecache of the objects that can be inserted into a folder @@ -94,8 +95,6 @@ /obj/item/folder/item_interaction(mob/living/user, obj/item/tool, list/modifiers) if(is_type_in_typecache(tool, folder_insertables)) return insertables_act(user, tool) - if(IS_WRITING_UTENSIL(tool)) - return writing_utensil_act(user, tool) if(tool.tool_behaviour == TOOL_KNIFE || tool.tool_behaviour == TOOL_WIRECUTTER) return sharp_thing_act(user, tool) return NONE @@ -106,20 +105,10 @@ update_appearance() return ITEM_INTERACT_SUCCESS -/obj/item/folder/proc/writing_utensil_act(mob/user, obj/item/writing_instrument) - if(!user.can_write(writing_instrument)) - return ITEM_INTERACT_BLOCKING - - var/inputvalue = tgui_input_text(user, "What would you like to label the folder?", "Folder Labelling", max_length = MAX_NAME_LEN) - - if(!inputvalue) - return ITEM_INTERACT_BLOCKING - if(!user.can_perform_action(src)) - return ITEM_INTERACT_BLOCKING - - name = "folder[(inputvalue ? " - '[inputvalue]'" : null)]" +/obj/item/folder/nameformat(input, user) playsound(src, SFX_WRITING_PEN, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE, SOUND_FALLOFF_EXPONENT + 3, ignore_walls = FALSE) - return ITEM_INTERACT_SUCCESS + return"folder[(input ? " - '[input]'" : null)]" + /obj/item/folder/proc/sharp_thing_act(mob/user, obj/item/sharp_tool) if(contents.len) diff --git a/code/modules/paperwork/ticketmachine.dm b/code/modules/paperwork/ticketmachine.dm index bf4e88fa17b..95b51957773 100644 --- a/code/modules/paperwork/ticketmachine.dm +++ b/code/modules/paperwork/ticketmachine.dm @@ -31,7 +31,8 @@ /obj/machinery/ticket_machine/Initialize(mapload) . = ..() update_appearance() - find_and_hang_on_wall() + if(mapload) + find_and_hang_on_wall() /obj/machinery/ticket_machine/Destroy() for(var/obj/item/ticket_machine_ticket/ticket in tickets) diff --git a/code/modules/photography/photos/frame.dm b/code/modules/photography/photos/frame.dm index 66db83342e5..983cb00977d 100644 --- a/code/modules/photography/photos/frame.dm +++ b/code/modules/photography/photos/frame.dm @@ -73,13 +73,11 @@ var/art_value = OK_ART var/can_decon = TRUE -/obj/structure/sign/picture_frame/Initialize(mapload, dir, building) +/obj/structure/sign/picture_frame/Initialize(mapload) . = ..() AddElement(/datum/element/art, art_value) if (!SSpersistence.initialized) LAZYADD(SSpersistence.queued_photo_frames, src) - if(dir) - setDir(dir) /obj/structure/sign/picture_frame/Destroy() LAZYREMOVE(SSpersistence.queued_photo_frames, src) diff --git a/code/modules/power/apc/apc_main.dm b/code/modules/power/apc/apc_main.dm index 2c1cb3d57df..4a8572c4080 100644 --- a/code/modules/power/apc/apc_main.dm +++ b/code/modules/power/apc/apc_main.dm @@ -261,7 +261,8 @@ AddElement(/datum/element/contextual_screentip_bare_hands, rmb_text = "Toggle interface lock") AddElement(/datum/element/contextual_screentip_mob_typechecks, hovering_mob_typechecks) - find_and_hang_on_wall() + if(mapload) + find_and_hang_on_wall() /obj/machinery/power/apc/Destroy() if(malfai) diff --git a/code/modules/power/battery.dm b/code/modules/power/battery.dm index 8a6be8d85aa..3c37cbba422 100644 --- a/code/modules/power/battery.dm +++ b/code/modules/power/battery.dm @@ -77,3 +77,14 @@ /obj/item/stock_parts/power_store/battery/crap/empty empty = TRUE + +/obj/item/stock_parts/power_store/battery/infinite + name = "infinite-capacity megacell" + desc = "A transdimensional megacell with an inexhaustible capacity." + icon_state = "icellbig" + maxcharge = INFINITY + chargerate = INFINITY + ratingdesc = FALSE + +/obj/item/stock_parts/power_store/battery/infinite/use(used, force = FALSE) + return used diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 3a9d68392d1..9e37aa03cbd 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -603,7 +603,7 @@ GLOBAL_LIST_INIT(wire_node_generating_types, typecacheof(list( /obj/item/stack/cable_coil/proc/try_heal_loop(atom/interacting_with, mob/living/user, repeating = FALSE) var/mob/living/carbon/human/attacked_humanoid = interacting_with var/obj/item/clothing/under/uniform = attacked_humanoid.w_uniform - if(uniform?.repair_sensors(src, user)) + if(uniform?.repair_sensors(user)) return ITEM_INTERACT_SUCCESS var/obj/item/bodypart/affecting = attacked_humanoid.get_bodypart(check_zone(user.zone_selected)) diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 0c98fcf3048..8a274b3a162 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -163,7 +163,7 @@ ratingdesc = FALSE /obj/item/stock_parts/power_store/cell/infinite/use(used, force = FALSE) - return TRUE + return used /obj/item/stock_parts/power_store/cell/infinite/abductor name = "void core" diff --git a/code/modules/power/lighting/light.dm b/code/modules/power/lighting/light.dm index e9097005c67..4123b4eca90 100644 --- a/code/modules/power/lighting/light.dm +++ b/code/modules/power/lighting/light.dm @@ -120,8 +120,12 @@ RegisterSignal(src, COMSIG_LIGHT_EATER_ACT, PROC_REF(on_light_eater)) AddElement(/datum/element/atmos_sensitive, mapload) AddElement(/datum/element/contextual_screentip_bare_hands, rmb_text = "Remove bulb") + if(mapload) + find_and_hang_on_wall() + +/obj/machinery/light/find_and_hang_on_wall() if(break_if_moved) - find_and_hang_on_wall(custom_drop_callback = CALLBACK(src, PROC_REF(knock_down))) + return ..() /obj/machinery/light/post_machine_initialize() . = ..() @@ -143,6 +147,11 @@ QDEL_NULL(cell) return ..() +/obj/machinery/light/Exited(atom/movable/gone, direction) + . = ..() + if(gone == cell) + cell = null + /obj/machinery/light/setDir(newdir) . = ..() set_light(l_dir = REVERSE_DIR(dir)) @@ -426,34 +435,26 @@ electrocute_mob(user, get_area(src), src, (rand(7,10) * 0.1), TRUE) /obj/machinery/light/on_deconstruction(disassembled) - var/obj/structure/light_construct/new_light = null - var/current_stage = 2 - if(!disassembled) - current_stage = 1 + var/atom/drop_point = drop_location() + + var/obj/item/wallframe/light_fixture/frame = null switch(fitting) if("tube") - new_light = new /obj/structure/light_construct(loc) - new_light.icon_state = "tube-construct-stage[current_stage]" - + frame = new /obj/item/wallframe/light_fixture(drop_point) if("bulb") - new_light = new /obj/structure/light_construct/small(loc) - new_light.icon_state = "bulb-construct-stage[current_stage]" - new_light.setDir(dir) - new_light.stage = current_stage + frame = new /obj/item/wallframe/light_fixture/small(drop_point) if(!disassembled) - new_light.take_damage(new_light.max_integrity * 0.5, sound_effect=FALSE) + frame.take_damage(frame.max_integrity * 0.5, sound_effect = FALSE) if(status != LIGHT_BROKEN) break_light_tube() if(status != LIGHT_EMPTY) drop_light_tube() new /obj/item/stack/cable_coil(loc, 1, "red") - transfer_fingerprints_to(new_light) + transfer_fingerprints_to(frame) var/obj/item/stock_parts/power_store/real_cell = get_cell() if(!QDELETED(real_cell)) - new_light.cell = real_cell - real_cell.forceMove(new_light) - cell = null + real_cell.forceMove(drop_point) /obj/machinery/light/attacked_by(obj/item/attacking_object, mob/living/user, list/modifiers, list/attack_modifiers) . = ..() @@ -735,23 +736,6 @@ continue INVOKE_ASYNC(src, PROC_REF(flicker)) -/** - * All the effects that occur when a light falls off a wall that it was hung onto. - */ -/obj/machinery/light/proc/knock_down() - if (fitting == "bulb") - new /obj/item/wallframe/light_fixture/small(drop_location()) - else - new /obj/item/wallframe/light_fixture(drop_location()) - new /obj/item/stack/cable_coil(drop_location(), 1, "red") - if(status != LIGHT_BROKEN) - break_light_tube(FALSE) - if(status != LIGHT_EMPTY) - drop_light_tube() - if(cell) - cell.forceMove(drop_location()) - qdel(src) - /obj/machinery/light/floor name = "floor light" desc = "A lightbulb you can walk on without breaking it, amazing." diff --git a/code/modules/power/lighting/light_construct.dm b/code/modules/power/lighting/light_construct.dm index 3b4ab157b0e..c3872130b25 100644 --- a/code/modules/power/lighting/light_construct.dm +++ b/code/modules/power/lighting/light_construct.dm @@ -28,11 +28,10 @@ fire = 80 acid = 50 -/obj/structure/light_construct/Initialize(mapload, ndir, building) +/obj/structure/light_construct/Initialize(mapload) . = ..() - if(building) - setDir(ndir) - find_and_hang_on_wall() + if(mapload) + find_and_hang_on_wall() /obj/structure/light_construct/Destroy() QDEL_NULL(cell) @@ -107,11 +106,9 @@ return to_chat(user, span_notice("You begin deconstructing [src]...")) if (tool.use_tool(src, user, 30, volume=50)) - new /obj/item/stack/sheet/iron(drop_location(), sheets_refunded) user.visible_message(span_notice("[user.name] deconstructs [src]."), \ span_notice("You deconstruct [src]."), span_hear("You hear a ratchet.")) playsound(src, 'sound/items/deconstruct.ogg', 75, TRUE) - qdel(src) return if(istype(tool, /obj/item/stack/cable_coil)) @@ -159,10 +156,12 @@ /obj/structure/light_construct/blob_act(obj/structure/blob/attacking_blob) if(attacking_blob && attacking_blob.loc == loc) - qdel(src) + deconstruct(FALSE) -/obj/structure/light_construct/atom_deconstruct(disassembled = TRUE) +/obj/structure/light_construct/atom_deconstruct(disassembled) new /obj/item/stack/sheet/iron(loc, sheets_refunded) + if(stage == LIGHT_CONSTRUCT_WIRED) + new /obj/item/stack/cable_coil(drop_location(), 1, "red") /obj/structure/light_construct/small name = "small light fixture frame" diff --git a/code/modules/power/smes_portable.dm b/code/modules/power/smes_portable.dm index a416a946e2c..27439e1a25a 100644 --- a/code/modules/power/smes_portable.dm +++ b/code/modules/power/smes_portable.dm @@ -56,7 +56,12 @@ return ITEM_INTERACT_BLOCKING return ..() -/// checks if the connector is free; if not, alerts a user and returns FALSE +/** + * Checks if the connector is free + * Arguments + * + * * mob/living/user - the player doing the checking + */ /obj/machinery/power/smes/connector/proc/connector_free(mob/living/user) PRIVATE_PROC(TRUE) @@ -86,15 +91,19 @@ total_capacity = 1 for(var/obj/item/stock_parts/power_store/power_cell in component_parts) component_parts -= power_cell + SStgui.close_uis(src) update_appearance(UPDATE_OVERLAYS) -/obj/machinery/power/smes/connector/ui_act(action, params) - // prevent UI interactions if there's no SMES +/obj/machinery/power/smes/connector/ui_interact(mob/user, datum/tgui/ui) if(!connected_smes) - balloon_alert(usr, "needs a connected SMES!") + balloon_alert(user, "no power bank!") return FALSE + return ..() +/obj/machinery/power/smes/connector/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + return connected_smes ? ..() : FALSE + /// The actual portable part of the portable SMES system. Pretty useless without an actual connector. /obj/machinery/smesbank name = "portable power storage unit" @@ -195,7 +204,6 @@ // adapted from portable atmos connection code /obj/machinery/smesbank/wrench_act(mob/living/user, obj/item/wrench) if(connected_port) - wrench.play_tool_sound(src) if(!wrench.use_tool(src, user, 8 SECONDS)) return ITEM_INTERACT_BLOCKING user.visible_message( \ @@ -208,14 +216,9 @@ return ITEM_INTERACT_SUCCESS var/obj/machinery/power/smes/connector/possible_connector = locate(/obj/machinery/power/smes/connector) in loc - if(!possible_connector) - to_chat(user, span_notice("There's no power connector to connect to.")) + if(!wrench.use_tool(src, user, 4 SECONDS, extra_checks = CALLBACK(src, PROC_REF(connect_port), possible_connector, user, TRUE))) return ITEM_INTERACT_BLOCKING - wrench.play_tool_sound(src) - if(!wrench.use_tool(src, user, 4 SECONDS)) - return ITEM_INTERACT_BLOCKING - if(!connect_port(possible_connector)) - to_chat(user, span_notice("[src] failed to connect to [possible_connector].")) + if(!connect_port(possible_connector, user)) return ITEM_INTERACT_BLOCKING user.visible_message( \ "[user] connects [src].", \ @@ -231,30 +234,39 @@ update_appearance(UPDATE_OVERLAYS) return ITEM_INTERACT_SUCCESS -/obj/machinery/smesbank/default_deconstruction_crowbar(obj/item/crowbar/crowbar) - if(istype(crowbar) && connected_port) - balloon_alert(usr, "disconnect from [connected_port] first!") +/obj/machinery/smesbank/crowbar_act(mob/living/user, obj/item/tool) + if(connected_port) + balloon_alert(user, "disconnect from [connected_port] first!") return ITEM_INTERACT_FAILURE - return ..() + + if(default_deconstruction_crowbar(tool)) + return ITEM_INTERACT_SUCCESS /** * Attempt to connect the portable SMES to a given connector. Adapted from portable atmos connection code. * * Arguments * * obj/machinery/power/smes/connector/possible_connector - the connector we are trying to link with + * * mob/living/user - the mob trying to connect the port + * * check_only - don't connect but check if we can */ -/obj/machinery/smesbank/proc/connect_port(obj/machinery/power/smes/connector/possible_connector) +/obj/machinery/smesbank/proc/connect_port(obj/machinery/power/smes/connector/possible_connector, mob/living/user, check_only = FALSE) PRIVATE_PROC(TRUE) - //Make sure not already connected to something else - if(connected_port || !possible_connector || possible_connector.connected_smes || possible_connector.panel_open) + if(QDELETED(possible_connector)) + if(user) + balloon_alert(user, "no connector!") return FALSE - //Make sure are close enough for a valid connection - if(possible_connector.loc != get_turf(src)) + //Make sure not already connected to something else + if(possible_connector.panel_open) + if(user) + balloon_alert(user, "close connector panel!") return FALSE //Perform the connection + if(check_only) + return TRUE connected_port = possible_connector connected_port.connect_smes(src) set_anchored(TRUE) diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index d8064b7dc69..b9bf00cd051 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -142,6 +142,8 @@ var/selector_switch_icon = FALSE /// Suppressor attached to the gun, if any var/obj/item/suppressor/suppressor = null + /// Sound played when the burst mode is changed + var/burst_select_sound = SFX_FIRE_MODE_SWITCH /obj/item/gun/ballistic/Initialize(mapload) . = ..() @@ -291,7 +293,10 @@ fire_delay = initial(fire_delay) balloon_alert(user, "switched to [burst_size]-round burst") - playsound(user, 'sound/items/weapons/empty.ogg', 100, TRUE) + if(burst_select_sound) + playsound(user, burst_select_sound, 50, TRUE) + else + playsound(user, 'sound/items/weapons/empty.ogg', 100, TRUE) update_appearance() update_item_action_buttons() diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index 14b0accfd22..37013ca3b7f 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -471,29 +471,24 @@ balloon_alert(user, "system reset") return ITEM_INTERACT_SUCCESS -/obj/item/gun/ballistic/automatic/battle_rifle/try_fire_gun(atom/target, mob/living/user, params) - . = ..() - if(!chambered || (chambered && !chambered.loaded_projectile)) - return - - if(shots_before_degradation) - shots_before_degradation -- - return - - else if ((obj_flags & EMAGGED) && degradation_stage == degradation_stage_max && !explosion_timer) - perform_extreme_malfunction(user) - - else - attempt_degradation(FALSE) - - /obj/item/gun/ballistic/automatic/battle_rifle/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) if(chambered.loaded_projectile && prob(75) && (emp_malfunction || degradation_stage == degradation_stage_max)) balloon_alert_to_viewers("*click*") playsound(src, dry_fire_sound, dry_fire_sound_volume, TRUE) return - return ..() + . = ..() + if(!.) + return + + else if(shots_before_degradation) + shots_before_degradation -- + + else if ((obj_flags & EMAGGED) && degradation_stage == degradation_stage_max && !explosion_timer) + perform_extreme_malfunction(user) + + else + attempt_degradation(FALSE) /// Proc to handle weapon degradation. Called when attempting to fire or immediately after an EMP takes place. /obj/item/gun/ballistic/automatic/battle_rifle/proc/attempt_degradation(force_increment = FALSE) diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index cc2a005439a..d2f2ae54690 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -47,6 +47,8 @@ var/charge_delay = 8 /// The amount restored by the gun to the cell per self charge tick var/self_charge_amount = STANDARD_ENERGY_GUN_SELF_CHARGE_RATE + /// sound played when fire mode select is done + var/fire_mode_switch_sound = SFX_FIRE_MODE_SWITCH /obj/item/gun/energy/fire_sounds() // What frequency the energy gun's sound will make @@ -236,6 +238,8 @@ chambered = null recharge_newshot(TRUE) update_appearance() + if(fire_mode_switch_sound) + playsound(src, fire_mode_switch_sound, 50, TRUE) /obj/item/gun/energy/update_icon_state() var/skip_inhand = initial(inhand_icon_state) //only build if we aren't using a preset inhand icon diff --git a/code/modules/projectiles/projectile/special/saboteur.dm b/code/modules/projectiles/projectile/special/saboteur.dm index 9bfbeaa8cba..c64d182a6fc 100644 --- a/code/modules/projectiles/projectile/special/saboteur.dm +++ b/code/modules/projectiles/projectile/special/saboteur.dm @@ -21,7 +21,7 @@ var/list/things_to_disrupt = list(target) if(isliving(target)) var/mob/living/live_target = target - things_to_disrupt += live_target.get_all_gear() + things_to_disrupt += live_target.get_all_gear(INCLUDE_PROSTHETICS|INCLUDE_ABSTRACT|INCLUDE_ACCESSORIES) var/success = FALSE for(var/atom/disrupted as anything in things_to_disrupt) diff --git a/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm index 1056277538b..65fa64009e6 100644 --- a/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm @@ -1256,7 +1256,7 @@ Basically, we fill the time between now and 2s from now with hands based off the var/picked_color = pick(random_color_list) var/color_filter = color_transition_filter(picked_color, SATURATION_OVERRIDE) if (can_color_clothing && (methods & (TOUCH|VAPOR|INHALE))) - var/include_flags = INCLUDE_HELD|INCLUDE_ACCESSORIES + var/include_flags = INCLUDE_HELD|INCLUDE_ACCESSORIES|INCLUDE_PROSTHETICS|INCLUDE_ABSTRACT if (methods & (VAPOR|INHALE) || touch_protection >= 1) include_flags |= INCLUDE_POCKETS for (var/obj/item/to_color in exposed_mob.get_equipped_items(include_flags)) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 50c480b9cbf..3a3e4bec46c 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -829,7 +829,7 @@ if(eyes.apply_organ_damage(-2 * REM * seconds_per_tick * normalise_creation_purity(), required_organ_flag = affected_organ_flags)) . = UPDATE_MOB_HEALTH // If our eyes are seriously damaged, we have a probability of causing eye blur while healing depending on purity - if(eyes.damaged && IS_ORGANIC_ORGAN(eyes) && SPT_PROB(16 - min(normalized_purity * 6, 12), seconds_per_tick)) + if(eyes.damage >= eyes.low_threshold && IS_ORGANIC_ORGAN(eyes) && SPT_PROB(16 - min(normalized_purity * 6, 12), seconds_per_tick)) // While healing, gives some eye blur if(affected_mob.is_blind_from(EYE_DAMAGE)) to_chat(affected_mob, span_warning("Your vision slowly returns...")) @@ -929,7 +929,9 @@ var/obj/item/organ/ears/ears = affected_mob.get_organ_slot(ORGAN_SLOT_EARS) if(!ears) return - ears.adjustEarDamage(-4 * REM * seconds_per_tick * normalise_creation_purity(), -4 * REM * seconds_per_tick * normalise_creation_purity()) + var/multiplier = REM * seconds_per_tick * normalise_creation_purity() + ears.apply_organ_damage(-4 * multiplier) + ears.adjust_temporary_deafness(-8 * multiplier) return UPDATE_MOB_HEALTH /datum/reagent/medicine/inacusiate/on_mob_delete(mob/living/affected_mob) @@ -1779,6 +1781,7 @@ overdose_threshold = 50 metabolization_rate = 0.5 * REAGENTS_METABOLISM //same as C2s chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + metabolized_traits = list(TRAIT_ANALGESIA) /datum/reagent/medicine/granibitaluri/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index c22b6bb7331..5ee9459b13c 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -3277,8 +3277,7 @@ RegisterSignal(affected_human, COMSIG_CARBON_LOSE_ORGAN, PROC_REF(on_organ_removed)) var/obj/item/organ/eyes/eyes = affected_human.get_organ_slot(ORGAN_SLOT_EYES) if (eyes && !IS_ROBOTIC_ORGAN(eyes)) - prev_ignore_lighting = eyes.overlay_ignore_lighting - eyes.overlay_ignore_lighting = TRUE + ADD_TRAIT(affected_human, TRAIT_LUMINESCENT_EYES, REF(src)) /datum/reagent/luminescent_fluid/on_mob_end_metabolize(mob/living/affected_mob) . = ..() @@ -3290,7 +3289,7 @@ affected_human.remove_eye_color(EYE_COLOR_LUMINESCENT_PRIORITY) var/obj/item/organ/eyes/eyes = affected_human.get_organ_slot(ORGAN_SLOT_EYES) if (eyes && !IS_ROBOTIC_ORGAN(eyes) && !overdosed) - eyes.overlay_ignore_lighting = prev_ignore_lighting + REMOVE_TRAIT(affected_human, TRAIT_LUMINESCENT_EYES, REF(src)) /datum/reagent/luminescent_fluid/on_mob_life(mob/living/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -3309,14 +3308,13 @@ SIGNAL_HANDLER if (istype(new_eyes) && !IS_ROBOTIC_ORGAN(new_eyes)) - prev_ignore_lighting = new_eyes.overlay_ignore_lighting - new_eyes.overlay_ignore_lighting = TRUE + ADD_TRAIT(source, TRAIT_LUMINESCENT_EYES, REF(src)) /datum/reagent/luminescent_fluid/proc/on_organ_removed(mob/living/source, obj/item/organ/eyes/old_eyes) SIGNAL_HANDLER if (istype(old_eyes) && !IS_ROBOTIC_ORGAN(old_eyes) && !overdosed) - old_eyes.overlay_ignore_lighting = prev_ignore_lighting + REMOVE_TRAIT(source, TRAIT_LUMINESCENT_EYES, REF(src)) /datum/reagent/luminescent_fluid/overdose_start(mob/living/affected_mob) . = ..() diff --git a/code/modules/reagents/chemistry/reagents/reaction_agents_reagents.dm b/code/modules/reagents/chemistry/reagents/reaction_agents_reagents.dm index 2a7ce91cc8d..a6cc7b7b84b 100644 --- a/code/modules/reagents/chemistry/reagents/reaction_agents_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/reaction_agents_reagents.dm @@ -144,3 +144,31 @@ holder.update_total() #undef SPEED_REAGENT_STRENGTH + +/datum/reagent/reaction_agent/inversing_buffer + name = "Chiral Inversing Buffer" + description = "This reagent will consume itself and convert impure reagents into their inversed counterparts. Amount varies based on volume of added buffer." + ph = 7 + color = "#b60046" + +/datum/reagent/reaction_agent/inversing_buffer/intercept_reagents_transfer(datum/reagents/target, amount, copy_only) + . = ..() + if(!.) + return + + for(var/_reagent in target.reagent_list) + var/datum/reagent/reaction_agent/reagent = _reagent + if(reagent.purity <= reagent.inverse_chem_val) + target.my_atom.audible_message(span_warning("The beaker goes into a rolling boil as the contents begin inversing!")) + playsound(target.my_atom, 'sound/effects/chemistry/catalyst.ogg', 50, TRUE) + var/converted = min(reagent.volume, amount * 10)//Converts up to 10 units of reagent per 1 unit of inversing buffer. + if(converted > 0) + target.remove_reagent(reagent.type, converted, safety = FALSE) + target.add_reagent(reagent.inverse_chem, converted, FALSE, added_purity = reagent.get_inverse_purity(reagent.purity)) + volume -= amount + holder.update_total() + break + else + target.my_atom.audible_message(span_warning("The buffer quietly fizzles away with no effect.")) + volume -= amount + holder.update_total() diff --git a/code/modules/reagents/chemistry/recipes/drugs.dm b/code/modules/reagents/chemistry/recipes/drugs.dm index c9a84809ffc..a88eddea8ac 100644 --- a/code/modules/reagents/chemistry/recipes/drugs.dm +++ b/code/modules/reagents/chemistry/recipes/drugs.dm @@ -78,6 +78,7 @@ holder.clear_reagents() /datum/chemical_reaction/meth_crystal //Since the meth is a cooled pharmaceutical solvent, this precipitates it into a solid. + results = list(/datum/reagent/consumable/ethanol = 1) //we don't care what this reagent is. We only need to record its purity required_reagents = list(/datum/reagent/drug/methamphetamine = 10, /datum/reagent/toxin/acid = 2) mob_react = FALSE reaction_flags = REACTION_INSTANT @@ -86,36 +87,21 @@ /datum/chemical_reaction/meth_crystal/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) var/location = get_turf(holder.my_atom) - // Calculate purity ignoring sulfuric acid - var/total_nonacid = 0 - var/meth_amt_in_mix = 0 - for(var/datum/reagent/R in holder.reagent_list) - if(istype(R, /datum/reagent/toxin/acid)) - continue // acid doesn't count against purity - total_nonacid += R.volume - if(istype(R, /datum/reagent/drug/methamphetamine)) - meth_amt_in_mix += R.volume - - var/purity = (total_nonacid > 0) ? (meth_amt_in_mix / total_nonacid) : 0.5 //All this tints the crystal above blue purity. - + var/datum/reagent/consumable/ethanol/dummy_reagent = holder.has_reagent(/datum/reagent/consumable/ethanol) for(var/i in 1 to round(created_volume, CHEMICAL_VOLUME_ROUNDING)) var/obj/item/food/drug/meth_crystal/new_crystal = new(location) new_crystal.pixel_x = rand(-6, 6) new_crystal.pixel_y = rand(-6, 6) + new_crystal.color = gradient("#FAFAFA", "#78C8FA", dummy_reagent.creation_purity) - var/effective_purity = 0 - if(purity > 0.9) - effective_purity = (purity - 0.9) / 0.1 + var/meth_amt = 10 + new_crystal.reagents.add_reagent(/datum/reagent/drug/methamphetamine, meth_amt) + var/imp_amt = round(meth_amt * (1 - dummy_reagent.creation_purity) * 0.25, 0.1) + if(imp_amt > 0) + new_crystal.reagents.add_reagent(/datum/reagent/consumable/failed_reaction, imp_amt) - new_crystal.color = BlendRGB("#FAFAFA", "#78C8FA", effective_purity) - - if(new_crystal.reagents) - new_crystal.reagents.clear_reagents() - var/meth_amt = 10 - new_crystal.reagents.add_reagent(/datum/reagent/drug/methamphetamine, meth_amt) - var/imp_amt = round(meth_amt * (1 - purity) * 0.25, 0.1) - if(imp_amt > 0) - new_crystal.reagents.add_reagent(/datum/reagent/consumable/failed_reaction, imp_amt) + dummy_reagent.volume = 0 + holder.update_total() /datum/chemical_reaction/bath_salts results = list(/datum/reagent/drug/bath_salts = 7) diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm index 45525d6c07f..75002a010e2 100644 --- a/code/modules/reagents/chemistry/recipes/others.dm +++ b/code/modules/reagents/chemistry/recipes/others.dm @@ -9,6 +9,11 @@ required_reagents = list(/datum/reagent/water = 1, /datum/reagent/silicon = 1, /datum/reagent/oxygen = 1) reaction_tags = REACTION_TAG_EASY | REACTION_TAG_UNIQUE | REACTION_TAG_OTHER +/datum/chemical_reaction/lube/superlube + results = list(/datum/reagent/lube/superlube = 3) + required_reagents = list(/datum/reagent/lube = 1, /datum/reagent/medicine/strange_reagent = 1, /datum/reagent/consumable/banana = 1) + reaction_tags = REACTION_TAG_EASY | REACTION_TAG_UNIQUE | REACTION_TAG_OTHER + /datum/chemical_reaction/spraytan results = list(/datum/reagent/spraytan = 2) required_reagents = list(/datum/reagent/consumable/orangejuice = 1, /datum/reagent/fuel/oil = 1) diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm index f38ce9275dd..8299bcb5221 100644 --- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm +++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm @@ -65,6 +65,16 @@ required_reagents = list(/datum/reagent/uranium/radium = 1) required_container = /obj/item/slime_extract/green +/datum/chemical_reaction/slime/slimefelinid + results = list(/datum/reagent/mutationtoxin/felinid = 1) + required_reagents = list(/datum/reagent/consumable/milk = 1) + required_container = /obj/item/slime_extract/green + +/datum/chemical_reaction/slime/slimemoth + results = list(/datum/reagent/mutationtoxin/moth = 1) + required_reagents = list(/datum/reagent/cellulose = 1) + required_container = /obj/item/slime_extract/green + //Metal /datum/chemical_reaction/slime/slimemetal required_reagents = list(/datum/reagent/toxin/plasma = 1) diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm index afaa6b40e42..8d98d91b55a 100644 --- a/code/modules/reagents/reagent_containers/blood_pack.dm +++ b/code/modules/reagents/reagent_containers/blood_pack.dm @@ -5,8 +5,9 @@ icon_state = "bloodpack" volume = 200 fill_icon_thresholds = list(10, 20, 30, 40, 50, 60, 70, 80, 90, 100) + obj_flags = UNIQUE_RENAME | RENAME_NO_DESC var/blood_type = null - var/labelled = FALSE + var/labeled = FALSE /obj/item/reagent_containers/blood/Initialize(mapload, vol) . = ..() @@ -21,7 +22,7 @@ /obj/item/reagent_containers/blood/update_name(updates) . = ..() - if(!labelled) + if(!labeled) name = "blood pack[blood_type ? " - [blood_type]" : ""]" /obj/item/reagent_containers/blood/random @@ -81,27 +82,7 @@ /obj/item/reagent_containers/blood/universal blood_type = BLOOD_TYPE_UNIVERSAL -/obj/item/reagent_containers/blood/item_interaction(mob/living/user, obj/item/tool, list/modifiers) - if(!IS_WRITING_UTENSIL(tool)) - return NONE - - if(!user.can_write(tool)) - return ITEM_INTERACT_BLOCKING - - var/custom_label = tgui_input_text(user, "What would you like to label the blood pack?", "Blood Pack", name, max_length = MAX_NAME_LEN) - if(!user.can_perform_action(src)) - return ITEM_INTERACT_BLOCKING - - if(user.get_active_held_item() != tool) - return ITEM_INTERACT_BLOCKING - - if(!custom_label) - labelled = FALSE - update_name() - return ITEM_INTERACT_SUCCESS - - labelled = TRUE - name = "blood pack - [custom_label]" +/obj/item/reagent_containers/blood/nameformat(input, user) playsound(src, SFX_WRITING_PEN, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE, SOUND_FALLOFF_EXPONENT + 3, ignore_walls = FALSE) - balloon_alert(user, "new label set") - return ITEM_INTERACT_SUCCESS + labeled = TRUE + return "blood pack[input? " - [input]" : null]" diff --git a/code/modules/reagents/reagent_containers/cups/bottle.dm b/code/modules/reagents/reagent_containers/cups/bottle.dm index f0b79742630..fc38aa6f37c 100644 --- a/code/modules/reagents/reagent_containers/cups/bottle.dm +++ b/code/modules/reagents/reagent_containers/cups/bottle.dm @@ -7,6 +7,7 @@ fill_icon_state = "bottle" inhand_icon_state = "atoxinbottle" worn_icon_state = "bottle" + obj_flags = UNIQUE_RENAME | RENAME_NO_DESC possible_transfer_amounts = list(5, 10, 15, 25, 50) volume = 50 fill_icon_thresholds = list(0, 1, 20, 40, 60, 80, 100) @@ -260,6 +261,11 @@ desc = "A small bottle of basic buffer." list_reagents = list(/datum/reagent/reaction_agent/basic_buffer = 30) +/obj/item/reagent_containers/cup/bottle/inversing_buffer + name = "Chiral inversing buffer bottle" + desc = "A small bottle of chiral inversing buffer." + list_reagents = list(/datum/reagent/reaction_agent/inversing_buffer = 30) + /obj/item/reagent_containers/cup/bottle/romerol name = "romerol bottle" desc = "A small bottle of Romerol. The REAL zombie powder." @@ -524,26 +530,14 @@ //when you attack the syrup bottle with a container it refills it /obj/item/reagent_containers/cup/bottle/syrup_bottle/item_interaction(mob/living/user, obj/item/tool, list/modifiers) - if(IS_WRITING_UTENSIL(tool)) - return writing_utensil_act(user, tool) if(is_open_container() && tool.is_refillable()) return refillable_act(user, tool) return ..() -/obj/item/reagent_containers/cup/bottle/syrup_bottle/proc/writing_utensil_act(mob/user, obj/item/tool) - if(!user.can_write(tool)) - return ITEM_INTERACT_BLOCKING - - var/input_name = tgui_input_text(user, "What would you like to label the syrup bottle?", "Syrup Bottle Labelling", max_length = MAX_NAME_LEN) - if(!user.can_perform_action(src)) - return ITEM_INTERACT_BLOCKING - +/obj/item/reagent_containers/cup/bottle/syrup_bottle/nameformat(input, user) playsound(src, SFX_WRITING_PEN, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE, SOUND_FALLOFF_EXPONENT + 3, ignore_walls = FALSE) - if(input_name) - name = "[input_name] bottle" - else - name = initial(name) - return ITEM_INTERACT_SUCCESS + return "[input? "[input] " : null]bottle" + /obj/item/reagent_containers/cup/bottle/syrup_bottle/proc/refillable_act(mob/user, obj/item/tool) if(!reagents.total_volume) diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index 64e83e01e32..ced3d98e4c5 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -369,7 +369,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/reagent_dispensers/wall/peppertank, 3 . = ..() if(prob(1)) desc = "IT'S PEPPER TIME, BITCH!" - find_and_hang_on_wall() + if(mapload) + find_and_hang_on_wall() /obj/structure/reagent_dispensers/water_cooler name = "water cooler" @@ -627,7 +628,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/reagent_dispensers/wall/virusfood, 30 /obj/structure/reagent_dispensers/wall/virusfood/Initialize(mapload) . = ..() - find_and_hang_on_wall() + if(mapload) + find_and_hang_on_wall() /obj/structure/reagent_dispensers/cooking_oil name = "vat of cooking oil" diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index dec51705786..a417b3609e6 100644 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -1,6 +1,7 @@ /obj/item/delivery icon = 'icons/obj/storage/wrapping.dmi' //ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE inhand_icon_state = "deliverypackage" + obj_flags = UNIQUE_RENAME | RENAME_NO_DESC var/giftwrapped = 0 var/sort_tag = 0 var/obj/item/paper/note @@ -113,18 +114,6 @@ sort_tag = dest_tagger.currTag playsound(loc, 'sound/machines/beep/twobeep_high.ogg', 100, TRUE) update_appearance() - else if(IS_WRITING_UTENSIL(item)) - if(!user.can_write(item)) - return - var/str = tgui_input_text(user, "Label text?", "Set label", max_length = MAX_NAME_LEN) - if(!user.can_perform_action(src)) - return - if(!str || !length(str)) - to_chat(user, span_warning("Invalid text!")) - return - playsound(src, SFX_WRITING_PEN, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE, SOUND_FALLOFF_EXPONENT + 3, ignore_walls = FALSE) - user.visible_message(span_notice("[user] labels [src] as [str].")) - name = "[name] ([str])" else if(istype(item, /obj/item/stack/wrapping_paper) && !giftwrapped) var/obj/item/stack/wrapping_paper/wrapping_paper = item @@ -205,6 +194,10 @@ else return ..() +/obj/item/delivery/nameformat(input, user) + playsound(src, SFX_WRITING_PEN, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE, SOUND_FALLOFF_EXPONENT + 3, ignore_walls = FALSE) + return "[name] ([input])" // This just repeatedly adds new labels, but i think that's intentional? + /** * # Wrapped up crates and lockers - too big to carry. */ diff --git a/code/modules/research/designs/autolathe/multi-department_designs.dm b/code/modules/research/designs/autolathe/multi-department_designs.dm index a1a1037b2e2..59fe328104a 100644 --- a/code/modules/research/designs/autolathe/multi-department_designs.dm +++ b/code/modules/research/designs/autolathe/multi-department_designs.dm @@ -495,6 +495,18 @@ ) departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE +/datum/design/suit_sensor + name = "Suit Sensor" + id = "suit_sensor" + build_type = AUTOLATHE | PROTOLATHE | AWAY_LATHE + materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT, /datum/material/glass = SMALL_MATERIAL_AMOUNT) + build_path = /obj/item/suit_sensor + category = list( + RND_CATEGORY_INITIAL, + RND_CATEGORY_CONSTRUCTION + RND_SUBCATEGORY_CONSTRUCTION_ASSEMBLIES, + ) + departmental_flags = DEPARTMENT_BITFLAG_MEDICAL | DEPARTMENT_BITFLAG_SECURITY + /datum/design/conveyor_belt name = "Conveyor Belt" id = "conveyor_belt" diff --git a/code/modules/research/techweb/nodes/medbay_nodes.dm b/code/modules/research/techweb/nodes/medbay_nodes.dm index 49d4aad71f7..09f404e97ec 100644 --- a/code/modules/research/techweb/nodes/medbay_nodes.dm +++ b/code/modules/research/techweb/nodes/medbay_nodes.dm @@ -33,6 +33,7 @@ "jerrycan", "reflex_hammer", "blood_scanner", + "suit_sensor", ) experiments_to_unlock = list( /datum/experiment/autopsy/human, diff --git a/code/modules/security_levels/keycard_authentication.dm b/code/modules/security_levels/keycard_authentication.dm index 24e7c101ace..425b2ac3045 100644 --- a/code/modules/security_levels/keycard_authentication.dm +++ b/code/modules/security_levels/keycard_authentication.dm @@ -204,7 +204,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/keycard_auth/wall_mounted, 26) /obj/machinery/keycard_auth/wall_mounted/Initialize(mapload) . = ..() - find_and_hang_on_wall() + if(mapload) + find_and_hang_on_wall() GLOBAL_VAR_INIT(emergency_access, FALSE) /proc/make_maint_all_access(silent = FALSE) // BUBBER EDIT CHANGE - Silent Emergency Access diff --git a/code/modules/shuttle/mobile_port/variants/supply.dm b/code/modules/shuttle/mobile_port/variants/supply.dm index 5f0f0a68e82..cb853fb1c8e 100644 --- a/code/modules/shuttle/mobile_port/variants/supply.dm +++ b/code/modules/shuttle/mobile_port/variants/supply.dm @@ -293,9 +293,6 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( var/datum/bank_account/cargo_budget = SSeconomy.get_dep_account(ACCOUNT_CAR) var/presale_points = cargo_budget.account_balance - if(!GLOB.exports_list.len) // No exports list? Generate it! - setupExports() - var/msg = "" var/datum/export_report/report = new @@ -310,9 +307,6 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( continue export_item_and_contents(exporting_atom, apply_elastic = TRUE, dry_run = FALSE, external_report = report) - if(report.exported_atoms) - report.exported_atoms += "." //ugh - for(var/datum/export/exported_datum in report.total_amount) var/export_text = exported_datum.total_printout(report) if(!export_text) @@ -322,7 +316,8 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( cargo_budget.adjust_money(report.total_value[exported_datum]) SSshuttle.centcom_message = msg - investigate_log("contents sold for [cargo_budget.account_balance - presale_points] credits. Contents: [report.exported_atoms ? report.exported_atoms.Join(",") + "." : "none."] Message: [SSshuttle.centcom_message || "none."]", INVESTIGATE_CARGO) + if(report.exported_atoms.len) + investigate_log("contents sold for [cargo_budget.account_balance - presale_points] credits. Contents: [report.exported_atoms.Join(",")]. Message: [msg]", INVESTIGATE_CARGO) /* Generates a box of mail depending on our exports and imports. diff --git a/code/modules/shuttle/stationary_port/port_types.dm b/code/modules/shuttle/stationary_port/port_types.dm index 047856566c2..84a146650f0 100644 --- a/code/modules/shuttle/stationary_port/port_types.dm +++ b/code/modules/shuttle/stationary_port/port_types.dm @@ -80,8 +80,8 @@ name = "Deep Space" shuttle_id = "whiteship_away" height = 45 //Width and height need to remain in sync with the size of whiteshipdock.dmm, otherwise we'll get overflow - width = 44 - dheight = 18 + width = 45 + dheight = 14 dwidth = 18 dir = 2 shuttlekeys = list( diff --git a/code/modules/surgery/bodyparts/_bodyparts.dm b/code/modules/surgery/bodyparts/_bodyparts.dm index d6981b634ec..a27f6337e57 100644 --- a/code/modules/surgery/bodyparts/_bodyparts.dm +++ b/code/modules/surgery/bodyparts/_bodyparts.dm @@ -183,14 +183,22 @@ /// Sounds when this bodypart is used in an umarmed attack var/sound/unarmed_attack_sound = 'sound/items/weapons/punch1.ogg' var/sound/unarmed_miss_sound = 'sound/items/weapons/punchmiss.ogg' - ///Lowest possible punch damage this bodypart can give. If this is set to 0, unarmed attacks will always miss. + /// Lowest possible punch damage this bodypart can give. If this is set to 0, unarmed attacks will always miss. var/unarmed_damage_low = 1 - ///Highest possible punch damage this bodypart can ive. + /// Highest possible punch damage this bodypart can ive. var/unarmed_damage_high = 1 - ///Determines the accuracy bonus, armor penetration and knockdown probability. + /// Determines the accuracy bonus, armor penetration and knockdown probability. var/unarmed_effectiveness = 10 /// Multiplier applied to effectiveness and damage when attacking a grabbed target. var/unarmed_pummeling_bonus = 1 + /// If this limb is used to grab (which is only arms right now), how much more effective is the limb? Every integer above or below 0 is one effective grab level. Higher is a bonus, lower is a malus. + /// This is more powerful than adjusting grab escape chance. If the arm has both an increased grab level and a chance reduction, it is very hard to escape a grab. + var/unarmed_grab_state_bonus = 0 + /// If this limb is used to grab (which is only arms right now), how much additional damage does it deal to the grabbed individual when they fail to escape the grab? + var/unarmed_grab_damage_bonus = 0 + /// If this limb is used to grab (which is only arms right now), how much more difficult is it to escape the grab, before accounting for grab state? Values above 0 is a malus, values below 0 is a bonus. + /// This is less powerful than adjusting grab state. If the arm has both an increased grab level and a chance reduction, it is very hard to escape a grab. + var/unarmed_grab_escape_chance_bonus = 0 /// The 'sharpness' of the limb. Could indicate claws, teeth or spines. Should default to NONE, or blunt. var/unarmed_sharpness = NONE @@ -1129,42 +1137,43 @@ if(dropped && dmg_overlay_type) if(brutestate) // divided into two overlays: one that gets colored and one that doesn't. - var/image/brute_blood_overlay = image('icons/mob/effects/dam_mob.dmi', "[dmg_overlay_type]_[body_zone]_[brutestate]0", -DAMAGE_LAYER) + var/image/brute_blood_overlay = image('icons/mob/effects/dam_mob.dmi', "[dmg_overlay_type]_[body_zone]_[brutestate]0", -DAMAGE_LAYER, dir = SOUTH) brute_blood_overlay.color = get_color_from_blood_list(update_on ? update_on.get_blood_dna_list() : blood_dna_info) // living mobs can just get it fresh, dropped limbs use blood_dna_info var/mutable_appearance/brute_damage_overlay = mutable_appearance('icons/mob/effects/dam_mob.dmi', "[dmg_overlay_type]_[body_zone]_[brutestate]0_overlay", -DAMAGE_LAYER, appearance_flags = RESET_COLOR) if(brute_damage_overlay) brute_blood_overlay.overlays += brute_damage_overlay . += brute_blood_overlay if(burnstate) - . += image('icons/mob/effects/dam_mob.dmi', "[dmg_overlay_type]_[body_zone]_0[burnstate]", -DAMAGE_LAYER) + . += image('icons/mob/effects/dam_mob.dmi', "[dmg_overlay_type]_[body_zone]_0[burnstate]", -DAMAGE_LAYER, dir = SOUTH) - var/image/limb = image(layer = -BODYPARTS_LAYER) - var/image/aux + var/image_dir = null + if (dropped) + image_dir = SOUTH // Handles invisibility (not alpha or actual invisibility but invisibility) if(is_invisible) - limb.icon = icon_invisible - limb.icon_state = "invisible_[body_zone]" - . += limb + . += image(icon_invisible, "invisible_[body_zone]", -BODYPARTS_LAYER, dir = image_dir) return . // Normal non-husk handling - // This is the MEAT of limb icon code - limb.icon = icon_greyscale + // This is the MEAT of limb icon code + var/used_icon = icon_greyscale if(!should_draw_greyscale || !icon_greyscale) - limb.icon = icon_static + used_icon = icon_static - if(is_dimorphic) //Does this type of limb have sexual dimorphism? - limb.icon_state = "[limb_id]_[body_zone]_[limb_gender]" - else - limb.icon_state = "[limb_id]_[body_zone]" + var/used_state = "[limb_id]_[body_zone]" + if(is_dimorphic) // Does this type of limb have sexual dimorphism? + used_state = "[limb_id]_[body_zone]_[limb_gender]" + + var/image/limb = image(used_icon, used_state, -BODYPARTS_LAYER, dir = image_dir) + var/image/aux = null icon_exists_or_scream(limb.icon, limb.icon_state) //Prints a stack trace on the first failure of a given iconstate. . += limb if(aux_zone) //Hand shit - aux = image(limb.icon, "[limb_id]_[aux_zone]", -aux_layer) + aux = image(limb.icon, "[limb_id]_[aux_zone]", -aux_layer, dir = image_dir) . += aux if(is_husked) @@ -1181,50 +1190,67 @@ if(aux_zone) aux.color = limb_color // SKYRAT EDIT CHANGE - ORIGINAL: aux.color = "[draw_color]" - //EMISSIVE CODE START - // For some reason this was applied as an overlay on the aux image and limb image before. - // I am very sure that this is unnecessary, and i need to treat it as part of the return list - // to be able to mask it proper in case this limb is a leg. var/atom/location = loc || owner || src if(blocks_emissive != EMISSIVE_BLOCK_NONE) var/mutable_appearance/limb_em_block = emissive_blocker(limb.icon, limb.icon_state, location, layer = limb.layer, alpha = limb.alpha) + if (dropped) + limb_em_block = image(limb_em_block, dir = SOUTH) . += limb_em_block if(aux_zone) var/mutable_appearance/aux_em_block = emissive_blocker(aux.icon, aux.icon_state, location, layer = aux.layer, alpha = aux.alpha) + if (dropped) + aux_em_block = image(aux_em_block, dir = SOUTH) . += aux_em_block if(!is_husked && is_emissive) var/mutable_appearance/limb_em = emissive_appearance(limb.icon, "[limb.icon_state]_e", location, layer = limb.layer, alpha = limb.alpha) + if (dropped) + limb_em = image(limb_em, dir = SOUTH) . += limb_em if(aux_zone) var/mutable_appearance/aux_em = emissive_appearance(aux.icon, "[aux.icon_state]_e", location, layer = aux.layer, alpha = aux.alpha) + if (dropped) + aux_em = image(aux_em, dir = SOUTH) . += aux_em - //EMISSIVE CODE END - //No need to handle leg layering if dropped, we only face south anyways + // No need to handle leg layering if dropped, we only face south anyways if(!dropped && ((body_zone == BODY_ZONE_R_LEG) || (body_zone == BODY_ZONE_L_LEG))) - //Legs are a bit goofy in regards to layering, and we will need two images instead of one to fix that + // Legs are a bit goofy in regards to layering, and we will need two images instead of one to fix that var/obj/item/bodypart/leg/leg_source = src for(var/image/limb_image in .) - //remove the old, unmasked image + // Remove the old, unmasked image . -= limb_image - //add two masked images based on the old one + // Add two masked images based on the old one . += leg_source.generate_masked_leg(limb_image) // And finally put bodypart_overlays on if not husked if(is_husked) return . - //Draw external organs like horns and frills + // Draw external organs like horns and frills for(var/datum/bodypart_overlay/overlay as anything in bodypart_overlays) if(!overlay.can_draw_on_bodypart(src, owner)) continue - //Some externals have multiple layers for background, foreground and between + + // Some externals have multiple layers for background, foreground and between for(var/external_layer in overlay.all_layers) - if(overlay.layers & external_layer) - . += overlay.get_overlay(external_layer, src) + if(!(overlay.layers & external_layer)) + continue + + var/external_overlay = overlay.get_overlay(external_layer, src) + if (!dropped) + . += external_overlay + continue + + if (!islist(external_overlay)) + . += image(external_overlay, dir = SOUTH) + continue + + for (var/mutable_appearance/actual_overlay as anything in external_overlay) + . += image(actual_overlay, dir = SOUTH) + for(var/datum/layer in .) overlay.modify_bodypart_appearance(layer) // SKYRAT EDIT ADDITION BEGIN - MARKINGS CODE diff --git a/code/modules/surgery/bodyparts/head.dm b/code/modules/surgery/bodyparts/head.dm index bea39018a6c..5e909eeee83 100644 --- a/code/modules/surgery/bodyparts/head.dm +++ b/code/modules/surgery/bodyparts/head.dm @@ -173,56 +173,46 @@ /obj/item/bodypart/head/get_limb_icon(dropped, mob/living/carbon/update_on) . = ..() - . += get_hair_and_lips_icon(dropped) // We need to get the eyes if we are dropped (ugh) - if(dropped) - var/obj/item/organ/eyes/eyes = locate(/obj/item/organ/eyes) in src - // This is a bit of copy/paste code from eyes.dm:generate_body_overlay - if(eyes?.eye_icon_state && (head_flags & HEAD_EYESPRITES)) - var/image/eye_left = image('icons/mob/human/human_face.dmi', "[eyes.eye_icon_state]_l", -EYES_LAYER, SOUTH) - var/image/eye_right = image('icons/mob/human/human_face.dmi', "[eyes.eye_icon_state]_r", -EYES_LAYER, SOUTH) - if(head_flags & HEAD_EYECOLOR) - if(eyes.eye_color_left) - eye_left.color = eyes.eye_color_left - if(eyes.eye_color_right) - eye_right.color = eyes.eye_color_right - if(eyes.overlay_ignore_lighting) - eye_left.overlays += emissive_appearance(eye_left.icon, eye_left.icon_state, src, alpha = eye_left.alpha) - eye_right.overlays += emissive_appearance(eye_right.icon, eye_right.icon_state, src, alpha = eye_right.alpha) - else if(blocks_emissive != EMISSIVE_BLOCK_NONE) - var/atom/location = loc || owner || src - eye_left.overlays += emissive_blocker(eye_left.icon, eye_left.icon_state, location, alpha = eye_left.alpha) - eye_right.overlays += emissive_blocker(eye_right.icon, eye_right.icon_state, location, alpha = eye_right.alpha) - if(worn_face_offset) - worn_face_offset.apply_offset(eye_left) - worn_face_offset.apply_offset(eye_right) + if(!dropped) + return - // SKYRAT EDIT ADDITION START - Customization (Emissives and synths) - if (eyes.is_emissive) // Because it was done all weird up there. - var/mutable_appearance/emissive_left = emissive_appearance(eye_left.icon, eye_left.icon_state, src, -BODY_LAYER, eye_left.alpha) - var/mutable_appearance/emissive_right = emissive_appearance(eye_right.icon, eye_right.icon_state, src, -BODY_LAYER, eye_right.alpha) + var/obj/item/organ/eyes/eyes = locate(/obj/item/organ/eyes) in src + if(!eyes) + if (!(head_flags & HEAD_EYEHOLES)) + return + var/image/no_eyes = image('icons/mob/human/human_face.dmi', "eyes_missing", -EYES_LAYER, SOUTH) + worn_face_offset?.apply_offset(no_eyes) + . += no_eyes + return - emissive_left.appearance_flags &= ~RESET_TRANSFORM - emissive_right.appearance_flags &= ~RESET_TRANSFORM + if(!eyes.eye_icon_state || !(head_flags & HEAD_EYESPRITES)) + return - if(worn_face_offset) - worn_face_offset.apply_offset(emissive_right) - worn_face_offset.apply_offset(emissive_left) + // This is a bit of copy/paste code from eyes.dm:generate_body_overlay + var/image/eye_left = image('icons/mob/human/human_face.dmi', "[eyes.eye_icon_state]_l", -EYES_LAYER, SOUTH) + var/image/eye_right = image('icons/mob/human/human_face.dmi', "[eyes.eye_icon_state]_r", -EYES_LAYER, SOUTH) + if(head_flags & HEAD_EYECOLOR) + if(eyes.eye_color_left) + eye_left.color = eyes.eye_color_left + if(eyes.eye_color_right) + eye_right.color = eyes.eye_color_right - eye_left.overlays += emissive_left - eye_right.overlays += emissive_right + var/list/emissive_overlays = eyes.get_emissive_overlays(eye_left, eye_right, src) + if(length(emissive_overlays)) + eye_left.overlays += image(emissive_overlays[1], dir = SOUTH) + eye_right.overlays += image(emissive_overlays[2], dir = SOUTH) + else if(blocks_emissive != EMISSIVE_BLOCK_NONE) + eye_left.overlays += image(emissive_blocker(eye_left.icon, eye_left.icon_state, src, alpha = eye_left.alpha), dir = SOUTH) + eye_right.overlays += image(emissive_blocker(eye_right.icon, eye_right.icon_state, src, alpha = eye_right.alpha), dir = SOUTH) - // SKYRAT EDIT END + if(worn_face_offset) + worn_face_offset.apply_offset(eye_left) + worn_face_offset.apply_offset(eye_right) - . += eye_left - . += eye_right - else if(!eyes && (head_flags & HEAD_EYEHOLES)) - var/image/no_eyes = image('icons/mob/human/human_face.dmi', "eyes_missing", -EYES_LAYER, SOUTH) - worn_face_offset?.apply_offset(no_eyes) - . += no_eyes - - return + . += eye_left + . += eye_right /obj/item/bodypart/head/Initialize(mapload) . = ..() diff --git a/code/modules/surgery/bodyparts/head_hair_and_lips.dm b/code/modules/surgery/bodyparts/head_hair_and_lips.dm index daf99b4976d..7db705b3a69 100644 --- a/code/modules/surgery/bodyparts/head_hair_and_lips.dm +++ b/code/modules/surgery/bodyparts/head_hair_and_lips.dm @@ -10,7 +10,7 @@ facial_hair_hidden = FALSE LAZYNULL(hair_masks) if(human_head_owner) - for(var/obj/item/worn_item in human_head_owner.get_equipped_items()) + for(var/obj/item/worn_item in human_head_owner.get_equipped_items(INCLUDE_ABSTRACT)) if(worn_item.hair_mask) LAZYSET(hair_masks, worn_item.hair_mask, TRUE) hair_hidden = !!(human_head_owner.obscured_slots & HIDEHAIR) @@ -62,16 +62,16 @@ . = list() var/atom/location = loc || owner || src + var/image_dir = null + if (dropped) + image_dir = SOUTH var/datum/sprite_accessory/sprite_accessory if(!facial_hair_hidden && lip_style && (head_flags & HEAD_LIPS)) //not a sprite accessory, don't ask //Overlay - var/image/lip_overlay = image('icons/mob/human/human_face.dmi', "lips_[lip_style]", -BODY_LAYER) + var/image/lip_overlay = image('icons/mob/human/human_face.dmi', "lips_[lip_style]", -BODY_LAYER, dir = image_dir) lip_overlay.color = lip_color - //Emissive blocker - if(blocks_emissive != EMISSIVE_BLOCK_NONE) - lip_overlay.overlays += emissive_blocker(lip_overlay.icon, lip_overlay.icon_state, location, alpha = facial_hair_alpha) //Offsets worn_face_offset?.apply_offset(lip_overlay) . += lip_overlay @@ -81,11 +81,14 @@ sprite_accessory = SSaccessories.facial_hairstyles_list[facial_hairstyle] if(sprite_accessory) //Overlay - facial_hair_overlay = image(sprite_accessory.icon, sprite_accessory.icon_state, -HAIR_LAYER) + facial_hair_overlay = image(sprite_accessory.icon, sprite_accessory.icon_state, -HAIR_LAYER, dir = image_dir) facial_hair_overlay.alpha = facial_hair_alpha //Emissive blocker if(blocks_emissive != EMISSIVE_BLOCK_NONE) - facial_hair_overlay.overlays += emissive_blocker(facial_hair_overlay.icon, facial_hair_overlay.icon_state, location, alpha = facial_hair_alpha) + var/mutable_appearance/em_block = emissive_blocker(facial_hair_overlay.icon, facial_hair_overlay.icon_state, location, alpha = facial_hair_alpha) + if (dropped) + em_block = image(em_block, dir = SOUTH) + facial_hair_overlay.overlays += em_block //Offsets worn_face_offset?.apply_offset(facial_hair_overlay) . += facial_hair_overlay @@ -93,7 +96,7 @@ var/facial_hair_gradient_style = gradient_styles[GRADIENT_FACIAL_HAIR_KEY] if(facial_hair_gradient_style != "None") var/facial_hair_gradient_color = gradient_colors[GRADIENT_FACIAL_HAIR_KEY] - var/image/facial_hair_gradient_overlay = get_gradient_overlay(icon(sprite_accessory.icon, sprite_accessory.icon_state), -HAIR_LAYER, SSaccessories.facial_hair_gradients_list[facial_hair_gradient_style], facial_hair_gradient_color) + var/image/facial_hair_gradient_overlay = get_gradient_overlay(icon(sprite_accessory.icon, sprite_accessory.icon_state), -HAIR_LAYER, SSaccessories.facial_hair_gradients_list[facial_hair_gradient_style], facial_hair_gradient_color, dropped) . += facial_hair_gradient_overlay var/list/all_hair_overlays = list() @@ -103,7 +106,7 @@ //Hair masks var/icon/base_icon = icon(hair_sprite_accessory.getCachedIcon(hair_masks)) //Overlay - all_hair_overlays += image(base_icon, layer=-HAIR_LAYER) + all_hair_overlays += image(base_icon, layer=-HAIR_LAYER, dir = image_dir) //If we have any hair appendages (ponytails, etc.) sticking out on a particular side, we need to add an additional hair layer to go above hats/helmets for the sides they stick out on if(LAZYLEN(hair_sprite_accessory.hair_appendages_outer)) var/strictly_masked_zones = NONE @@ -112,7 +115,7 @@ for(var/appendage_icon_state in hair_sprite_accessory.hair_appendages_outer) var/appendage_zone = hair_sprite_accessory.hair_appendages_outer[appendage_icon_state] if(!(appendage_zone & strictly_masked_zones)) // if there are no strict masks in this zone - all_hair_overlays += image(hair_sprite_accessory.icon, icon_state=appendage_icon_state, layer=-OUTER_HAIR_LAYER) + all_hair_overlays += image(hair_sprite_accessory.icon, icon_state=appendage_icon_state, layer=-OUTER_HAIR_LAYER, dir = image_dir) for(var/image/hair_overlay as anything in all_hair_overlays) hair_overlay.alpha = hair_alpha hair_overlay.pixel_z = hair_sprite_accessory.y_offset @@ -123,7 +126,10 @@ // SKYRAT EDIT ADDITION END //Emissive blocker if(blocks_emissive != EMISSIVE_BLOCK_NONE) - hair_overlay.overlays += emissive_blocker(hair_overlay.icon, hair_overlay.icon_state, location, alpha = hair_alpha) + var/mutable_appearance/em_block = emissive_blocker(hair_overlay.icon, hair_overlay.icon_state, location, alpha = hair_alpha) + if (dropped) + em_block = image(em_block, dir = SOUTH) + hair_overlay.overlays += em_block //Offsets worn_face_offset?.apply_offset(hair_overlay) . += hair_overlay @@ -131,7 +137,7 @@ var/hair_gradient_style = gradient_styles[GRADIENT_HAIR_KEY] if(hair_gradient_style != "None") var/hair_gradient_color = gradient_colors[GRADIENT_HAIR_KEY] - var/image/hair_gradient_overlay = get_gradient_overlay(base_icon, hair_overlay.layer, SSaccessories.hair_gradients_list[hair_gradient_style], hair_gradient_color) + var/image/hair_gradient_overlay = get_gradient_overlay(base_icon, hair_overlay.layer, SSaccessories.hair_gradients_list[hair_gradient_style], hair_gradient_color, dropped) hair_gradient_overlay.pixel_z = hair_sprite_accessory.y_offset // SKYRAT EDIT ADDITION - Species hair offset if(LAZYFIND(owner?.dna?.species?.offset_features, OFFSET_HAIR)) @@ -141,10 +147,10 @@ . += hair_gradient_overlay if(show_debrained && (head_flags & HEAD_DEBRAIN)) - . += get_debrain_overlay() + . += get_debrain_overlay(dropped) if(show_eyeless && (head_flags & HEAD_EYEHOLES)) - . += get_eyeless_overlay() + . += get_eyeless_overlay(dropped) //HAIR COLOR START if(override_hair_color) @@ -166,7 +172,7 @@ #undef SET_OVERLAY_VALUE /// Returns an appropriate debrained overlay -/obj/item/bodypart/head/proc/get_debrain_overlay() +/obj/item/bodypart/head/proc/get_debrain_overlay(dropped) RETURN_TYPE(/image) var/debrain_icon = 'icons/mob/human/human_face.dmi' var/debrain_icon_state = "debrained" @@ -181,21 +187,25 @@ debrain_icon_state = "debrained" var/image/debrain_overlay = mutable_appearance(debrain_icon, debrain_icon_state, -HAIR_LAYER) + if (dropped) + debrain_overlay = image(debrain_overlay, dir = SOUTH) worn_face_offset?.apply_offset(debrain_overlay) return debrain_overlay /// Returns an appropriate missing eyes overlay -/obj/item/bodypart/head/proc/get_eyeless_overlay() +/obj/item/bodypart/head/proc/get_eyeless_overlay(dropped) RETURN_TYPE(/image) var/eyeless_icon = 'icons/mob/human/human_face.dmi' var/eyeless_icon_state = "eyes_missing" var/image/eyeless_overlay = mutable_appearance(eyeless_icon, eyeless_icon_state, -HAIR_LAYER) + if (dropped) + eyeless_overlay = image(eyeless_overlay, dir = SOUTH) worn_face_offset?.apply_offset(eyeless_overlay) return eyeless_overlay /// Returns an appropriate hair/facial hair gradient overlay -/obj/item/bodypart/head/proc/get_gradient_overlay(icon/base_icon, layer, datum/sprite_accessory/gradient, grad_color) +/obj/item/bodypart/head/proc/get_gradient_overlay(icon/base_icon, layer, datum/sprite_accessory/gradient, grad_color, dropped) RETURN_TYPE(/mutable_appearance) var/mutable_appearance/gradient_overlay = mutable_appearance(layer = layer) @@ -204,6 +214,8 @@ temp.Blend(temp_hair, ICON_ADD) gradient_overlay.icon = temp gradient_overlay.color = grad_color + if (dropped) + gradient_overlay = image(gradient_overlay, dir = SOUTH) worn_face_offset?.apply_offset(gradient_overlay) return gradient_overlay diff --git a/code/modules/surgery/ear_surgery.dm b/code/modules/surgery/ear_surgery.dm index 9f41949f763..41afe23eb5f 100644 --- a/code/modules/surgery/ear_surgery.dm +++ b/code/modules/surgery/ear_surgery.dm @@ -45,8 +45,10 @@ span_notice("[user] completes the surgery on [target]'s ears."), ) display_pain(target, "Your head swims, but it seems like you can feel your hearing coming back!") - target_ears.deaf = (20) //deafness works off ticks, so this should work out to about 30-40s target_ears.set_organ_damage(0) + ///makes you temporarily deaf for a duration post-surgery + var/deaf_change = 40 SECONDS - target_ears.temporary_deafness + target_ears.adjust_temporary_deafness(deaf_change) return ..() /datum/surgery_step/fix_ears/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) diff --git a/code/modules/surgery/organs/_organ.dm b/code/modules/surgery/organs/_organ.dm index caa18d952b1..057b210a881 100644 --- a/code/modules/surgery/organs/_organ.dm +++ b/code/modules/surgery/organs/_organ.dm @@ -117,7 +117,7 @@ INITIALIZE_IMMEDIATE(/obj/item/organ) /// Add a Trait to an organ that it will give its owner. /obj/item/organ/proc/add_organ_trait(trait) - LAZYADD(organ_traits, trait) + LAZYOR(organ_traits, trait) if(isnull(owner)) return ADD_TRAIT(owner, trait, REF(src)) @@ -251,14 +251,9 @@ INITIALIZE_IMMEDIATE(/obj/item/organ) damage = clamp(damage + damage_amount, 0, maximum) SEND_SIGNAL(src, COMSIG_ORGAN_ADJUST_DAMAGE, damage_amount, maximum, required_organ_flag) . = (prev_damage - damage) // return net damage - var/message = check_damage_thresholds(owner) + var/message = check_damage_thresholds() prev_damage = damage - if(damage >= maxHealth) - organ_flags |= ORGAN_FAILING - else - organ_flags &= ~ORGAN_FAILING - if(message && owner && owner.stat <= SOFT_CRIT) to_chat(owner, message) @@ -272,24 +267,66 @@ INITIALIZE_IMMEDIATE(/obj/item/organ) * description: By checking our current damage against our previous damage, we can decide whether we've passed an organ threshold. * If we have, send the corresponding threshold message to the owner, if such a message exists. */ -/obj/item/organ/proc/check_damage_thresholds(mob/organ_owner) +/obj/item/organ/proc/check_damage_thresholds() + SHOULD_CALL_PARENT(TRUE) if(damage == prev_damage) return var/delta = damage - prev_damage + var/message = "" if(delta > 0) - if(damage >= maxHealth) - return now_failing - if(damage > high_threshold && prev_damage <= high_threshold) - return high_threshold_passed if(damage > low_threshold && prev_damage <= low_threshold) - return low_threshold_passed - else - if(prev_damage > low_threshold && damage <= low_threshold) - return low_threshold_cleared - if(prev_damage > high_threshold && damage <= high_threshold) - return high_threshold_cleared - if(prev_damage == maxHealth) - return now_fixed + on_low_damage_received() + message = low_threshold_passed + if(damage > high_threshold && prev_damage <= high_threshold) + on_high_damage_received() + message = high_threshold_passed + if(damage >= maxHealth) + organ_flags |= ORGAN_FAILING + on_begin_failure() + message = now_failing + return message + + if(prev_damage == maxHealth) + organ_flags &= ~ORGAN_FAILING + on_failure_recovery() + message = now_fixed + if(prev_damage > high_threshold && damage <= high_threshold) + on_high_damage_healed() + message = high_threshold_cleared + if(prev_damage > low_threshold && damage <= low_threshold) + on_low_damage_healed() + message = low_threshold_cleared + return message + +/** + * Called when the damage surpasses the low damage threshold. + * + * This and other procs like this one merely exist to make it easier to keep a standard on + * damage thresholds for organs. This doesn't mean you cannot make custom thresholds for various stuff, + * and you're more than welcome to improve or refactor any portion of the code around these mechanics + */ +/obj/item/organ/proc/on_low_damage_received() + return + +///Called when the damage goes below the low damage threshold +/obj/item/organ/proc/on_low_damage_healed() + return + +///Called when the damage surpasses the high damage threshold +/obj/item/organ/proc/on_high_damage_received() + return + +///Called when the damage goes below the high damage threshold +/obj/item/organ/proc/on_high_damage_healed() + return + +///Called when the organ enters failing stage +/obj/item/organ/proc/on_begin_failure() + return + +///Called when the organ recovers from failing stage +/obj/item/organ/proc/on_failure_recovery() + return //Looking for brains? //Try code/modules/mob/living/carbon/brain/brain_item.dm @@ -313,9 +350,9 @@ INITIALIZE_IMMEDIATE(/obj/item/organ) dna.species.regenerate_organs(src, replace_current = FALSE) set_heartattack(FALSE) - // Ears have aditional vаr "deaf", need to update it too + // Ears have aditional var "deaf", need to update it too var/obj/item/organ/ears/ears = get_organ_slot(ORGAN_SLOT_EARS) - ears?.adjustEarDamage(0, -INFINITY) // full heal ears deafness + ears.adjust_temporary_deafness(-INFINITY) return @@ -352,7 +389,8 @@ INITIALIZE_IMMEDIATE(/obj/item/organ) if(!ears) ears = new() ears.Insert(src) - ears.adjustEarDamage(-INFINITY, -INFINITY) // actually do: set_organ_damage(0) and deaf = 0 + ears.set_organ_damage(0) + ears.adjust_temporary_deafness(-INFINITY) ///Organs don't die instantly, and neither should you when you get fucked up /obj/item/organ/proc/handle_failing_organs(seconds_per_tick) diff --git a/code/modules/surgery/organs/internal/cyberimp/augments_arms.dm b/code/modules/surgery/organs/internal/cyberimp/augments_arms.dm index 5f338749f40..5d176683eda 100644 --- a/code/modules/surgery/organs/internal/cyberimp/augments_arms.dm +++ b/code/modules/surgery/organs/internal/cyberimp/augments_arms.dm @@ -438,25 +438,31 @@ ) aug_overlay = "strongarm" - ///The amount of damage the implant adds to our unarmed attacks. - var/punch_damage = 5 - ///Biotypes we apply an additional amount of damage too - var/biotype_bonus_targets = MOB_BEAST | MOB_SPECIAL | MOB_MINING - ///Extra damage dealt to our targeted mobs + /// The amount of damage the implant adds to the lower punching force of our arm. + var/lower_punch_damage = 0 + /// The amount of damage the implant adds to the upper punching force of our arm. + var/upper_punch_damage = 2 + /// The amount of punch effectiveness (AKA accuracy and crit potential) the implant adds to our arm + var/punch_effectiveness_added = 10 + /// How much extra damage does our implant allow the implanted while grabbing someone and they are unable to break the grapple? + var/bonus_grab_damage = 20 + /// Biotypes we apply an additional amount of damage too + var/biotype_bonus_targets = MOB_SPECIAL | MOB_MINING + /// Extra damage dealt to our targeted mobs var/biotype_bonus_damage = 20 - ///IF true, the throw attack will not smash people into walls + /// IF true, the throw attack will not smash people into walls var/non_harmful_throw = TRUE - ///How far away your attack will throw your oponent + /// How far away your attack will throw your oponent var/attack_throw_range = 1 - ///Minimum throw power of the attack + /// Minimum throw power of the attack var/throw_power_min = 1 - ///Maximum throw power of the attack + /// Maximum throw power of the attack var/throw_power_max = 4 - ///How long will the implant malfunction if it is EMP'd + /// How long will the implant malfunction if it is EMP'd var/emp_base_duration = 9 SECONDS - ///How long before we get another slam punch; consider that these usually come in pairs of two + /// How long before we get another slam punch against a human; consider that these usually come in pairs var/slam_cooldown_duration = 5 SECONDS - ///Tracks how soon we can perform another slam attack + /// Tracks how soon we can perform another slam attack COOLDOWN_DECLARE(slam_cooldown) /obj/item/organ/cyberimp/arm/strongarm/Initialize(mapload) @@ -472,6 +478,20 @@ . = ..() UnregisterSignal(arm_owner, COMSIG_LIVING_EARLY_UNARMED_ATTACK) +/obj/item/organ/cyberimp/arm/strongarm/on_bodypart_insert(obj/item/bodypart/arm) + . = ..() + arm.unarmed_damage_low += lower_punch_damage + arm.unarmed_damage_high += upper_punch_damage + arm.unarmed_effectiveness += punch_effectiveness_added + arm.unarmed_grab_damage_bonus += bonus_grab_damage + +/obj/item/organ/cyberimp/arm/strongarm/on_bodypart_remove(obj/item/bodypart/arm) + . = ..() + arm.unarmed_damage_low += lower_punch_damage + arm.unarmed_damage_high += upper_punch_damage + arm.unarmed_effectiveness += punch_effectiveness_added + arm.unarmed_grab_damage_bonus += bonus_grab_damage + /obj/item/organ/cyberimp/arm/strongarm/emp_act(severity) . = ..() if((organ_flags & ORGAN_FAILING) || . & EMP_PROTECT_SELF) @@ -495,13 +515,12 @@ return NONE if(HAS_TRAIT(source, TRAIT_HULK)) //NO HULK return NONE - if(!COOLDOWN_FINISHED(src, slam_cooldown)) + if(!COOLDOWN_FINISHED(src, slam_cooldown) && ishuman(target)) return NONE if(!source.can_unarmed_attack()) return COMPONENT_SKIP_ATTACK var/mob/living/living_target = target - source.changeNext_move(CLICK_CD_MELEE) var/picked_hit_type = pick("punch", "smash", "pummel", "bash", "slam") if(organ_flags & ORGAN_FAILING) @@ -514,22 +533,28 @@ source.Paralyze(1 SECONDS) return COMPONENT_CANCEL_ATTACK_CHAIN - if(ishuman(target)) - var/mob/living/carbon/human/human_target = target - if(human_target.check_block(source, punch_damage, "[source]'s' [picked_hit_type]")) - source.do_attack_animation(target) - playsound(living_target.loc, 'sound/items/weapons/punchmiss.ogg', 25, TRUE, -1) - log_combat(source, target, "attempted to [picked_hit_type]", "muscle implant") - return COMPONENT_CANCEL_ATTACK_CHAIN - var/ground_bounce = FALSE // funny flavor. if you hit someone who's floored you slam them into the ground, breaking tiles var/turf/target_turf = get_turf(living_target) + /* Damage calculations operate on the same math used in /datum/species/proc/harm(): + * Unarmed damage is randomized between an upper and lower value. + * The lower value is determined by taking the damage value from the limb, and then increasing that value based on athletics level (min upper value) + * The upper value is determiend by taking the damage value from the limb, and then seeing if we have the strength trait, providing extra damage. + * The end result is that the more investment into athletics, the more precise the damage is, without necessarily increasing the potential damage. + */ + + // Our attacking limb var/obj/item/bodypart/attacking_bodypart = hand - var/potential_damage = punch_damage + // The upper damage, calculated first as it will be used to cap our potential lower damage. + var/potential_upper_damage = attacking_bodypart.unarmed_damage_high + (HAS_TRAIT(source, TRAIT_STRENGTH) ? 2 : 0) + // The lower damage, which is capped by potential_upper_damage + var/potential_lower_damage = min(attacking_bodypart.unarmed_damage_low + (source.mind?.get_skill_level(/datum/skill/athletics) || 0), potential_upper_damage) + // Finally, we determine the actual damage roll. + var/potential_damage = rand(potential_lower_damage, potential_upper_damage) + // This value is used to determine armour penetration. var/potential_effectiveness = attacking_bodypart.unarmed_effectiveness + // This is a damage and penetration multiplier if our target is grabbed when we deliver our punch. var/potential_pummel_bonus = attacking_bodypart.unarmed_pummeling_bonus - potential_damage += rand(attacking_bodypart.unarmed_damage_low, attacking_bodypart.unarmed_damage_high) if(living_target.pulledby && living_target.pulledby.grab_state >= GRAB_AGGRESSIVE) // get pummeled idiot potential_damage *= potential_pummel_bonus @@ -541,21 +566,18 @@ if(biotype_bonus_targets && is_correct_biotype) //If we are punching one of our special biotype targets, increase the damage floor by a factor of two. potential_damage += biotype_bonus_damage + if(ishuman(target)) + var/mob/living/carbon/human/human_target = target + if(human_target.check_block(source, potential_damage, "[source]'s' [picked_hit_type]")) + source.do_attack_animation(target) + playsound(living_target.loc, 'sound/items/weapons/punchmiss.ogg', 25, TRUE, -1) + log_combat(source, target, "attempted to [picked_hit_type]", "muscle implant") + return COMPONENT_CANCEL_ATTACK_CHAIN + source.do_attack_animation(target, ATTACK_EFFECT_SMASH) playsound(living_target.loc, 'sound/items/weapons/punch1.ogg', 25, TRUE, -1) - var/target_zone = living_target.get_random_valid_zone(source.zone_selected) - var/armor_block = living_target.run_armor_check(target_zone, MELEE, armour_penetration = potential_effectiveness) - living_target.apply_damage(potential_damage * 2, attacking_bodypart.attack_type, target_zone, armor_block) - - if(source.body_position != LYING_DOWN) //Throw them if we are standing - var/atom/throw_target = get_edge_target_turf(living_target, source.dir) - living_target.throw_at(throw_target, attack_throw_range, rand(throw_power_min,throw_power_max), source, gentle = non_harmful_throw) - if(ground_bounce) - if(isfloorturf(target_turf)) - var/turf/open/floor/crunched = target_turf - crunched.crush() // crunch - + // Some mobs gib when killed, so we're logging early. At this point, we're definitely hitting, so... living_target.visible_message( span_danger("[source] [picked_hit_type]ed [living_target][ground_bounce ? " into [target_turf]" : ""]!"), span_userdanger("You're [picked_hit_type]ed by [source][ground_bounce ? " into [target_turf]" : ""]!"), @@ -568,7 +590,24 @@ log_combat(source, target, "[picked_hit_type]ed", "muscle implant") - COOLDOWN_START(src, slam_cooldown, slam_cooldown_duration) + if(ishuman(target)) + COOLDOWN_START(src, slam_cooldown, slam_cooldown_duration) + + var/target_zone = living_target.get_random_valid_zone(source.zone_selected) + var/armor_block = living_target.run_armor_check(target_zone, MELEE, armour_penetration = potential_effectiveness) + living_target.apply_damage(potential_damage * 2, attacking_bodypart.attack_type, target_zone, armor_block) + + if(source.body_position != LYING_DOWN && !QDELETED(living_target)) //Throw them if we are standing and we didn't somehow just completely obliterate the target + var/atom/throw_target = get_edge_target_turf(living_target, source.dir) + living_target.throw_at(throw_target, attack_throw_range, rand(throw_power_min,throw_power_max), source, gentle = non_harmful_throw) + if(ground_bounce) + if(isfloorturf(target_turf)) + var/turf/open/floor/crunched = target_turf + crunched.crush() // crunch + else if (ground_bounce) // Just in case our target mob somehow evaporated during this process, we still leave an obliterated tile in their wake + if(isfloorturf(target_turf)) + var/turf/open/floor/crunched = target_turf + crunched.crush() // again, crunch return COMPONENT_CANCEL_ATTACK_CHAIN diff --git a/code/modules/surgery/organs/internal/cyberimp/augments_eyes.dm b/code/modules/surgery/organs/internal/cyberimp/augments_eyes.dm index 9763b22e4b0..19ff1031d79 100644 --- a/code/modules/surgery/organs/internal/cyberimp/augments_eyes.dm +++ b/code/modules/surgery/organs/internal/cyberimp/augments_eyes.dm @@ -18,32 +18,36 @@ /// Eyecolor from the HUD var/hud_color = "#3CB8A5" +/obj/item/organ/cyberimp/eyes/hud/Initialize(mapload) + . = ..() + if(toggled_on) + for(var/hud_trait in HUD_traits) + add_organ_trait(hud_trait) + /obj/item/organ/cyberimp/eyes/hud/proc/toggle_hud(mob/living/carbon/human/eye_owner) if(toggled_on) toggled_on = FALSE - eye_owner.remove_traits(HUD_traits, ORGAN_TRAIT) + for(var/hud_trait in HUD_traits) + remove_organ_trait(hud_trait) balloon_alert(eye_owner, "hud disabled") if(hud_color) eye_owner.remove_eye_color(EYE_COLOR_HUD_PRIORITY) return toggled_on = TRUE - eye_owner.add_traits(HUD_traits, ORGAN_TRAIT) + for(var/hud_trait in HUD_traits) + add_organ_trait(hud_trait) balloon_alert(eye_owner, "hud enabled") if(hud_color) eye_owner.add_eye_color_right(hud_color, EYE_COLOR_HUD_PRIORITY) /obj/item/organ/cyberimp/eyes/hud/on_mob_insert(mob/living/carbon/human/eye_owner, special = FALSE, movement_flags) . = ..() - eye_owner.add_traits(HUD_traits, ORGAN_TRAIT) - toggled_on = TRUE - if(hud_color) + if(toggled_on && hud_color) eye_owner.add_eye_color_right(hud_color, EYE_COLOR_HUD_PRIORITY, !special) /obj/item/organ/cyberimp/eyes/hud/on_mob_remove(mob/living/carbon/human/eye_owner, special, movement_flags) . = ..() - eye_owner.remove_traits(HUD_traits, ORGAN_TRAIT) - toggled_on = FALSE - if(hud_color) + if(toggled_on && hud_color) eye_owner.remove_eye_color(EYE_COLOR_HUD_PRIORITY, !special) /obj/item/organ/cyberimp/eyes/hud/medical diff --git a/code/modules/surgery/organs/internal/ears/_ears.dm b/code/modules/surgery/organs/internal/ears/_ears.dm index e8a40619073..478203c02c0 100644 --- a/code/modules/surgery/organs/internal/ears/_ears.dm +++ b/code/modules/surgery/organs/internal/ears/_ears.dm @@ -14,8 +14,8 @@ now_fixed = span_info("Noise slowly begins filling your ears once more.") low_threshold_cleared = span_info("The ringing in your ears has died down.") - /// `deaf` measures "ticks" of deafness. While > 0, the person is unable to hear anything. - var/deaf = 0 + /// temporary deafness, measured in seconds. While > 0, the person is unable to hear anything. + var/temporary_deafness = 0 // `damage` in this case measures long term damage to the ears, if too high, // the person will not have either `deaf` or `ear_damage` decrease @@ -39,23 +39,20 @@ // no healing if failing if(organ_flags & ORGAN_FAILING) return - adjustEarDamage(0, -0.5 * seconds_per_tick) + adjust_temporary_deafness(-seconds_per_tick SECONDS) if((damage > low_threshold) && SPT_PROB(damage / 60, seconds_per_tick)) - adjustEarDamage(0, 4) + adjust_temporary_deafness(4 SECONDS) SEND_SOUND(owner, sound('sound/items/weapons/flash_ring.ogg')) -/obj/item/organ/ears/apply_organ_damage(damage_amount, maximum, required_organ_flag) - . = ..() - update_temp_deafness() - /obj/item/organ/ears/on_mob_insert(mob/living/carbon/organ_owner, special, movement_flags) . = ..() - update_temp_deafness() + if(temporary_deafness) + on_deafened() /obj/item/organ/ears/on_mob_remove(mob/living/carbon/organ_owner, special, movement_flags) . = ..() - UnregisterSignal(organ_owner, COMSIG_MOB_SAY) - REMOVE_TRAIT(organ_owner, TRAIT_DEAF, EAR_DAMAGE) + if(temporary_deafness) + on_undeafened(organ_owner) /obj/item/organ/ears/get_status_appendix(advanced, add_tooltips) if(owner.stat == DEAD || !HAS_TRAIT(owner, TRAIT_DEAF)) @@ -65,7 +62,7 @@ return conditional_tooltip("Subject is permanently deaf.", "Irreparable under normal circumstances.", add_tooltips) if(HAS_TRAIT_FROM(owner, TRAIT_DEAF, GENETIC_MUTATION)) return conditional_tooltip("Subject is genetically deaf.", "Use medication such as [/datum/reagent/medicine/mutadone::name].", add_tooltips) - if(HAS_TRAIT_FROM(owner, TRAIT_DEAF, EAR_DAMAGE)) + if((organ_flags & ORGAN_FAILING) || HAS_TRAIT_FROM(owner, TRAIT_DEAF, EAR_DAMAGE)) return conditional_tooltip("Subject is [(organ_flags & ORGAN_FAILING) ? "permanently": "temporarily"] deaf from ear damage.", "Repair surgically, use medication such as [/datum/reagent/medicine/inacusiate::name], or protect ears with earmuffs.", add_tooltips) return "Subject is deaf." @@ -73,52 +70,43 @@ // Always show if we have an appendix return ..() || (owner.stat != DEAD && HAS_TRAIT(owner, TRAIT_DEAF)) -/** - * Snowflake proc to handle temporary deafness - * - * * ddmg: Handles normal organ damage - * * ddeaf: Handles temporary deafness, 1 ddeaf = 2 seconds of deafness, by default (with no multiplier) - */ -/obj/item/organ/ears/proc/adjustEarDamage(ddmg = 0, ddeaf = 0) - if(HAS_TRAIT(owner, TRAIT_GODMODE)) - update_temp_deafness() +///Adjust the temporary deafness of the person, up or down +/obj/item/organ/ears/proc/adjust_temporary_deafness(amount) + // organ failure makes us permanently deafened. Also, doesn't do anything if not in someone or during godmode + if(amount > 0 && owner && HAS_TRAIT(owner, TRAIT_GODMODE)) return - var/mod_damage = ddmg > 0 ? (ddmg * damage_multiplier) : ddmg - if(mod_damage) - apply_organ_damage(mod_damage) - var/mod_deaf = ddeaf > 0 ? (ddeaf * damage_multiplier) : ddeaf - if(mod_deaf) - deaf = max(deaf + mod_deaf, 0) - update_temp_deafness() + temporary_deafness = max(temporary_deafness + amount * damage_multiplier, 0) -/// Updates status of deafness -/obj/item/organ/ears/proc/update_temp_deafness() - // if we're failing we always have at least some deaf stacks (and thus deafness) - if(organ_flags & ORGAN_FAILING) - deaf = max(deaf, 1 * damage_multiplier) - - if(isnull(owner)) + if(!owner) return - if(HAS_TRAIT(owner, TRAIT_GODMODE)) - deaf = 0 + if(temporary_deafness && !HAS_TRAIT_FROM(owner, TRAIT_DEAF, EAR_DAMAGE)) + on_deafened() + else if(!temporary_deafness && HAS_TRAIT_FROM(owner, TRAIT_DEAF, EAR_DAMAGE)) + on_undeafened() - if(deaf > 0) - if(!HAS_TRAIT_FROM(owner, TRAIT_DEAF, EAR_DAMAGE)) - RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(adjust_speech)) - ADD_TRAIT(owner, TRAIT_DEAF, EAR_DAMAGE) - else - REMOVE_TRAIT(owner, TRAIT_DEAF, EAR_DAMAGE) - UnregisterSignal(owner, COMSIG_MOB_SAY) +///Called when temporary deafness begins +/obj/item/organ/ears/proc/on_deafened() + RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(adjust_speech)) + ADD_TRAIT(owner, TRAIT_DEAF, EAR_DAMAGE) + +///Called when temporary deafness reaches zero. Has to have an 'organ_owner' arg, because by the time it's called on 'on_mob_remove', owner is already null +/obj/item/organ/ears/proc/on_undeafened(mob/living/organ_owner = owner) + REMOVE_TRAIT(organ_owner, TRAIT_DEAF, EAR_DAMAGE) + UnregisterSignal(organ_owner, COMSIG_MOB_SAY) + +/obj/item/organ/ears/on_begin_failure() + add_organ_trait(TRAIT_DEAF) + +/obj/item/organ/ears/on_failure_recovery() + remove_organ_trait(TRAIT_DEAF) /// Being deafened by loud noises makes you shout /obj/item/organ/ears/proc/adjust_speech(datum/source, list/speech_args) SIGNAL_HANDLER - if(HAS_TRAIT_NOT_FROM(source, TRAIT_DEAF, EAR_DAMAGE)) - return - if(HAS_TRAIT(source, TRAIT_SIGN_LANG)) + if(HAS_TRAIT_NOT_FROM(owner, TRAIT_DEAF, EAR_DAMAGE) || HAS_TRAIT(owner, TRAIT_SIGN_LANG)) return var/message = speech_args[SPEECH_MESSAGE] @@ -240,16 +228,9 @@ desc = "Allows the user to more easily hear whispers. The user becomes extra vulnerable to loud noises, however" // Same sensitivity as felinid ears damage_multiplier = 2 - -// The original idea was to use signals to do this not traits. Unfortunately, the star effect used for whispers applies before any relevant signals -// This seems like the least invasive solution -/obj/item/organ/ears/cybernetic/whisper/on_mob_insert(mob/living/carbon/ear_owner) - . = ..() - ADD_TRAIT(ear_owner, TRAIT_GOOD_HEARING, ORGAN_TRAIT) - -/obj/item/organ/ears/cybernetic/whisper/on_mob_remove(mob/living/carbon/ear_owner) - . = ..() - REMOVE_TRAIT(ear_owner, TRAIT_GOOD_HEARING, ORGAN_TRAIT) + // The original idea was to use signals to do this not traits. Unfortunately, the star effect used for whispers applies before any relevant signals + // This seems like the least invasive solution + organ_traits = list(TRAIT_GOOD_HEARING) /obj/item/organ/ears/cybernetic/volume name = "volume-adjusting cybernetic ears" @@ -265,14 +246,7 @@ desc = "Through the power of modern engineering, allows the user to hear speech through walls. The user becomes extra vulnerable to loud noises, however" // Same sensitivity as felinid ears damage_multiplier = 2 - -/obj/item/organ/ears/cybernetic/xray/on_mob_insert(mob/living/carbon/ear_owner) - . = ..() - ADD_TRAIT(ear_owner, TRAIT_XRAY_HEARING, ORGAN_TRAIT) - -/obj/item/organ/ears/cybernetic/xray/on_mob_remove(mob/living/carbon/ear_owner) - . = ..() - REMOVE_TRAIT(ear_owner, TRAIT_XRAY_HEARING, ORGAN_TRAIT) + organ_traits = list(TRAIT_XRAY_HEARING) /obj/item/organ/ears/cybernetic/emp_act(severity) . = ..() diff --git a/code/modules/surgery/organs/internal/eyes/_eyes.dm b/code/modules/surgery/organs/internal/eyes/_eyes.dm index 6ad761d5917..6d9582fc0c8 100644 --- a/code/modules/surgery/organs/internal/eyes/_eyes.dm +++ b/code/modules/surgery/organs/internal/eyes/_eyes.dm @@ -22,8 +22,6 @@ /// Sight flags this eye pair imparts on its user. var/sight_flags = NONE - /// changes how the eyes overlay is applied, makes it apply over the lighting layer - var/overlay_ignore_lighting = FALSE /// How much innate tint these eyes have var/tint = 0 /// How much innare flash protection these eyes have, usually paired with tint @@ -52,8 +50,6 @@ /// Glasses cannot be worn over these eyes. Currently unused var/no_glasses = FALSE - /// indication that the eyes are undergoing some negative effect - var/damaged = FALSE /// Native FOV that will be applied if a config is enabled var/native_fov = FOV_90_DEGREES /// Scarring on this organ @@ -82,8 +78,13 @@ /obj/item/organ/eyes/on_mob_insert(mob/living/carbon/receiver, special, movement_flags) . = ..() + if(organ_flags & ORGAN_FAILING) + receiver.become_blind(EYE_DAMAGE) + if(damage >= low_threshold) + receiver.assign_nearsightedness(EYE_DAMAGE, damage >= high_threshold ? 3 : 2, TRUE) + receiver.cure_blind(NO_EYES) - apply_damaged_eye_effects() + // Ensures that non-player mobs get their eye colors assigned, as players get them from prefs if (ishuman(receiver)) var/mob/living/carbon/human/as_human = receiver @@ -91,9 +92,17 @@ eye_color_left = as_human.eye_color_left if (!eye_color_right) eye_color_right = as_human.eye_color_right + RegisterSignals(receiver, list( + SIGNAL_ADDTRAIT(TRAIT_LUMINESCENT_EYES), + SIGNAL_REMOVETRAIT(TRAIT_LUMINESCENT_EYES), + SIGNAL_ADDTRAIT(TRAIT_REFLECTIVE_EYES), + SIGNAL_REMOVETRAIT(TRAIT_REFLECTIVE_EYES), + ), PROC_REF(on_shiny_eyes_trait_update)) + refresh(receiver, call_update = TRUE) RegisterSignal(receiver, COMSIG_ATOM_BULLET_ACT, PROC_REF(on_bullet_act)) RegisterSignal(receiver, COMSIG_COMPONENT_CLEAN_FACE_ACT, PROC_REF(on_face_wash)) + if (scarring) apply_scarring_effects() @@ -139,20 +148,38 @@ if(!special) human_owner.update_body() + // become blind (if not special) + if(!special) + organ_owner.become_blind(NO_EYES) + // Cure blindness from eye damage organ_owner.cure_blind(EYE_DAMAGE) organ_owner.cure_nearsighted(EYE_DAMAGE) // Eye blind and temp blind go to, even if this is a bit of cheesy way to clear blindness organ_owner.remove_status_effect(/datum/status_effect/eye_blur) organ_owner.remove_status_effect(/datum/status_effect/temporary_blindness) - // Then become blind anyways (if not special) - if(!special) - organ_owner.become_blind(NO_EYES) + + if (scarring) + owner.cure_nearsighted(TRAIT_RIGHT_EYE_SCAR) + owner.cure_nearsighted(TRAIT_LEFT_EYE_SCAR) + owner.cure_blind(EYE_SCARRING_TRAIT) organ_owner.update_tint() organ_owner.update_sight() is_emissive = FALSE // SKYRAT EDIT ADDITION - UnregisterSignal(organ_owner, list(COMSIG_ATOM_BULLET_ACT, COMSIG_COMPONENT_CLEAN_FACE_ACT)) + UnregisterSignal(organ_owner, list( + COMSIG_ATOM_BULLET_ACT, + COMSIG_COMPONENT_CLEAN_FACE_ACT, + SIGNAL_ADDTRAIT(TRAIT_LUMINESCENT_EYES), + SIGNAL_REMOVETRAIT(TRAIT_LUMINESCENT_EYES), + SIGNAL_ADDTRAIT(TRAIT_REFLECTIVE_EYES), + SIGNAL_REMOVETRAIT(TRAIT_REFLECTIVE_EYES), + )) + +///Called whenever the luminescent and/or reflective eyes traits are added or removed +/obj/item/organ/eyes/proc/on_shiny_eyes_trait_update(mob/living/carbon/human/source) + SIGNAL_HANDLER + source.update_eyes() /obj/item/organ/eyes/update_atom_colour() . = ..() @@ -290,9 +317,8 @@ var/list/overlays = list(eye_left, eye_right) - if(overlay_ignore_lighting && !(parent.obscured_slots & HIDEEYES)) - overlays += emissive_appearance(eye_left.icon, eye_left.icon_state, parent, -EYES_LAYER, alpha = eye_left.alpha) - overlays += emissive_appearance(eye_right.icon, eye_right.icon_state, parent, -EYES_LAYER, alpha = eye_right.alpha) + if(!(parent.obscured_slots & HIDEEYES)) + overlays += get_emissive_overlays(eye_left, eye_right, parent) var/obj/item/bodypart/head/my_head = parent.get_bodypart(BODY_ZONE_HEAD) @@ -331,6 +357,19 @@ return overlays +///Returns the two emissive overlays built for the left and right eyes, in order. +/obj/item/organ/eyes/proc/get_emissive_overlays(mutable_appearance/eye_left, mutable_appearance/eye_right, atom/spokesman) + var/list/return_list = list() + var/emissive_effect + if((owner && HAS_TRAIT(owner, TRAIT_LUMINESCENT_EYES)) || (TRAIT_LUMINESCENT_EYES in organ_traits)) + emissive_effect = EMISSIVE_BLOOM + else if((owner && HAS_TRAIT(owner, TRAIT_REFLECTIVE_EYES)) || (TRAIT_REFLECTIVE_EYES in organ_traits)) + emissive_effect = EMISSIVE_SPECULAR + if(emissive_effect) + return_list += emissive_appearance(eye_left.icon, eye_left.icon_state, spokesman, -EYES_LAYER, alpha = eye_left.alpha, effect_type = emissive_effect) + return_list += emissive_appearance(eye_right.icon, eye_right.icon_state, spokesman, -EYES_LAYER, alpha = eye_right.alpha, effect_type = emissive_effect) + return return_list + /obj/item/organ/eyes/update_overlays() . = ..() if (scarring & RIGHT_EYE_SCAR) @@ -390,13 +429,6 @@ owner.cure_blind(EYE_SCARRING_TRAIT) owner.update_body() -/obj/item/organ/eyes/on_mob_remove(mob/living/carbon/eye_owner) - . = ..() - if (scarring) - eye_owner.cure_nearsighted(TRAIT_RIGHT_EYE_SCAR) - eye_owner.cure_nearsighted(TRAIT_LEFT_EYE_SCAR) - eye_owner.cure_blind(EYE_SCARRING_TRAIT) - #undef OFFSET_X #undef OFFSET_Y @@ -406,38 +438,28 @@ eye_color_left = initial(eye_color_left) eye_color_right = initial(eye_color_right) -/obj/item/organ/eyes/apply_organ_damage(damage_amount, maximum = maxHealth, required_organ_flag) - . = ..() - if(!owner) - return FALSE - apply_damaged_eye_effects() - -/// Applies effects to our owner based on how damaged our eyes are -/obj/item/organ/eyes/proc/apply_damaged_eye_effects() - // we're in healthy threshold, either try to heal (if damaged) or do nothing - if(damage <= low_threshold) - if(damaged) - damaged = FALSE - // clear nearsightedness from damage - owner.cure_nearsighted(EYE_DAMAGE) - // and cure blindness from damage - owner.cure_blind(EYE_DAMAGE) +/obj/item/organ/eyes/on_low_damage_received() + if(damage >= high_threshold) return + owner?.assign_nearsightedness(EYE_DAMAGE, 2, TRUE) - //various degrees of "oh fuck my eyes", from "point a laser at your eye" to "staring at the Sun" intensities - // 50 - blind - // 49-31 - nearsighted (2 severity) - // 30-20 - nearsighted (1 severity) - if(organ_flags & ORGAN_FAILING) - // become blind from damage - owner.become_blind(EYE_DAMAGE) +/obj/item/organ/eyes/on_high_damage_received() + owner?.assign_nearsightedness(EYE_DAMAGE, 3, TRUE) - else - // become nearsighted from damage - var/severity = damage > high_threshold ? 3 : 2 - owner.assign_nearsightedness(EYE_DAMAGE, severity, TRUE) +/obj/item/organ/eyes/on_begin_failure() + owner?.become_blind(EYE_DAMAGE) - damaged = TRUE +/obj/item/organ/eyes/on_failure_recovery() + owner?.cure_blind(EYE_DAMAGE) + +/obj/item/organ/eyes/on_high_damage_healed() + if(damage <= low_threshold) + return + owner?.assign_nearsightedness(EYE_DAMAGE, 2, TRUE) + +/obj/item/organ/eyes/on_low_damage_healed() + // clear nearsightedness from damage + owner?.cure_nearsighted(EYE_DAMAGE) /obj/item/organ/eyes/feel_for_damage(self_aware) // Eye damage has visual effects, so we don't really need to "feel" it when self-examining @@ -715,16 +737,9 @@ eye_color_left = "#3cb8a5" eye_color_right = "#3cb8a5" sight_flags = SEE_MOBS | SEE_OBJS | SEE_TURFS + organ_traits = list(TRAIT_XRAY_VISION) penlight_message = "replaced by small radiation emitters and detectors" -/obj/item/organ/eyes/robotic/xray/on_mob_insert(mob/living/carbon/eye_owner) - . = ..() - ADD_TRAIT(eye_owner, TRAIT_XRAY_VISION, ORGAN_TRAIT) - -/obj/item/organ/eyes/robotic/xray/on_mob_remove(mob/living/carbon/eye_owner) - . = ..() - REMOVE_TRAIT(eye_owner, TRAIT_XRAY_VISION, ORGAN_TRAIT) - /obj/item/organ/eyes/robotic/thermals name = "thermal eyes" desc = "These cybernetic eye implants will give you thermal vision. Vertical slit pupil included." @@ -1051,17 +1066,25 @@ if(QDELETED(eye_owner) || !ishuman(eye_owner)) //Other carbon mobs don't have eye color. return - if(!eye.light_on) - eye_icon_state = initial(eye_icon_state) - overlay_ignore_lighting = FALSE - else - overlay_ignore_lighting = TRUE - eye_icon_state = base_eye_state - var/obj/item/bodypart/head/head = eye_owner.get_bodypart(BODY_ZONE_HEAD) //if we have eyes we definently have a head anyway var/previous_flags = head.head_flags - head.head_flags = previous_flags | HEAD_EYECOLOR - eye_owner.dna.species.handle_body(eye_owner) + head.head_flags |= HEAD_EYECOLOR + + ///enabling and disabling the TRAIT_LUMINESCENT_EYES trait already calls handle_eyes(), in that case, let's skip that call + var/skip_call = FALSE + if(!eye.light_on) + eye_icon_state = initial(eye_icon_state) + skip_call = HAS_TRAIT_FROM_ONLY(eye_owner, TRAIT_LUMINESCENT_EYES, REF(src)) + remove_organ_trait(TRAIT_LUMINESCENT_EYES) + else + skip_call = !HAS_TRAIT(eye_owner, TRAIT_LUMINESCENT_EYES) + add_organ_trait(TRAIT_LUMINESCENT_EYES) + eye_icon_state = base_eye_state + + if(!skip_call && ishuman(eye_owner)) + var/mob/living/carbon/human/humie = eye_owner + humie.update_eyes() + head.head_flags = previous_flags #undef MATCH_LIGHT_COLOR @@ -1187,7 +1210,7 @@ eye_color_right = "#f74a4d" eye_icon_state = "eyes_glow" iris_overlay = null - overlay_ignore_lighting = TRUE + organ_traits = list(TRAIT_UNNATURAL_RED_GLOWY_EYES, TRAIT_LUMINESCENT_EYES) flash_protect = FLASH_PROTECTION_HYPER_SENSITIVE low_light_cutoff = list(5, 12, 20) medium_light_cutoff = list(15, 20, 30) @@ -1200,10 +1223,6 @@ apply_organ_damage(20 * examtool.light_power) //that's 0.5 lightpower for a penlight, so one penlight shining is equivalent to two seconds in a lit area return span_danger("[owner.p_Their()] eyes [penlight_message].") -/obj/item/organ/eyes/night_vision/maintenance_adapted/on_mob_insert(mob/living/carbon/eye_owner) - . = ..() - ADD_TRAIT(eye_owner, TRAIT_UNNATURAL_RED_GLOWY_EYES, ORGAN_TRAIT) - /obj/item/organ/eyes/night_vision/maintenance_adapted/on_life(seconds_per_tick, times_fired) if(!owner.is_blind() && isturf(owner.loc) && owner.has_light_nearby(light_amount=0.5)) //we allow a little more than usual so we can produce light from the adapted eyes to_chat(owner, span_danger("Your eyes! They burn in the light!")) @@ -1213,10 +1232,6 @@ apply_organ_damage(-10) //heal quickly . = ..() -/obj/item/organ/eyes/night_vision/maintenance_adapted/on_mob_remove(mob/living/carbon/unadapted, special = FALSE, movement_flags) - REMOVE_TRAIT(unadapted, TRAIT_UNNATURAL_RED_GLOWY_EYES, ORGAN_TRAIT) - return ..() - /obj/item/organ/eyes/pod name = "pod eyes" desc = "Strangest salad you've ever seen." @@ -1226,3 +1241,9 @@ // iris_overlay = null BUBBER EDIT - ALLOWS EYE COLOR TO BE CHANGED AGAIN foodtype_flags = PODPERSON_ORGAN_FOODTYPES penlight_message = "are green and plant-like" + +/obj/item/organ/eyes/felinid + name = "felinid eyes" + desc = "A pair of highly reflective eyes with slit pupils, like those of a cat." + pupils_name = "slit pupils" + penlight_message = "shine under the pearly light" diff --git a/code/modules/surgery/organs/internal/stomach/_stomach.dm b/code/modules/surgery/organs/internal/stomach/_stomach.dm index 06c26105182..9ff1968395a 100644 --- a/code/modules/surgery/organs/internal/stomach/_stomach.dm +++ b/code/modules/surgery/organs/internal/stomach/_stomach.dm @@ -536,7 +536,7 @@ emp_vulnerability = 20 metabolism_efficiency = 0.1 -/obj/item/organ/stomach/cybernetic/tier2/stomach_acid_power(atom/movable/nomnom) +/obj/item/organ/stomach/cybernetic/tier3/stomach_acid_power(atom/movable/nomnom) if (isliving(nomnom)) return 0 if (IsEdible(nomnom)) diff --git a/code/modules/surgery/organs/internal/tongue/_tongue.dm b/code/modules/surgery/organs/internal/tongue/_tongue.dm index 324d215d36e..8f98af596c8 100644 --- a/code/modules/surgery/organs/internal/tongue/_tongue.dm +++ b/code/modules/surgery/organs/internal/tongue/_tongue.dm @@ -8,6 +8,7 @@ attack_verb_continuous = list("licks", "slobbers", "slaps", "frenches", "tongues") attack_verb_simple = list("lick", "slobber", "slap", "french", "tongue") voice_filter = "" + organ_traits = list(TRAIT_SPEAKS_CLEARLY) /** * A cached list of paths of all the languages this tongue is capable of speaking * @@ -51,6 +52,8 @@ // - then we cache it via string list // this results in tongues with identical possible languages sharing a cached list instance languages_possible = string_list(get_possible_languages()) + if(!sense_of_taste) + add_organ_trait(TRAIT_AGEUSIA) /obj/item/organ/tongue/examine(mob/user) . = ..() @@ -137,40 +140,24 @@ * ageusia from having a non-tasting tongue. */ REMOVE_TRAIT(receiver, TRAIT_AGEUSIA, NO_TONGUE_TRAIT) - apply_tongue_effects() /obj/item/organ/tongue/on_mob_remove(mob/living/carbon/organ_owner, special, movement_flags) . = ..() temp_say_mod = "" UnregisterSignal(organ_owner, COMSIG_MOB_SAY) - REMOVE_TRAIT(organ_owner, TRAIT_SPEAKS_CLEARLY, SPEAKING_FROM_TONGUE) - REMOVE_TRAIT(organ_owner, TRAIT_AGEUSIA, ORGAN_TRAIT) // Carbons by default start with NO_TONGUE_TRAIT caused TRAIT_AGEUSIA ADD_TRAIT(organ_owner, TRAIT_AGEUSIA, NO_TONGUE_TRAIT) organ_owner.voice_filter = initial(organ_owner.voice_filter) -/obj/item/organ/tongue/apply_organ_damage(damage_amount, maximum = maxHealth, required_organ_flag) - . = ..() - if(!owner) - return FALSE - apply_tongue_effects() +/obj/item/organ/tongue/on_begin_failure() + remove_organ_trait(TRAIT_SPEAKS_CLEARLY) + add_organ_trait(TRAIT_AGEUSIA) -/// Applies effects to our owner based on how damaged our tongue is -/obj/item/organ/tongue/proc/apply_tongue_effects() +/obj/item/organ/tongue/on_failure_recovery() + add_organ_trait(TRAIT_SPEAKS_CLEARLY) if(sense_of_taste) - //tongues can't taste food when they are failing - if(organ_flags & ORGAN_FAILING) - ADD_TRAIT(owner, TRAIT_AGEUSIA, ORGAN_TRAIT) - else - REMOVE_TRAIT(owner, TRAIT_AGEUSIA, ORGAN_TRAIT) - else - //tongues can't taste food when they lack a sense of taste - ADD_TRAIT(owner, TRAIT_AGEUSIA, ORGAN_TRAIT) - if(organ_flags & ORGAN_FAILING) - REMOVE_TRAIT(owner, TRAIT_SPEAKS_CLEARLY, SPEAKING_FROM_TONGUE) - else - ADD_TRAIT(owner, TRAIT_SPEAKS_CLEARLY, SPEAKING_FROM_TONGUE) + remove_organ_trait(TRAIT_AGEUSIA) /obj/item/organ/tongue/could_speak_language(datum/language/language_path) return (language_path in languages_possible) @@ -579,7 +566,7 @@ attack_verb_simple = list("beep", "boop") modifies_speech = TRUE taste_sensitivity = 25 // not as good as an organic tongue - organ_traits = list(TRAIT_SILICON_EMOTES_ALLOWED) + organ_traits = list(TRAIT_SPEAKS_CLEARLY, TRAIT_SILICON_EMOTES_ALLOWED) voice_filter = "alimiter=0.9,acompressor=threshold=0.2:ratio=20:attack=10:release=50:makeup=2,highpass=f=1000" /obj/item/organ/tongue/robot/could_speak_language(datum/language/language_path) @@ -645,7 +632,7 @@ say_mod = "meows" liked_foodtypes = SEAFOOD | ORANGES | BUGS | GORE disliked_foodtypes = GROSS | CLOTH | RAW - organ_traits = list(TRAIT_WOUND_LICKER, TRAIT_FISH_EATER, TRAIT_CARPOTOXIN_IMMUNE) + organ_traits = list(TRAIT_SPEAKS_CLEARLY, TRAIT_WOUND_LICKER, TRAIT_FISH_EATER, TRAIT_CARPOTOXIN_IMMUNE) languages_native = list(/datum/language/nekomimetic) actions_types = list(/datum/action/item_action/organ_action/go_feral) var/feral_mode = FALSE diff --git a/code/modules/surgery/organs/organ_movement.dm b/code/modules/surgery/organs/organ_movement.dm index 26af4e14bce..b006fe3275e 100644 --- a/code/modules/surgery/organs/organ_movement.dm +++ b/code/modules/surgery/organs/organ_movement.dm @@ -229,7 +229,8 @@ moveToNullspace() bodypart_owner = null - on_bodypart_remove(limb) + if(!isnull(limb)) + on_bodypart_remove(limb) return TRUE diff --git a/code/modules/surgery/surgery_step.dm b/code/modules/surgery/surgery_step.dm index aff9fba58c1..d16b30c9f05 100644 --- a/code/modules/surgery/surgery_step.dm +++ b/code/modules/surgery/surgery_step.dm @@ -93,22 +93,25 @@ // Only followers of Asclepius have the ability to use Healing Touch and perform miracle feats of surgery. // Prevents people from performing multiple simultaneous surgeries unless they're holding a Rod of Asclepius. - surgery.step_in_progress = TRUE - var/speed_mod = 1 - var/fail_prob = 0//100 - fail_prob = success_prob - var/advance = FALSE + var/interaction_key = HAS_TRAIT(user, TRAIT_HIPPOCRATIC_OATH) ? target : DOAFTER_SOURCE_SURGERY + if(DOING_INTERACTION(user, interaction_key)) + user.balloon_alert(user, "already doing surgery!") + return FALSE if(!chem_check(target)) user.balloon_alert(user, "missing [LOWER_TEXT(get_chem_list())]!") to_chat(user, span_warning("[target] is missing the [LOWER_TEXT(get_chem_list())] required to perform this surgery step!")) - surgery.step_in_progress = FALSE return FALSE if(preop(user, target, target_zone, tool, surgery) == SURGERY_STEP_FAIL) update_surgery_mood(target, SURGERY_STATE_FAILURE) - surgery.step_in_progress = FALSE return FALSE + surgery.step_in_progress = TRUE + var/speed_mod = 1 + var/fail_prob = 0//100 - fail_prob = success_prob + var/advance = FALSE + update_surgery_mood(target, SURGERY_STATE_STARTED) play_preop_sound(user, target, target_zone, tool, surgery) // Here because most steps overwrite preop @@ -162,7 +165,7 @@ var/was_sleeping = (target.stat != DEAD && target.IsSleeping()) - if(do_after(user, modded_time, target = target, interaction_key = user.has_status_effect(/datum/status_effect/hippocratic_oath) ? target : DOAFTER_SOURCE_SURGERY)) //If we have the hippocratic oath, we can perform one surgery on each target, otherwise we can only do one surgery in total. + if(do_after(user, modded_time, target = target, interaction_key = interaction_key)) //If we have the hippocratic oath, we can perform one surgery on each target, otherwise we can only do one surgery in total. if((prob(100-fail_prob) || (iscyborg(user) && !silicons_obey_prob)) && !try_to_fail) if(success(user, target, target_zone, tool, surgery)) diff --git a/code/modules/transport/tram/tram_machinery.dm b/code/modules/transport/tram/tram_machinery.dm index a60a1d65866..b4d4ac5db7a 100644 --- a/code/modules/transport/tram/tram_machinery.dm +++ b/code/modules/transport/tram/tram_machinery.dm @@ -103,10 +103,10 @@ to_chat(user, span_warning("You are too far away to activate the button!")) /obj/machinery/button/transport/tram/setup_device() + . = ..() var/obj/item/assembly/control/transport/call_button/tram_device = device - tram_device.id = id - tram_device.specific_transport_id = specific_transport_id - return ..() + if(istype(tram_device)) + tram_device.specific_transport_id = specific_transport_id /obj/machinery/button/transport/tram/examine(mob/user) . = ..() diff --git a/code/modules/unit_tests/_unit_tests.dm b/code/modules/unit_tests/_unit_tests.dm index f8835beec9a..13f0c387c80 100644 --- a/code/modules/unit_tests/_unit_tests.dm +++ b/code/modules/unit_tests/_unit_tests.dm @@ -306,6 +306,7 @@ #include "stuns.dm" #include "style_hotswapping.dm" #include "subsystem_init.dm" +#include "suit_sensor.dm" #include "suit_storage_icons.dm" #include "surgeries.dm" #include "syringe_gun.dm" diff --git a/code/modules/unit_tests/cargo_selling.dm b/code/modules/unit_tests/cargo_selling.dm index 31d90505bdf..a8124947343 100644 --- a/code/modules/unit_tests/cargo_selling.dm +++ b/code/modules/unit_tests/cargo_selling.dm @@ -18,6 +18,16 @@ export_types = list(/obj/item/cargo_unit_test_content) /datum/unit_test/cargo_selling/Run() + for(var/datum/export/subtype as anything in subtypesof(/datum/export)) + if(subtype::abstract_type == subtype) + continue + if(subtype::k_recovery_time < SSprocessing.wait) + TEST_FAIL("[subtype] should have k_recovery time >= [SSprocessing.wait]") + var/datum/export/sell = new subtype + if(!length(sell.export_types)) + TEST_FAIL("[subtype] has no export types") + qdel(sell) + var/obj/item/cargo_unit_test_container/box = allocate(/obj/item/cargo_unit_test_container) var/obj/item/cargo_unit_test_container/box_skip_content = allocate(/obj/item/cargo_unit_test_container) diff --git a/code/modules/unit_tests/combat_pistol_whip.dm b/code/modules/unit_tests/combat_pistol_whip.dm index cafecd4f59e..4783d94242b 100644 --- a/code/modules/unit_tests/combat_pistol_whip.dm +++ b/code/modules/unit_tests/combat_pistol_whip.dm @@ -57,4 +57,4 @@ butcher.put_in_active_hand(gun, forced = TRUE) click_wrapper(butcher, meat, list(RIGHT_CLICK = TRUE, BUTTON = RIGHT_CLICK)) - TEST_ASSERT(DOING_INTERACTION(butcher, meat), "The butcher did not start butchering the monkey when using a bayonetted weapon.") + TEST_ASSERT(QDELETED(meat), "The butcher did not butchering the monkey when using a bayonetted weapon.") diff --git a/code/modules/unit_tests/dynamic_ruleset_sanity.dm b/code/modules/unit_tests/dynamic_ruleset_sanity.dm index b42b34f99df..a639fb0f837 100644 --- a/code/modules/unit_tests/dynamic_ruleset_sanity.dm +++ b/code/modules/unit_tests/dynamic_ruleset_sanity.dm @@ -30,7 +30,8 @@ continue if (antag_flag in known_antag_flags) - TEST_FAIL("[ruleset] has a non-unique antag_flag [antag_flag] (used by [known_antag_flags[antag_flag]])!") + if(!(initial(ruleset.ruleset_flags) & RULESET_VARIATION)) + TEST_FAIL("[ruleset] has a non-unique antag_flag [antag_flag] (used by [known_antag_flags[antag_flag]])!") continue known_antag_flags[antag_flag] = ruleset diff --git a/code/modules/unit_tests/focus_only_tests.dm b/code/modules/unit_tests/focus_only_tests.dm index cc3eec42669..40d0845c1a6 100644 --- a/code/modules/unit_tests/focus_only_tests.dm +++ b/code/modules/unit_tests/focus_only_tests.dm @@ -48,6 +48,13 @@ /// Checks that the contents of the fish_counts list are also present in fish_table /datum/unit_test/focus_only/fish_sources_tables +/** + * This will tell us if we forgot to properly set the stable population for any fish. + * Fish with a stable population of one or less need to have either the mateless or crossbreeder trait, or be compatible with + * other fish types with a higher stable population. + */ +/datum/unit_test/focus_only/fish_population + /// Checks that maploaded mobs with either the `atmos_requirements` or `body_temp_sensitive` /datum/unit_test/focus_only/atmos_and_temp_requirements diff --git a/code/modules/unit_tests/interaction_structures.dm b/code/modules/unit_tests/interaction_structures.dm index d5be4b6d863..d5ee0860645 100644 --- a/code/modules/unit_tests/interaction_structures.dm +++ b/code/modules/unit_tests/interaction_structures.dm @@ -27,14 +27,14 @@ click_wrapper(attacker, to_smack) TEST_ASSERT_NOTEQUAL(to_smack.get_integrity(), to_smack.max_integrity, "The barricade should have taken damage a from a non-combat-mode click.") -/// Tests that common tool interactions are possible still, by attempting to open the panel of an air alarm. +/// Tests that common tool interactions are possible still, by attempting to open the panel of an techfab. /datum/unit_test/machinery_tool_interaction /datum/unit_test/machinery_tool_interaction/Run() var/mob/living/carbon/human/consistent/attacker = EASY_ALLOCATE() var/obj/item/screwdriver/screwdriver = EASY_ALLOCATE() - var/obj/machinery/airalarm/to_smack = EASY_ALLOCATE() + var/obj/machinery/rnd/production/to_smack = EASY_ALLOCATE() attacker.put_in_active_hand(screwdriver, forced = TRUE) click_wrapper(attacker, to_smack) - TEST_ASSERT_EQUAL(to_smack.get_integrity(), to_smack.max_integrity, "The air alarm took damage when interacted with a screwdriver.") - TEST_ASSERT(to_smack.panel_open, "The air alarm should have opened its panel after being interacted with a screwdriver.") + TEST_ASSERT_EQUAL(to_smack.get_integrity(), to_smack.max_integrity, "The techfab took damage when interacted with a screwdriver.") + TEST_ASSERT(to_smack.panel_open, "The techfab should have opened its panel after being interacted with a screwdriver.") diff --git a/code/modules/unit_tests/outfit_sanity.dm b/code/modules/unit_tests/outfit_sanity.dm index 79473a27167..0b1447abfba 100644 --- a/code/modules/unit_tests/outfit_sanity.dm +++ b/code/modules/unit_tests/outfit_sanity.dm @@ -49,7 +49,7 @@ for (var/outfit_type in outfits_to_check) // Only make one human and keep undressing it because it's much faster - for (var/obj/item/I in H.get_equipped_items(INCLUDE_POCKETS)) + for (var/obj/item/I in H.get_equipped_items(INCLUDE_POCKETS|INCLUDE_ABSTRACT)) qdel(I) var/datum/outfit/outfit = new outfit_type diff --git a/code/modules/unit_tests/screenshot_digi.dm b/code/modules/unit_tests/screenshot_digi.dm index 835b2501c87..8afb8a19a3b 100644 --- a/code/modules/unit_tests/screenshot_digi.dm +++ b/code/modules/unit_tests/screenshot_digi.dm @@ -67,7 +67,7 @@ // finally, screenshot test of taking jumpsuit (everything) off // which should test that the autogen legs disappear (here to cover a bug in which it does not disappear) dummy.delete_equipment() - TEST_ASSERT_EQUAL(length(dummy.get_equipped_items()), 0, "Dummy (Ashwalker) should have no equipment!") + TEST_ASSERT_EQUAL(length(dummy.get_equipped_items(INCLUDE_POCKETS|INCLUDE_HELD)), 0, "Dummy (Ashwalker) should have no equipment!") finished_icon = icon(finished_icon) finished_icon.Insert(getFlatIcon(dummy, no_anim = TRUE), dir = SOUTH, frame = 9) diff --git a/code/modules/unit_tests/screenshots/screenshot_high_luminosity_eyes_light_emissive.png b/code/modules/unit_tests/screenshots/screenshot_high_luminosity_eyes_light_emissive.png index e7f5a457c30..7445f2cfffa 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_high_luminosity_eyes_light_emissive.png and b/code/modules/unit_tests/screenshots/screenshot_high_luminosity_eyes_light_emissive.png differ diff --git a/code/modules/unit_tests/suit_sensor.dm b/code/modules/unit_tests/suit_sensor.dm new file mode 100644 index 00000000000..6e8df2b9a9f --- /dev/null +++ b/code/modules/unit_tests/suit_sensor.dm @@ -0,0 +1,43 @@ +///Test that ensures that basic functions and interactions around suit sensors are working +/datum/unit_test/suit_sensor + +/datum/unit_test/suit_sensor/Run() + var/mob/living/carbon/human/consistent/dummy = allocate(__IMPLIED_TYPE__) + var/obj/item/clothing/under/sensor_test/under = allocate(__IMPLIED_TYPE__) + + dummy.equip_to_slot_or_del(under, ITEM_SLOT_ICLOTHING) + + TEST_ASSERT(under.set_sensor_mode(SENSOR_LIVING), "couldn't set the suit sensor mode to '[GLOB.suit_sensor_mode_to_defines[SENSOR_LIVING + 1]]'") + TEST_ASSERT((dummy in GLOB.suit_sensors_list), "couldn't find the dummy in the GLOB.suit_sensors_list") + + var/obj/item/wirecutters/cutter = allocate(__IMPLIED_TYPE__) + dummy.put_in_active_hand(cutter, forced = TRUE) + click_wrapper(dummy, under) //cut sensor + TEST_ASSERT_EQUAL(under.has_sensor, NO_SENSORS, "couldn't properly cut suit sensor from the jumpsuit") + + var/obj/item/suit_sensor/sensor = dummy.is_holding_item_of_type(__IMPLIED_TYPE__) + TEST_ASSERT(sensor, "dummy isn't holding the cut sensor") + //we set it to sensor_living before, remember? + TEST_ASSERT_EQUAL(sensor.sensor_mode, SENSOR_LIVING, "cut sensor isn't set to '[GLOB.suit_sensor_mode_to_defines[SENSOR_LIVING + 1]]'") + TEST_ASSERT(sensor.set_mode(SENSOR_OFF), "couldn't set cut sensor's mode to '[GLOB.suit_sensor_mode_to_defines[SENSOR_OFF + 1]]'") + sensor.emp_act(EMP_HEAVY) + TEST_ASSERT(sensor.broken, "cut sensor wasn't broken by EMP") + + dummy.dropItemToGround(cutter) //thank you for your service, wirecutters o7 + var/obj/item/stack/cable_coil/thirty/coil = allocate(__IMPLIED_TYPE__) + dummy.put_in_active_hand(coil, forced = TRUE) + click_wrapper(dummy, sensor) //fix sensor + TEST_ASSERT(!sensor.broken, "cut sensor couldn't be fixed by cable coil") + + dummy.swap_hand(dummy.get_held_index_of_item(sensor)) + click_wrapper(dummy, under) //install sensor + TEST_ASSERT_EQUAL(under.has_sensor, HAS_SENSORS, "couldn't properly install suit sensor on the jumpsuit") + under.emp_act(EMP_HEAVY) + TEST_ASSERT_EQUAL(under.has_sensor, BROKEN_SENSORS, "the jumpsuit sensor wasn't broken by EMP") + dummy.swap_hand(dummy.get_held_index_of_item(coil)) + click_wrapper(dummy, under) //fix sensor, again + TEST_ASSERT_EQUAL(under.has_sensor, HAS_SENSORS, "couldn't fix the jumpsuit sensor with cable coil") + + +/obj/item/clothing/under/sensor_test + random_sensor = FALSE diff --git a/code/modules/unit_tests/surgeries.dm b/code/modules/unit_tests/surgeries.dm index f85ea6cc870..ab02d33244f 100644 --- a/code/modules/unit_tests/surgeries.dm +++ b/code/modules/unit_tests/surgeries.dm @@ -68,7 +68,7 @@ TEST_ASSERT_EQUAL(alice.facial_hair_color, COLOR_LIGHT_BROWN, "Bob's head was transplanted onto Alice's body, but their facial hair color is not COLOR_LIGHT_BROWN") /datum/unit_test/multiple_surgeries/Run() - var/mob/living/carbon/human/user = allocate(/mob/living/carbon/human/consistent) + var/mob/living/carbon/human/user = allocate(/mob/living/carbon/human/consistent/slow) var/mob/living/carbon/human/patient_zero = allocate(/mob/living/carbon/human/consistent) var/mob/living/carbon/human/patient_one = allocate(/mob/living/carbon/human/consistent) diff --git a/code/modules/unit_tests/trash_food.dm b/code/modules/unit_tests/trash_food.dm index 1baf0fc10f7..bd04e60b4b0 100644 --- a/code/modules/unit_tests/trash_food.dm +++ b/code/modules/unit_tests/trash_food.dm @@ -44,5 +44,5 @@ continue if(trash in food_trash_blacklist) continue - - TEST_ASSERT(food_trash[trash], "[food] must include its trash_type for loot table /obj/effect/spawner/random/trash/food_packaging or be added to this unit tests food_trash_blacklist") + if(!food_trash[trash]) + TEST_FAIL("[food] must include its trash_type for loot table /obj/effect/spawner/random/trash/food_packaging or be added to this unit tests food_trash_blacklist") diff --git a/code/modules/vehicles/cars/golfcart/golfcart.dm b/code/modules/vehicles/cars/golfcart/golfcart.dm new file mode 100644 index 00000000000..e8c6f30706b --- /dev/null +++ b/code/modules/vehicles/cars/golfcart/golfcart.dm @@ -0,0 +1,673 @@ +#define ENGINE_UNWRENCHED 0 +#define ENGINE_WRENCHED 1 +#define ENGINE_WELDED 2 +#define CARGO_HITBOX_LAYER (ABOVE_ALL_MOB_LAYER) +#define CART_ROOF_LAYER (CARGO_HITBOX_LAYER + 0.01) +#define CART_LOWER_LAYER (OBJ_LAYER) +#define FAKE_GLIDE_INITIAL_SOURCE "fake_glide_initial" +#define GOLFCART_RUN_OVER_DAMAGE (25) + +/obj/vehicle/ridden/golfcart + name = "golf cart" + desc = "An all-purpose cargo hauling vehicle." + icon = 'icons/obj/toys/golfcart_split.dmi' + icon_state = "front" + max_integrity = 100 + armor_type = /datum/armor/none + pass_flags_self = parent_type::pass_flags_self | LETPASSCLICKS + integrity_failure = 0.5 + layer = ABOVE_MOB_LAYER + max_occupants = 1 + key_type = /obj/item/key/golfcart + ///Perform an extra step after movement finishes? + var/perform_extra_step = FALSE + ///Base movespeed before any modifiers. Humans run at 1.5 movedelay. + var/static/base_movedelay = 1.25 + ///Base movespeed for the hotrod before any modifiers + var/static/hotrod_base_movedelay = 0.65 + ///Particle holder for low integrity smoking + var/obj/effect/abstract/particle_holder/smoke = null + ///Seperate image for the cargo buckled to the rear + var/image/cargo_image = null + ///The power source for the cart. Can be replaced with an engine. + var/obj/item/stock_parts/power_store/cell/cell = null + ///A more powerful power source for the cart. + var/obj/item/v8_engine/engine = null + ///Can be unwrenched, wrenched, or welded + var/engine_state = null + ///An invisible sprite that exists as a hitbox + var/obj/golfcart_rear/child = null + ///Objects that can be buckled to the cargo hitch + var/static/list/allowed_cargo = typecacheof(list( + /obj/structure/closet/crate, + /obj/structure/reagent_dispensers, + /obj/structure/flatpack_cart, + /obj/machinery, + /obj/item/kirbyplants, + )) + ///Each movement requires this much energy to be drawn from the internal cell + var/charge_per_move = STANDARD_CELL_CHARGE / 300 + ///Has the final say on whether something can be buckled. + var/static/list/banned_cargo = typecacheof(list( + /obj/structure/reagent_dispensers/wall, + // i mean it's a fucking door + /obj/machinery/door, + )) + ///Is the hood open? + var/hood_open = FALSE + +/obj/item/key/golfcart + name = "golfcart key" + desc = "A small grey key for using the golf cart." + icon = 'icons/obj/toys/golfcart_split.dmi' + +/obj/item/golfcart_kit + name = "golfcart parts kit" + desc = "A box containing a golf cart. Some assembly required. Batteries not included." + icon = 'icons/obj/toys/golfcart_split.dmi' + icon_state = "parts_kit" + w_class = WEIGHT_CLASS_HUGE + throw_range = 2 + item_flags = SLOWS_WHILE_IN_HAND | IMMUTABLE_SLOW + slowdown = 2.5 + drag_slowdown = 3.5 + +/obj/item/golfcart_kit/examine(mob/user) + . = ..() + . += span_notice("The instructions say that it needs to be [EXAMINE_HINT("screwed")] together.") + +/obj/item/golfcart_kit/proc/play_building_noises(mob/living/user, duration) + duration = max(duration - (1 SECONDS), 0.5 SECONDS) + playsound(src, 'sound/items/poster/poster_ripped.ogg', 50, TRUE) + sleep(1 SECONDS) + if (!DOING_INTERACTION_WITH_TARGET(user, src)) + return + playsound(src, 'sound/items/tools/screwdriver_operating.ogg', 50, TRUE) + sleep(duration / 2) + if (!DOING_INTERACTION_WITH_TARGET(user, src)) + return + playsound(src, 'sound/items/tools/ratchet.ogg', 50, TRUE) + sleep(duration / 2) + if (!DOING_INTERACTION_WITH_TARGET(user, src)) + return + playsound(src, 'sound/items/tools/screwdriver.ogg', 50, TRUE) + +/obj/item/golfcart_kit/screwdriver_act(mob/living/user, obj/item/tool) + if (!isturf(loc)) + user.balloon_alert(user, "set down first!") + return ITEM_INTERACT_BLOCKING + user.visible_message(span_notice("[user] starts putting together the [src]..."), span_notice("You start assembling the [src]...")) + var/unboxing_duration = 7 SECONDS + INVOKE_ASYNC(src, PROC_REF(play_building_noises), user, unboxing_duration * tool.toolspeed) + if(!tool.use_tool(src, user, unboxing_duration)) + return ITEM_INTERACT_BLOCKING + if (!isturf(loc)) + return ITEM_INTERACT_BLOCKING + var/obj/vehicle/ridden/golfcart/cart = new(get_turf(src)) + user.visible_message(span_notice("[user] assembles the [cart]!"), span_notice("You assemble the [cart].")) + qdel(src) + +/obj/vehicle/ridden/golfcart/atom_break() + . = ..() + if (smoke) + return + smoke = new(src, /particles/smoke/ash) + +/obj/vehicle/ridden/golfcart/atom_fix() + . = ..() + if (smoke) + QDEL_NULL(smoke) + +/obj/vehicle/ridden/golfcart/atom_destruction() + explosion(src, devastation_range = -1, light_impact_range = 2, flame_range = 3, flash_range = 4) + return ..() + +///Jiggles the cargo_image up and down. +/obj/vehicle/ridden/golfcart/proc/shake_cargo(pixelshiftx = 2, pixelshifty = 2, duration) + if (!cargo_image) + return + var/inital_pixel_x = cargo_image.pixel_x + var/inital_pixel_y = cargo_image.pixel_y + animate(cargo_image, pixel_x = inital_pixel_x + rand(-pixelshiftx, pixelshiftx), pixel_y = inital_pixel_y + rand(pixelshifty/2, pixelshifty), time=duration, flags=ANIMATION_PARALLEL) + animate(pixel_x = inital_pixel_x, pixel_y = inital_pixel_y, time=duration) + +/obj/vehicle/ridden/golfcart/proc/is_hotrod() + return engine && engine_state == ENGINE_WELDED + +///Called when something we crash into lands after being flinged +/obj/vehicle/ridden/golfcart/proc/thrown_mob_landed(atom/thrown_atom) + if (!isliving(thrown_atom)) + UnregisterSignal(thrown_atom, COMSIG_MOVABLE_THROW_LANDED) + return + var/mob/living/thrown_mob = thrown_atom + thrown_mob.Knockdown(3 SECONDS) + UnregisterSignal(thrown_atom, COMSIG_MOVABLE_THROW_LANDED) + +/obj/vehicle/ridden/golfcart/Bump(atom/bumped_atom) + if (..()) + return + if (!is_hotrod()) + return + if(!isliving(bumped_atom)) + return + var/mob/living/mob = bumped_atom + mob.throw_at(get_edge_target_turf(mob, dir), 2, 3) + RegisterSignal(mob, COMSIG_MOVABLE_THROW_LANDED, PROC_REF(thrown_mob_landed)) + mob.visible_message( + span_danger("[src] hits [mob] at full speed!"), + span_userdanger("[src] slams into you!"), + ) + +///Called when a resting victim is run over +/obj/vehicle/ridden/golfcart/proc/run_over(mob/living/victim) + if (!has_gravity()) + victim.throw_at(get_edge_target_turf(victim, dir), 4, 3) + RegisterSignal(victim, COMSIG_MOVABLE_THROW_LANDED, PROC_REF(thrown_mob_landed)) + return + if (istype(victim, /mob/living/carbon)) + var/mob/living/carbon/person = victim + if (person.body_position == LYING_DOWN) + log_combat(src, victim, "run over", addition = "(DAMTYPE: [uppertext(BRUTE)])") + playsound(src, 'sound/effects/pop_expl.ogg', 50, TRUE) + playsound(src, 'sound/effects/splat.ogg', 50, TRUE) + victim.visible_message( + span_danger("[src] drives over [victim]!"), + span_userdanger("[src] drives over you!"), + ) + + var/damage = rand(GOLFCART_RUN_OVER_DAMAGE - GOLFCART_RUN_OVER_DAMAGE / 5, GOLFCART_RUN_OVER_DAMAGE + GOLFCART_RUN_OVER_DAMAGE / 5) + //adds up to exactly 1 + person.apply_damage((1/3) * damage, BRUTE, BODY_ZONE_HEAD) + person.apply_damage((1/3) * damage, BRUTE, BODY_ZONE_CHEST) + person.apply_damage((1/12) * damage, BRUTE, BODY_ZONE_L_LEG) + person.apply_damage((1/12) * damage, BRUTE, BODY_ZONE_R_LEG) + person.apply_damage((1/12) * damage, BRUTE, BODY_ZONE_L_ARM) + person.apply_damage((1/12) * damage, BRUTE, BODY_ZONE_R_ARM) + + add_mob_blood(person) + var/turf/below_us = get_turf(src) + below_us.add_mob_blood(person) + + AddComponent(/datum/component/blood_walk, \ + blood_type = /obj/effect/decal/cleanable/blood/tracks, \ + target_dir_change = TRUE, \ + transfer_blood_dna = TRUE, \ + max_blood = 4) + +/obj/vehicle/ridden/golfcart/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change = TRUE) + . = ..() + if (!is_hotrod()) + return + for(var/mob/living/future_pancake in loc) + run_over(future_pancake) + +/obj/vehicle/ridden/golfcart/mouse_drop_receive(atom/dropped, mob/user, params) + if (child.can_load(dropped)) + return child.mouse_drop_receive(dropped, user, params) + return ..() + +/obj/vehicle/ridden/golfcart/item_interaction(mob/living/user, obj/item/attacking_item, list/modifiers) + if (!hood_open) + return ..() + if (istype(attacking_item, /obj/item/v8_engine)) + if (engine || cell) + balloon_alert(user, "already has an engine!") + return ITEM_INTERACT_BLOCKING + user.transferItemToLoc(attacking_item, src) + engine = attacking_item + engine_state = ENGINE_UNWRENCHED + balloon_alert(user, "installed \the [engine]") + return ITEM_INTERACT_SUCCESS + if (istype(attacking_item, /obj/item/stock_parts/power_store/cell)) + if (cell || engine) + balloon_alert(user, "already has an engine!") + return ITEM_INTERACT_BLOCKING + user.transferItemToLoc(attacking_item, src) + cell = attacking_item + balloon_alert(user, "installed \the [cell]") + return ITEM_INTERACT_SUCCESS + return ..() + +/obj/vehicle/ridden/golfcart/attack_hand(mob/living/user, list/modifiers) + if (!hood_open) + return ..() + if (engine && engine_state == ENGINE_UNWRENCHED) + . = TRUE + var/obj/item/engine_item = engine + engine_state = null + engine = null + if (user.put_in_hands(engine_item)) + return + engine_item.forceMove(drop_location()) + return + if (isnull(cell)) + return ..() + var/obj/item/stock_parts/power_store/cell/cell_to_take = cell + cell = null + . = TRUE + if (user.put_in_hands(cell_to_take)) + return + cell_to_take.forceMove(drop_location()) + +/obj/vehicle/ridden/golfcart/proc/can_wrench_engine() + return hood_open && engine && (engine_state == ENGINE_UNWRENCHED || engine_state == ENGINE_WRENCHED) + +/obj/vehicle/ridden/golfcart/proc/can_weld_engine() + return hood_open && engine && (engine_state == ENGINE_WRENCHED || engine_state == ENGINE_WELDED) + +/obj/vehicle/ridden/golfcart/proc/set_engine_state(state) + engine_state = state + if (engine_state == ENGINE_WELDED && icon != 'icons/obj/toys/golfcart_hotrod_split.dmi') + icon = 'icons/obj/toys/golfcart_hotrod_split.dmi' + update_appearance(UPDATE_ICON) + else if (engine_state != ENGINE_WELDED && icon != initial(icon)) + icon = initial(icon) + +/obj/vehicle/ridden/golfcart/wrench_act(mob/living/user, obj/item/tool) + if (!can_wrench_engine()) + return ..() + tool.play_tool_sound(src, 50) + if (!tool.use_tool(src, user, 3 SECONDS, extra_checks = CALLBACK(src, PROC_REF(can_wrench_engine)))) + return ITEM_INTERACT_BLOCKING + if (engine_state == ENGINE_WRENCHED) + set_engine_state(ENGINE_UNWRENCHED) + else if (engine_state == ENGINE_UNWRENCHED) + set_engine_state(ENGINE_WRENCHED) + playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) + return ITEM_INTERACT_SUCCESS + +/obj/vehicle/ridden/golfcart/welder_act(mob/living/user, obj/item/tool) + if (user.combat_mode) + return + if(!tool.tool_start_check(user, heat_required = HIGH_TEMPERATURE_REQUIRED, amount = 1)) + return ITEM_INTERACT_BLOCKING + . = ITEM_INTERACT_SUCCESS + if (hood_open) + if(!tool.use_tool(src, user, 3 SECONDS, amount = 1, volume = 50, extra_checks = CALLBACK(src, PROC_REF(can_weld_engine)))) + return ITEM_INTERACT_BLOCKING + if (engine_state == ENGINE_WRENCHED) + set_engine_state(ENGINE_WELDED) + else if (engine_state == ENGINE_WELDED) + set_engine_state(ENGINE_WRENCHED) + else + if(DOING_INTERACTION(user, src)) + balloon_alert(user, "already repairing it!") + return + if(atom_integrity >= max_integrity) + balloon_alert(user, "it's not damaged!") + return + // takes 10 seconds to repair from full + balloon_alert(user, "started repairing") + if (!tool.use_tool(src, user, ((max_integrity - atom_integrity) / max_integrity * 10) SECONDS, volume = 50)) + balloon_alert(user, "repair interrupted!") + return + repair_damage(max_integrity - atom_integrity) + balloon_alert(user, "repaired") + return + +/obj/vehicle/ridden/golfcart/proc/toggle_hood() + hood_open = !hood_open + update_appearance(UPDATE_ICON) + +/obj/vehicle/ridden/golfcart/click_alt(mob/user) + if (user in buckled_mobs) + return ..() + else + to_chat(user, span_warning("You must be sitting down to remove the key!")) + . = CLICK_ACTION_SUCCESS + toggle_hood() + if (hood_open) + to_chat(user, span_notice("You pop \the [src]'s hood.")) + else + to_chat(user, span_notice("You shut \the [src]'s hood.")) + +/obj/vehicle/ridden/golfcart/examine_more(mob/user) + . = ..() + if (!child.cargo) + return + . += span_slightly_larger("It is currently transporting the [child.cargo]") + . += child.cargo.examine(user) + +/obj/vehicle/ridden/golfcart/examine(mob/user) + . = ..() + . += span_notice("Pop the hood by alt-clicking while not riding it.") + if (child.cargo) + . += span_info("The bed is holding \the [child.cargo].") + if(!in_range(user, src) && !issilicon(user) && !isobserver(user)) + . += span_warning("You're too far away to examine [src] closely.") + return + if (!engine) + var/power = 0 + if (cell) + power = floor(cell.charge / cell.maxcharge * 100) + . += span_info("It is currently is at [power]% charge.") + if (hood_open) + . += span_warning("The hood is open!") + if (engine) + . += span_info("You can see \the [engine] inside.") + if (engine_state == ENGINE_UNWRENCHED) + . += span_notice("It needs to be [EXAMINE_HINT("wrenched")] into place.") + else if (engine_state == ENGINE_WRENCHED) + . += span_notice("It needs to be [EXAMINE_HINT("welded")] down.") + // last state is ENGINE_WELDED + else if (cell) + . += span_info("You can see \the [cell] inside.") + . += span_smallnotice("If you remove the cell you could probably install another power source...") + else + . += span_info("There is no power cell installed.") + +///Called when something tries to pass us. Returns TRUE if it is trying to crawl past us. +/obj/vehicle/ridden/golfcart/proc/allow_crawler_through(atom/crawler) + if (!isliving(crawler)) + return FALSE + var/mob/living/living_crawler = crawler + return living_crawler.body_position == LYING_DOWN + +/obj/vehicle/ridden/golfcart/CanAllowThrough(atom/movable/mover, border_dir) + . = ..() + if (mover == child) + return TRUE + if (mover in child.buckled_mobs) + return TRUE + if (allow_crawler_through(mover)) + return TRUE + +///Called for COMSIG_MOVABLE_PRE_MOVE on the golfcart front. If the rear of the cart doesn't fit where we want to go, block movement. +/obj/vehicle/ridden/golfcart/proc/pre_move(atom/source, atom/new_loc) + SIGNAL_HANDLER + + // see if space behind new loc is free + var/atom/behind = get_step(new_loc, turn(dir, 180)) + if ((!behind.Enter(child, child.loc)) && behind != get_step(src, 0)) + return COMPONENT_MOVABLE_BLOCK_PRE_MOVE + // otherwise permit move + return + +///Makes movedelay a factor of base_movedelay +/obj/vehicle/ridden/golfcart/proc/set_movedelay_effect(modification) + var/base_movedelay_effect = base_movedelay + if (is_hotrod()) + base_movedelay_effect = hotrod_base_movedelay + movedelay = base_movedelay_effect * modification + child.set_glide_size(DELAY_TO_GLIDE_SIZE(movedelay)) + +///Sets perform_extra_step to TRUE if we are going up stairs. +/obj/vehicle/ridden/golfcart/zMove(dir, turf/target, z_move_flags) + var/can_do_extra_step = FALSE + if (currently_z_moving == CURRENTLY_Z_ASCENDING) + can_do_extra_step = TRUE + . = ..() + if (!.) + return + perform_extra_step = perform_extra_step || can_do_extra_step + +///Creates a fake glide effect on the golfcart and anything buckled to it. Called when moving up stairs as moving up stairs creates a two-tile move. +/obj/vehicle/ridden/golfcart/proc/fake_glide(direct) + var/px = 0 + var/py = 0 + if (direct & NORTH) + py -= 32 + else if (direct & SOUTH) + py += 32 + if (direct & EAST) + px -= 32 + else if (direct & WEST) + px += 32 + pixel_x += px + pixel_y += py + child.pixel_x += px + child.pixel_y += py + animate(src, movedelay, pixel_x=0, pixel_y=0) + animate(child, movedelay, pixel_x=0, pixel_y=0) + for (var/mob/buckled in (buckled_mobs + child.buckled_mobs)) + var/inital_pixel_x = buckled.pixel_x + var/inital_pixel_y = buckled.pixel_y + buckled.pixel_x += px + buckled.pixel_y += py + animate(buckled, movedelay, pixel_x=inital_pixel_x, pixel_y=inital_pixel_y) + if (buckled.client) + var/client/client = buckled.client + var/initial_client_pixel_x = client.pixel_x + var/initial_client_pixel_y = client.pixel_y + client.pixel_x += px + client.pixel_y += py + animate(client, movedelay, pixel_x=initial_client_pixel_x, pixel_y=initial_client_pixel_y) + +/obj/vehicle/ridden/golfcart/Move(atom/newloc, direct, glide_size_override = 0, update_dir = TRUE) + perform_extra_step = FALSE + var/atom/old_loc = get_turf(src) + var/old_dir = dir + if (get_turf(child) == newloc) + set_movedelay_effect(2) + . = ..(newloc, turn(direct, 180)) + else + set_movedelay_effect(1) + . = ..() + var/atom/behind = get_step(src, turn(dir, 180)) + if (old_dir != dir && get_turf(src) == old_loc) + if (!behind.Enter(child, child.loc)) + setDir(old_dir) + behind = get_step(src, turn(dir, 180)) + update_appearance(UPDATE_ICON) + child.move_from_parent(behind) + // working theory is that somehow the cart can't move onto stairs -> perform_extra_step is true but loc is never set to newloc + if ((perform_extra_step && loc.z != old_loc.z) || loc.z < old_loc.z) + // this should be called when descending Z levels, or when going up stairs + if (!Move(get_step(src, dir), dir, glide_size_override, update_dir)) + return + fake_glide(dir) + +///Called for COMSIG_ATOM_TRIED_PASS on the golfcart front. Allows mobs buckled to the rear of the cart to not get blocked by the front of the cart. +/obj/vehicle/ridden/golfcart/proc/allow_movement_between_passengers(atom/source, atom/mover) + SIGNAL_HANDLER + + if (mover in child.buckled_mobs) + return COMSIG_COMPONENT_PERMIT_PASSAGE + +/obj/vehicle/ridden/golfcart/Initialize(mapload, direction = null) + . = ..() + AddElement(/datum/element/ridable, /datum/component/riding/vehicle/golfcart) + RegisterSignal(src, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(pre_move)) + child = new /obj/golfcart_rear(null, src) + if (isnull(direction)) + if (get_step(src, NORTH).Enter(child)) + direction = NORTH + else if (get_step(src, EAST).Enter(child)) + direction = EAST + else if (get_step(src, WEST).Enter(child)) + direction = WEST + else if (get_step(src, SOUTH).Enter(child)) + direction = SOUTH + else + direction = SOUTH + direction = turn(direction, 180) + setDir(direction) + child.loc = get_step(src, turn(dir, 180)) + update_appearance() + +/obj/vehicle/ridden/golfcart/loaded/Initialize(mapload) + . = ..() + cell = new /obj/item/stock_parts/power_store/cell/lead(src) + +/obj/vehicle/ridden/golfcart/hotrod/Initialize(mapload) + . = ..() + engine = new /obj/item/v8_engine(src) + set_engine_state(ENGINE_WELDED) + +/obj/vehicle/ridden/golfcart/update_appearance(updates=ALL) + . = ..() + child.setDir(dir) + child.update_appearance(updates) + +/obj/vehicle/ridden/golfcart/proc/get_cargo_offsets() + var/crate_x_offset = 0 + var/crate_y_offset = 0 + if (dir & NORTH) + crate_y_offset += -30 + else if (dir & SOUTH) + crate_y_offset += 30 + else if (dir & EAST) + crate_x_offset += -32 + else if (dir & WEST) + crate_x_offset += 32 + return vector(crate_x_offset, crate_y_offset) + +///Flattens the attached cargo into a list of mutable_appearances with proper layering to fit between layer and max_layer +/obj/vehicle/ridden/golfcart/proc/generate_cargo_overlay(crate_x_offset = 0, crate_y_offset = 0, layer=null, max_layer=null, shift_all=TRUE) + if (!child.cargo) + return + var/obj/cargo = child.cargo + if (!layer) + layer = src.layer + if (!max_layer) + max_layer = ABOVE_ALL_MOB_LAYER + var/vector/offsets = get_cargo_offsets() + offsets.x += crate_x_offset + offsets.y += crate_y_offset + var/crate_layer_offset = 0 + if (dir & NORTH) + crate_layer_offset = 0.01 + else if (dir & SOUTH) + crate_layer_offset = -0.01 + var/list/overlays = list() + if (cargo.icon) + overlays += mutable_appearance(cargo.icon, cargo.icon_state, cargo.layer) + overlays += cargo.update_overlays() + var/base_cargo_layer = layer + crate_layer_offset + for(var/i in 1 to overlays.len) + var/entry = overlays[i] + var/mutable_appearance/overlay = entry + if(istext(entry)) + overlay = mutable_appearance(cargo.icon, entry, base_cargo_layer) + overlays[i] = overlay + // nested lists may exist and i can't be asked to flatten them + if (!isnull(overlay)) + // preserves relative offsets + if (overlay.layer > 0) + overlay.layer = min(base_cargo_layer + (overlay.layer - cargo.layer), max_layer) + else + overlay.layer = min(base_cargo_layer + (overlay.layer * -0.01) - 0.01, max_layer) + if (shift_all || i == 1) + overlay.pixel_x += offsets.x + overlay.pixel_y += offsets.y + overlay.pixel_z += 11 + return overlays + +///Gets the pixel offsets of the rear part of the golf cart +/obj/vehicle/ridden/golfcart/proc/get_rear_offset() + var/x = 0 + var/y = 0 + if (dir & NORTH) + y = -32 + else if (dir & SOUTH) + y = 32 + else if (dir & EAST) + x = -32 + else if (dir & WEST) + x = 32 + return vector(x, y) + +/obj/vehicle/ridden/golfcart/update_overlays() + . = ..() + // the overlays for the cart are fairly complicated. + // the main three are the front, rear, and lower overlays + // the front/rear overlay are the same layer + // but the lower overlay is always below buckled mobs and the cargo + + var/mutable_appearance/lower_overlay = mutable_appearance(icon, "lower", CART_LOWER_LAYER) + var/mutable_appearance/roof_overlay = null + var/mutable_appearance/rear_overlay = mutable_appearance(icon, "rear", layer) + var/vector/rear_offsets = get_rear_offset() + rear_overlay.pixel_x = rear_offsets.x + rear_overlay.pixel_y = rear_offsets.y + if (dir & SOUTH) + // however, specifically when facing south, we require another overlay. + // it is effectively an extension of the lower overlay, but it has to be on a different tile so it has to be a different overlay + var/mutable_appearance/floor_overlay = mutable_appearance(icon, "floor", CART_LOWER_LAYER) + floor_overlay.pixel_y += 25 + . += floor_overlay + + lower_overlay.pixel_y = 32 + + roof_overlay = mutable_appearance(icon, "roof", CART_ROOF_LAYER) + roof_overlay.pixel_y = 32 + else if (dir & EAST) + lower_overlay.pixel_x = -32 + lower_overlay.layer -= 0.02 + + roof_overlay = mutable_appearance(icon, "roof", CART_ROOF_LAYER) + roof_overlay.pixel_y = 31 + roof_overlay.pixel_x = -10 + else if (dir & WEST) + lower_overlay.pixel_x = 32 + lower_overlay.layer -= 0.02 + + roof_overlay = mutable_appearance(icon, "roof", CART_ROOF_LAYER) + roof_overlay.pixel_y = 31 + roof_overlay.pixel_x = 10 + . += lower_overlay + . += rear_overlay + if (hood_open) + . += mutable_appearance(icon, "hood", layer + 0.01) + if (roof_overlay) + . += roof_overlay + + if (child.cargo) + // the cargo is a seperate vis_overlay so that it can be animate()d + vis_contents -= cargo_image + cargo_image = null + var/vector/offsets = get_cargo_offsets() + var/list/overlays = generate_cargo_overlay(max_layer=CARGO_HITBOX_LAYER, shift_all=FALSE) + if (overlays.len) + var/mutable_appearance/base_overlay = overlays[1] + overlays.Remove(base_overlay) + cargo_image = SSvis_overlays.add_vis_overlay(src, base_overlay.icon, base_overlay.icon_state, base_overlay.layer, plane, dir) + cargo_image.overlays = overlays + cargo_image.pixel_x = offsets.x + cargo_image.pixel_y = offsets.y + cargo_image.pixel_z = 11 + cargo_image.layer = base_overlay.layer + vis_contents += cargo_image + else + cargo_image = null + +///Allows mobs sitting in the rear of the cart to not shoot either the front of the cart or the driver of the cart. +/obj/vehicle/ridden/golfcart/proc/dodge_friendly_fire(mob/source, obj/projectile/projectile) + SIGNAL_HANDLER + + if (!projectile.firer) + return + if (QDELETED(projectile.firer)) + return + // so that you don't murder your driver when shooting off the back + if (projectile.firer in child.buckled_mobs) + return PROJECTILE_INTERRUPT_HIT_PHASE + +/obj/vehicle/ridden/golfcart/post_buckle_mob(mob/living/M) + if (M.pulling) + M.stop_pulling() + RegisterSignal(M, COMSIG_PROJECTILE_PREHIT, PROC_REF(dodge_friendly_fire)) + RegisterSignal(M, COMSIG_ATOM_TRIED_PASS, PROC_REF(allow_movement_between_passengers)) + return ..() + +/obj/vehicle/ridden/golfcart/post_unbuckle_mob(mob/living/M) + update_appearance(UPDATE_ICON) // because for some reason the overlays aren't properly redrawn + UnregisterSignal(M, COMSIG_ATOM_TRIED_PASS) + UnregisterSignal(M, COMSIG_PROJECTILE_PREHIT) + return ..() + +/obj/vehicle/ridden/golfcart/Destroy() + UnregisterSignal(src, COMSIG_MOVABLE_PRE_MOVE) + if (!QDELETED(child)) + qdel(child) + child = null + return ..() + +#undef ENGINE_UNWRENCHED +#undef ENGINE_WRENCHED +#undef ENGINE_WELDED +#undef CARGO_HITBOX_LAYER +#undef CART_ROOF_LAYER +#undef CART_LOWER_LAYER +#undef FAKE_GLIDE_INITIAL_SOURCE +#undef GOLFCART_RUN_OVER_DAMAGE diff --git a/code/modules/vehicles/cars/golfcart/golfcart_rear.dm b/code/modules/vehicles/cars/golfcart/golfcart_rear.dm new file mode 100644 index 00000000000..108e14835f1 --- /dev/null +++ b/code/modules/vehicles/cars/golfcart/golfcart_rear.dm @@ -0,0 +1,388 @@ +#define GOLFCART_RIDING_SOURCE "riding_golfcart" +#define HUMAN_LOWER_LAYER (MOB_LAYER) +#define CARGO_HITBOX_LAYER (ABOVE_ALL_MOB_LAYER) +#define BELOW_HUMAN_HITBOX_LAYER (ABOVE_MOB_LAYER + 0.01) +#define HUMAN_RIDING_LAYER (BELOW_HUMAN_HITBOX_LAYER + 0.02) + +/obj/golfcart_rear + name = "golf cart bed" + icon = 'icons/obj/toys/golfcart_split.dmi' + icon_state = "rear_hitbox" + density = TRUE + alpha = 1 + can_buckle = TRUE + max_buckled_mobs = 2 + glide_size = MAX_GLIDE_SIZE + layer = 0 + ///Currently buckled cargo + var/obj/cargo = null + ///Was this move triggered by the parent? + var/moving_from_parent = FALSE + var/obj/vehicle/ridden/golfcart/parent = null + ///List of offsets for buckled passengers. Indexed by passenger index, then by direction string. + var/static/list/list/vector/passenger_offsets = list( + list( + TEXT_NORTH = vector(-4, 0, 24), + TEXT_SOUTH = vector(4, 0, 4), + TEXT_EAST = vector(4, 0, 13), + TEXT_WEST = vector(-4, 0, 13) + ), + list( + TEXT_NORTH = vector(4, 0, 20), + TEXT_SOUTH = vector(-4, 8, 0), + TEXT_EAST = vector(-8, 0, 13), + TEXT_WEST = vector(8, 0, 13) + ) + ) + ///Same as [/obj/golfcart_rear/passenger_offsets], except for when the passenger is lying down. + var/static/list/list/vector/lying_down_passenger_offsets = list( + list( + TEXT_NORTH = vector(0, 0, 16), + TEXT_SOUTH = vector(0, 0, 8), + TEXT_EAST = vector(2, 0, 8), + TEXT_WEST = vector(-2, 0, 8), + ) + ) + +///Try to load something onto the cart. This proc may fail if the obj is not in allowed_cargo or is in banned_cargo. +/obj/golfcart_rear/proc/load(obj/to_load) + if (!to_load) + return + if (cargo) + return + if (to_load.anchored) + return + if (to_load.has_buckled_mobs()) + // can't stack buckles and whatever + return + if (istype(to_load, /obj/structure/closet)) + var/obj/structure/closet/crate = to_load + crate.close() + to_load.forceMove(src) + cargo = to_load + layer = CARGO_HITBOX_LAYER + parent.update_appearance(UPDATE_ICON) + +/obj/golfcart_rear/proc/unload() + if (!cargo) + return + var/list/candidates = list( + get_step(src, turn(dir, 180)), + get_step(src, turn(dir, 90)), + get_step(src, turn(dir, 270)), + ) + var/atom/dropoff = get_turf(src) + for (var/atom/turf in candidates) + if (turf.Enter(cargo, src)) + dropoff = turf + break + cargo.forceMove(dropoff) + cargo = null + layer = BELOW_HUMAN_HITBOX_LAYER + parent.update_appearance(UPDATE_ICON) + +///Jiggles the cargo_image as long as someone is trying to jiggle it. +/obj/golfcart_rear/proc/check_if_shake() + if (!cargo) + return FALSE + + // Assuming we decide to shake again, how long until we check to shake again + var/next_check_time = 0.75 SECONDS + + // How long we shake between different calls of Shake(), so that it starts shaking and stops, instead of a steady shake + var/shake_duration = 0.125 SECONDS + + for(var/mob/living/mob in cargo.contents) + if(DOING_INTERACTION_WITH_TARGET(mob, src)) + // Shake and queue another check_if_shake + parent.shake_cargo(1, 6, shake_duration) + addtimer(CALLBACK(src, PROC_REF(check_if_shake)), next_check_time) + return TRUE + + // If we reach here, nobody is resisting, so don't shake + return FALSE + +/obj/golfcart_rear/proc/after_escape(obj/container, mob/living/user) + user?.visible_message( + span_danger("The [container] falls off of the [src]!"), + span_userdanger("You knock the crate off the [src]!") + ) + container.SpinAnimation(5, 1) + if (user && istype(container, /obj/structure/closet)) + var/obj/structure/closet/closet = container + if (closet.can_open(user)) + closet.open() + +///Unload the container from the golfcart if it is cargo +/obj/golfcart_rear/proc/easy_escape(mob/living/user, obj/container) + if (!cargo || cargo != container) + return + unload() + after_escape(container, user) + +///Unload the container from the golfcart if it is cargo and after a little jiggling and a some time +/obj/golfcart_rear/proc/hard_escape(mob/living/user, obj/container) + addtimer(CALLBACK(src, PROC_REF(check_if_shake)), 0) + if (do_after(user, 5 SECONDS, target=src, timed_action_flags=IGNORE_USER_LOC_CHANGE)) + if (!cargo || cargo != container || !(user in cargo)) + return + unload() + after_escape(container, user) + +///Called when someone resists inside of the cargo hitch. +/obj/golfcart_rear/relay_container_resist_act(mob/living/user, obj/container) + user.visible_message( + span_danger("[user] tries to escape the [container]!"), + span_userdanger("You try to escape the [container]!"), + ) + if (parent.has_buckled_mobs()) + for (var/mob/driver in parent.buckled_mobs) + if (!parent.is_driver(driver)) + continue + driver.show_message(span_userdanger("The [container] shakes violently!")) + if (istype(container, /obj/structure/closet)) + var/obj/structure/closet/closet = container + if (!closet.welded) + return easy_escape(user, container) + return hard_escape(user, container) + return easy_escape(user, container) + +/obj/golfcart_rear/take_damage(damage_amount, damage_type, damage_flag, sound_effect, attack_dir, armour_penetration) + if (!parent) + return + return parent.take_damage(damage_amount, damage_type, damage_flag, sound_effect, attack_dir, armour_penetration) + +/obj/golfcart_rear/attack_hand(mob/user, list/modifiers) + if(!isnull(cargo)) + unload() + return TRUE + return ..() + +/obj/golfcart_rear/crowbar_act(mob/living/user, obj/item/tool) + . = ..() + if (!cargo) + return + tool.play_tool_sound(src, 50) + unload() + return ITEM_INTERACT_SUCCESS + +/obj/golfcart_rear/proc/can_load(thing) + return is_type_in_typecache(thing, parent.allowed_cargo) && (!is_type_in_typecache(thing, parent.banned_cargo)) && (!has_buckled_mobs()) + +/obj/golfcart_rear/mouse_drop_receive(atom/dropped, mob/user, params) + if (!can_load(dropped)) + if (has_buckled_mobs()) + balloon_alert(user, "blocked!") + return ..() + var/obj/dropped_obj = dropped + return load(dropped_obj) + +/obj/golfcart_rear/examine(mob/user) + if (!parent) + . = ..() + . += span_warning("A lone golf cart bed must be a bad omen...") + return + return parent.examine(user) + +/obj/golfcart_rear/examine_more(mob/user) + if (!parent) + return ..() + return parent.examine_more(user) + +///Called if the rear of the golfcart MUST move to destination and must NOT notify the parent about it. +/obj/golfcart_rear/proc/move_from_parent(atom/destination) + moving_from_parent = TRUE + currently_z_moving = destination.z != loc.z + . = forceMove(destination) + moving_from_parent = FALSE + +/obj/golfcart_rear/doMove(atom/destination) + . = ..() + if (!moving_from_parent) + return + for (var/mob/buckled_mob in buckled_mobs) + if (currently_z_moving) + buckled_mob.currently_z_moving = currently_z_moving + buckled_mob.forceMove(destination) + else + // this is not a good hack - this should never happen + // but stairs are a particularly problematic area + if (!buckled_mob.Move(destination, dir, glide_size)) + // this is a terrible hack because mob/living forwards forceMove calls to buckled + // unless currently_z_moving is non-null + buckled_mob.currently_z_moving = CURRENTLY_Z_MOVING_GENERIC + buckled_mob.forceMove(destination) + buckled_mob.currently_z_moving = FALSE + + +/obj/golfcart_rear/CanAllowThrough(atom/movable/mover, border_dir) + . = ..() + if (!parent) + return + if (mover == parent) + return TRUE + if (mover in parent.buckled_mobs) + return TRUE + if (parent.allow_crawler_through(mover)) + return TRUE + +/obj/golfcart_rear/Move(atom/newloc, direct, glide_size_override = 0, update_dir = TRUE) + if (moving_from_parent) + return + + if(pulledby) + var/olddir = dir + var/newdir + if (direct & (EAST | WEST)) + newdir = (direct & EAST) ? EAST : WEST + else if (direct & (NORTH | SOUTH)) + newdir = (direct & NORTH) ? NORTH : SOUTH + else + newdir = direct + set_glide_size(glide_size_override ? glide_size_override : pulledby.glide_size) + . = ..() + dir = newdir + if (get_step(src, turn(dir, 180)) != get_turf(pulledby)) + setDir(turn(dir, 180)) + var/atom/behind = get_step(src, dir) + if (!behind.Enter(parent)) + setDir(olddir) + behind = get_step(src, dir) + parent.set_glide_size(glide_size_override ? glide_size_override : pulledby.glide_size) + parent.forceMove(behind) + parent.setDir(dir) + parent.update_appearance(UPDATE_ICON) + return + + return parent.Move(get_step(parent, get_dir(loc, newloc)), direct) + +///Called for COMSIG_ATOM_TRIED_PASS on passengers buckled to the cart. Allows them to not block each other's movement / get blocked by the cart. +/obj/golfcart_rear/proc/allow_movement_between_bed_passengers(atom/source, atom/mover) + SIGNAL_HANDLER + + if (mover == parent) + return COMSIG_COMPONENT_PERMIT_PASSAGE + if (parent && (mover in parent.buckled_mobs)) + return COMSIG_COMPONENT_PERMIT_PASSAGE + if ((source in buckled_mobs) && (mover in buckled_mobs)) + return COMSIG_COMPONENT_PERMIT_PASSAGE + +///Called when the golfcart rear turns in order to keep the buckled mobs in the right places +/obj/golfcart_rear/proc/update_passenger_layers(new_dir) + if (isnull(new_dir)) + new_dir = dir + var/layer = HUMAN_RIDING_LAYER + var/invert_layer = FALSE + if (new_dir & SOUTH) + invert_layer = TRUE + new_dir = "[new_dir]" + for(var/i in 1 to buckled_mobs.len) + var/mob/living/passenger = buckled_mobs[i] + var/vector/offset + if (passenger.body_position == LYING_DOWN) + offset = lying_down_passenger_offsets[i][new_dir] + else + offset = passenger_offsets[i][new_dir] + passenger.add_offsets(GOLFCART_RIDING_SOURCE, + x_add = offset.x, + y_add = offset.y, + z_add = offset.z, + animate = FALSE) + passenger.layer = layer + ((i * 0.01) - 0.01) * (-invert_layer) + +///Called from COMSIG_ATOM_POST_DIR_CHANGE on the rear of the cart. Only used to change buckled mobs' position / layers. +/obj/golfcart_rear/proc/on_dir_changed(datum/source, old_dir, new_dir) + SIGNAL_HANDLER + + if (!has_buckled_mobs()) + return + update_passenger_layers(new_dir) + +/obj/golfcart_rear/Initialize(mapload, obj/vehicle/ridden/golfcart/progenitor) + . = ..() + parent = progenitor + layer = BELOW_HUMAN_HITBOX_LAYER + RegisterSignal(parent, COMSIG_ATOM_POST_DIR_CHANGE, PROC_REF(on_dir_changed)) + +/obj/golfcart_rear/update_overlays() + . = ..() + if (dir & NORTH) + var/mutable_appearance/hitbox_overlay = mutable_appearance(icon, "rear_hitbox_overlay", layer) + hitbox_overlay.pixel_y += 32 + . += hitbox_overlay + else if (dir & SOUTH) + . += mutable_appearance(icon, "rear_hitbox_lower", OBJ_LAYER + 0.01) + if(!cargo) + return + var/vector/rear_offsets = parent.get_rear_offset() + . += parent.generate_cargo_overlay(-rear_offsets.x, -rear_offsets.y, layer=layer) + +///Called when a passenger tries lying down/getting up. Automatically drops out people who can't stay on +/obj/golfcart_rear/proc/passenger_falling_down(atom/source, new_bodypos) + SIGNAL_HANDLER + + if (!isliving(source)) + return // should runtime? + if (new_bodypos == STANDING_UP) + update_passenger_layers() + return + if (buckled_mobs.len <= 1) + update_passenger_layers() + return // allow 1 laying down mob + var/mob/living/passenger = source + unbuckle_mob(passenger, TRUE) + +/obj/golfcart_rear/is_buckle_possible(mob/living/target, force, check_loc) + . = ..() + // these are to_viewers because you can buckle someone on their behalf + if (parent && cargo) + balloon_alert_to_viewers("blocked!") + return FALSE + if (target.body_position != STANDING_UP) + if (!has_buckled_mobs()) + return TRUE + balloon_alert_to_viewers("stand up!") + return FALSE + for (var/mob/blocker in buckled_mobs) + if (!isliving(blocker)) + balloon_alert_to_viewers("blocked!") + return FALSE + var/mob/living/living_blocker = blocker + if (living_blocker.body_position != STANDING_UP) + balloon_alert_to_viewers("blocked!") + return FALSE + return TRUE + +/obj/golfcart_rear/post_buckle_mob(mob/living/buckled_mob) + buckled_mob.pulledby?.stop_pulling() + RegisterSignal(buckled_mob, COMSIG_ATOM_TRIED_PASS, PROC_REF(allow_movement_between_bed_passengers)) + RegisterSignal(buckled_mob, COMSIG_LIVING_SET_BODY_POSITION, PROC_REF(passenger_falling_down)) + . = ..() + update_passenger_layers() + +/obj/golfcart_rear/post_unbuckle_mob(mob/living/buckled_mob) + UnregisterSignal(buckled_mob, COMSIG_ATOM_TRIED_PASS) + UnregisterSignal(buckled_mob, COMSIG_LIVING_SET_BODY_POSITION) + buckled_mob.remove_offsets(GOLFCART_RIDING_SOURCE) + if (buckled_mob.body_position == LYING_DOWN) + buckled_mob.layer = LYING_MOB_LAYER + else + buckled_mob.layer = initial(buckled_mob.layer) + return ..() + +/obj/golfcart_rear/Destroy() + if (parent) + UnregisterSignal(parent, COMSIG_ATOM_POST_DIR_CHANGE) + if (!QDELETED(parent)) + qdel(parent) + parent = null + if (cargo && !QDELETED(cargo)) + cargo.forceMove(drop_location()) + cargo = null + return ..() + +#undef CARGO_HITBOX_LAYER +#undef HUMAN_LOWER_LAYER +#undef HUMAN_RIDING_LAYER +#undef GOLFCART_RIDING_SOURCE +#undef BELOW_HUMAN_HITBOX_LAYER diff --git a/code/modules/vehicles/mecha/_mecha.dm b/code/modules/vehicles/mecha/_mecha.dm index 4c9cc36adb4..d7249946d8e 100644 --- a/code/modules/vehicles/mecha/_mecha.dm +++ b/code/modules/vehicles/mecha/_mecha.dm @@ -416,6 +416,81 @@ initialize_controller_action_type(/datum/action/vehicle/sealed/mecha/mech_view_stats, VEHICLE_CONTROL_SETTINGS) initialize_controller_action_type(/datum/action/vehicle/sealed/mecha/strafe, VEHICLE_CONTROL_DRIVE) +/obj/vehicle/sealed/mecha/add_occupant(mob/M, control_flags, forced) + if(..()) + generate_equipment_actions(M) + +/obj/vehicle/sealed/mecha/remove_occupant(mob/M) + remove_all_equipment_actions(M) + return ..() + +///Generates action buttons for all eligible equipment and grants them to the occupant with VEHICLE_CONTROL_SETTINGS flag. +/obj/vehicle/sealed/mecha/proc/generate_equipment_actions(mob/occupant) + if(!(occupant in occupants) || !(occupants[occupant] & VEHICLE_CONTROL_SETTINGS)) + return + for(var/obj/item/mecha_parts/mecha_equipment/equipment in flat_equipment) + if(!is_equipment_valid_for_action(equipment)) + continue + + grant_equipment_action(occupant, equipment) + +///Removes all equipment actions from a specific occupant. +/obj/vehicle/sealed/mecha/proc/remove_all_equipment_actions(mob/occupant) + var/list/actions = LAZYACCESS(occupant_actions, occupant) + if(!actions) + return + + for(var/equipment_type in actions) + if(!ispath(equipment_type, /obj/item/mecha_parts/mecha_equipment)) + continue + + remove_action_type_from_mob(equipment_type, occupant) + +/** + * Grants a specific equipment action to an occupant. + * Creates a new action, sets up the chassis and equipment references, and grants it to the mob. + */ +/obj/vehicle/sealed/mecha/proc/grant_equipment_action(mob/occupant, obj/item/mecha_parts/mecha_equipment/equipment) + var/datum/action/vehicle/sealed/mecha/equipment/action = new // We cannot use grant_action_type_to_mob() because: + action.set_chassis(src) // 1. grant_action_type_to_mob() works with a single predefined action type + action.set_equipment(equipment) // 2. We create unique action instances for each equipment with specific equipment references + + action.Grant(occupant) + LAZYINITLIST(occupant_actions[occupant]) + // Use equipment type as actiontype for remove_action_type_from_mob() compatibility + occupant_actions[occupant][equipment.type] = action + +/** + * Called when equipment is attached to the mecha. + * Grants equipment actions to current occupants with VEHICLE_CONTROL_SETTINGS flag. + */ +/obj/vehicle/sealed/mecha/proc/on_equipment_attach(obj/item/mecha_parts/mecha_equipment/equipment) + if(!is_equipment_valid_for_action(equipment)) + return + + for(var/mob/occupant in occupants) + if(!(occupants[occupant] & VEHICLE_CONTROL_SETTINGS)) + continue + grant_equipment_action(occupant, equipment) + +/** + * Called when equipment is detached from the mecha. + * Removes equipment actions from all current occupants. + */ +/obj/vehicle/sealed/mecha/proc/on_equipment_detach(obj/item/mecha_parts/mecha_equipment/equipment) + for(var/mob/occupant in occupants) + remove_action_type_from_mob(equipment.type, occupant) + +/// Create actions only for equipment that can be toggled or triggered, excluding air tanks. +/obj/vehicle/sealed/mecha/proc/is_equipment_valid_for_action(obj/item/mecha_parts/mecha_equipment/equipment) + if(!(equipment.can_be_toggled || equipment.can_be_triggered)) + return FALSE + + if(istype(equipment, /obj/item/mecha_parts/mecha_equipment/air_tank)) // this thing has its own button + return FALSE + + return TRUE + /obj/vehicle/sealed/mecha/proc/get_mecha_occupancy_state() if((mecha_flags & SILICON_PILOT) && silicon_icon_state) return silicon_icon_state diff --git a/code/modules/vehicles/mecha/equipment/mecha_equipment.dm b/code/modules/vehicles/mecha/equipment/mecha_equipment.dm index 5d28d2be6f6..0f26da3db32 100644 --- a/code/modules/vehicles/mecha/equipment/mecha_equipment.dm +++ b/code/modules/vehicles/mecha/equipment/mecha_equipment.dm @@ -214,6 +214,7 @@ SEND_SIGNAL(src, COMSIG_MECHA_EQUIPMENT_ATTACHED) forceMove(new_mecha) log_message("[src] initialized.", LOG_MECHA) + chassis.on_equipment_attach(src) /** * called to detach this equipment @@ -221,6 +222,7 @@ * * moveto: optional target to move this equipment to */ /obj/item/mecha_parts/mecha_equipment/proc/detach(atom/moveto) + chassis.on_equipment_detach(src) moveto = moveto || get_turf(chassis) forceMove(moveto) playsound(chassis, 'sound/items/weapons/tap.ogg', 50, TRUE) diff --git a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm index 0cfc0712b59..7e68aaf91cb 100644 --- a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm +++ b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm @@ -273,9 +273,7 @@ to_chat(M, "HONK") M.SetSleeping(0) M.adjust_stutter(40 SECONDS) - var/obj/item/organ/ears/ears = M.get_organ_slot(ORGAN_SLOT_EARS) - if(ears) - ears.adjustEarDamage(0, 30) + M.sound_damage(deafen = 30 SECONDS) M.Paralyze(60) if(prob(30)) M.Stun(200) diff --git a/code/modules/vehicles/mecha/mecha_actions.dm b/code/modules/vehicles/mecha/mecha_actions.dm index 8cd6918dc8b..38e3adcba7b 100644 --- a/code/modules/vehicles/mecha/mecha_actions.dm +++ b/code/modules/vehicles/mecha/mecha_actions.dm @@ -144,10 +144,12 @@ chassis.balloon_alert(owner, "controlling gunner seat") chassis.remove_control_flags(owner, VEHICLE_CONTROL_DRIVE|VEHICLE_CONTROL_SETTINGS) chassis.add_control_flags(owner, VEHICLE_CONTROL_MELEE|VEHICLE_CONTROL_EQUIPMENT) + chassis.remove_all_equipment_actions(owner) else chassis.balloon_alert(owner, "controlling pilot seat") chassis.remove_control_flags(owner, VEHICLE_CONTROL_MELEE|VEHICLE_CONTROL_EQUIPMENT) chassis.add_control_flags(owner, VEHICLE_CONTROL_DRIVE|VEHICLE_CONTROL_SETTINGS) + chassis.generate_equipment_actions(owner) chassis.update_icon_state() /datum/action/vehicle/sealed/mecha/mech_overclock @@ -162,3 +164,33 @@ chassis.toggle_overclock(forced_state) button_icon_state = "mech_overload_[chassis.overclock_mode ? "on" : "off"]" build_all_button_icons() + +/datum/action/vehicle/sealed/mecha/equipment + name = "Mech Equipment" + button_icon_state = null + background_icon_state = "bg_tech" + var/obj/item/mecha_parts/mecha_equipment/equipment + +/datum/action/vehicle/sealed/mecha/equipment/Destroy() + equipment = null + return ..() + +/datum/action/vehicle/sealed/mecha/equipment/Trigger(mob/clicker, trigger_flags) + if(!..()) + return + if(!chassis || !(owner in chassis.occupants) || !equipment) + return + + equipment.set_active(!equipment.active) + equipment.handle_ui_act(action = "toggle") + chassis.balloon_alert(owner, "[equipment.name] [equipment.active ? "on" : "off"]!") + +/datum/action/vehicle/sealed/mecha/equipment/proc/set_equipment(passed_equipment) + equipment = passed_equipment + name = "Toggle [equipment.name]" + desc = equipment.desc + target = equipment + if(target) + AddComponent(/datum/component/action_item_overlay, equipment) + + build_button_icon() diff --git a/code/modules/vending/custom.dm b/code/modules/vending/custom.dm index 10025d394ef..53ad1209bcf 100644 --- a/code/modules/vending/custom.dm +++ b/code/modules/vending/custom.dm @@ -11,6 +11,7 @@ panel_type = "panel20" refill_canister = /obj/item/vending_refill/custom fish_source_path = /datum/fish_source/vending/custom + obj_flags = UNIQUE_RENAME /// max number of items that the custom vendor can hold var/max_loaded_items = 20 @@ -199,34 +200,24 @@ if(!linked_account) linked_account = card_used.registered_account speak("\The [src] has been linked to [card_used].") + return ITEM_INTERACT_SUCCESS else if(linked_account == card_used.registered_account) linked_account = null speak("account unlinked.") + return ITEM_INTERACT_SUCCESS else to_chat(user, "verification failed. unlinking process has been cancelled.") - return ITEM_INTERACT_SUCCESS + return ITEM_INTERACT_FAILURE + return ..() - if(!compartmentLoadAccessCheck(user) || !IS_WRITING_UTENSIL(attack_item)) - return ..() - - . ITEM_INTERACT_FAILURE - var/new_name = reject_bad_name(tgui_input_text(user, "Set name", "Name", name, max_length = 20), allow_numbers = TRUE, strict = TRUE, cap_after_symbols = FALSE) - if(!user.can_perform_action(src, FORBID_TELEKINESIS_REACH)) - return - if (new_name) - name = new_name - var/new_desc = reject_bad_text(tgui_input_text(user, "Set description", "Description", desc, max_length = 60)) - if(!user.can_perform_action(src, FORBID_TELEKINESIS_REACH)) - return - if (new_desc) - desc = new_desc +/obj/machinery/vending/custom/descformat(input, mob/living/user) + . = input var/new_slogan = reject_bad_text(tgui_input_text(user, "Set slogan", "Slogan", "Epic", max_length = 60)) if(!user.can_perform_action(src, FORBID_TELEKINESIS_REACH)) return if (new_slogan) slogan_list += new_slogan last_slogan = world.time + rand(0, slogan_delay) - return ITEM_INTERACT_SUCCESS /obj/machinery/vending/custom/collect_records_for_static_data(list/records, list/categories, premium) . = list() diff --git a/code/modules/vending/wardrobes.dm b/code/modules/vending/wardrobes.dm index 30828f5bd11..7824903ac30 100644 --- a/code/modules/vending/wardrobes.dm +++ b/code/modules/vending/wardrobes.dm @@ -572,6 +572,7 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) /obj/item/radio/headset/headset_srv = 2, /obj/item/clothing/suit/chaplainsuit/habit = 1, /obj/item/clothing/head/chaplain/habit_veil = 1, + /obj/item/storage/box/purity_seal_box = 2, ) contraband = list( /obj/item/toy/plush/ratplush = 1, diff --git a/code/modules/wiremod/core/marker.dm b/code/modules/wiremod/core/marker.dm index d6ce7a953e2..e50c238659e 100644 --- a/code/modules/wiremod/core/marker.dm +++ b/code/modules/wiremod/core/marker.dm @@ -56,7 +56,7 @@ carbon_target = target visible_items = carbon_target.get_visible_items() else - visible_items = target.get_equipped_items() + visible_items = target.get_equipped_items(INCLUDE_HELD) visible_items -= src // the multitool cannot mark itself. @@ -89,7 +89,7 @@ return var/atom/movable/chosen = locate(picked_ref) - if(chosen == target || (chosen in (carbon_target ? carbon_target.get_visible_items() : target.get_equipped_items()))) + if(chosen == target || (chosen in (carbon_target ? carbon_target.get_visible_items() : target.get_equipped_items(INCLUDE_HELD)))) mark_target(chosen) else balloon_alert(user, "cannot mark entity") diff --git a/config/dynamic.toml b/config/dynamic.toml index 0c37fbbc32c..6d9623045e1 100644 --- a/config/dynamic.toml +++ b/config/dynamic.toml @@ -369,6 +369,19 @@ repeatable_weight_decrease = 2 repeatable = 1 minimum_required_age = 0 +["Midround Mass Changelings"] +weight.1 = 0 +weight.2 = 3 +weight.3 = 4 +weight.4 = 5 +min_pop = 25 +blacklisted_roles = [] +repeatable_weight_decrease = 4 +repeatable = 1 +minimum_required_age = 0 +min_antag_cap = 2 +max_antag_cap = 3 + ["Paradox Clone"] weight = 5 min_pop = 10 @@ -465,6 +478,19 @@ repeatable_weight_decrease = 2 repeatable = 1 minimum_required_age = 0 +["Midround Mass Traitors"] +weight.1 = 0 +weight.2 = 3 +weight.3 = 8 +weight.4 = 10 +min_pop = 15 +blacklisted_roles = [] +repeatable_weight_decrease = 7 +repeatable = 1 +minimum_required_age = 0 +min_antag_cap = 2 +max_antag_cap = 4 + ["Midround Malfunctioning AI"] weight.1 = 0 weight.2 = 1 diff --git a/html/changelogs/AutoChangeLog-pr-93461.yml b/html/changelogs/AutoChangeLog-pr-93461.yml new file mode 100644 index 00000000000..f0f660598cb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-93461.yml @@ -0,0 +1,6 @@ +author: "Ghommie" +delete-after: True +changes: + - qol: "The fish analyzer UI should update more reliably." + - bugfix: "Fixed some of the fishes being unable to reproduce." + - balance: "Fish acquired through means other than fish farming itself takes less time to be able to reproduce." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-93499.yml b/html/changelogs/AutoChangeLog-pr-93499.yml new file mode 100644 index 00000000000..93afa6515e0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-93499.yml @@ -0,0 +1,4 @@ +author: "Krysonism" +delete-after: True +changes: + - balance: "prosthetic item limbs are no longer considered equipped items for some purposes such as ventcrawling." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-93521.yml b/html/changelogs/AutoChangeLog-pr-93521.yml new file mode 100644 index 00000000000..c5a531e96df --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-93521.yml @@ -0,0 +1,4 @@ +author: "SmArtKar" +delete-after: True +changes: + - bugfix: "Fixed dropped limbs rotating and disappearing when pulled/thrown" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-93534.yml b/html/changelogs/AutoChangeLog-pr-93534.yml new file mode 100644 index 00000000000..06e318aec4a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-93534.yml @@ -0,0 +1,5 @@ +author: "SyncIt21" +delete-after: True +changes: + - bugfix: "wall mounts placed by player now falls off when the wall they are mounted on is destroyed" + - code_imp: "cleaned up wall mount code" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-93552.yml b/html/changelogs/AutoChangeLog-pr-93552.yml new file mode 100644 index 00000000000..9c12166aabc --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-93552.yml @@ -0,0 +1,4 @@ +author: "SmArtKar" +delete-after: True +changes: + - bugfix: "Fixed glow bleeding through chair and sofa armrests" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-93554.yml b/html/changelogs/AutoChangeLog-pr-93554.yml new file mode 100644 index 00000000000..7092bb04750 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-93554.yml @@ -0,0 +1,4 @@ +author: "TheNobodyofimportance" +delete-after: True +changes: + - balance: "Vomit drinking now checks for fly mouth instead of fly species" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-93559.yml b/html/changelogs/AutoChangeLog-pr-93559.yml new file mode 100644 index 00000000000..92d408c0e1e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-93559.yml @@ -0,0 +1,4 @@ +author: "SmArtKar" +delete-after: True +changes: + - bugfix: "Fixed an issue which could randomly completely break a player's visuals until an admin resets their HUD" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-93566.yml b/html/changelogs/AutoChangeLog-pr-93566.yml new file mode 100644 index 00000000000..e1141113e33 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-93566.yml @@ -0,0 +1,4 @@ +author: "Aliceee2ch" +delete-after: True +changes: + - balance: "Minimal hacked APC amount for purchasing doomsday module was lowered from 15 to 10." \ No newline at end of file diff --git a/html/changelogs/archive/2025-10.yml b/html/changelogs/archive/2025-10.yml index 8bf6adb2fdf..ae298c065aa 100644 --- a/html/changelogs/archive/2025-10.yml +++ b/html/changelogs/archive/2025-10.yml @@ -533,3 +533,231 @@ - balance: restored the weak claymore to its former glory grungussuss: - qol: item offers now persist when pulling +2025-10-17: + Aliceee2ch: + - qol: Jaws of Recovery can be worn on medical MODSuit suit storage now. + - rscadd: Added modified Jaws of Recovery and recipe for them. Made from regular + Jaws of Life they act like one, without area restrictions and radio announcements. + grungussuss: + - sound: added new sounds for potted plants + lelandkemble: + - bugfix: fixes implanter renaming not working + - bugfix: fixes clownborg picket sign renaming not working + - code_imp: brought most unique renaming implementations under UNIQUE_RENAME +2025-10-18: + Fghj240: + - rscadd: Added a knife, sugar, and a carrot to the icemoon listening post + Melbert: + - rscadd: Adds job-colored overalls to the loadout + TheNobodyofimportance: + - rscdel: Removes chipped's brain damage status effect and flavor text + - rscdel: Removes mannitol from the mail list for chipped crew + Twaticus: + - bugfix: Females wearing either a yukata or kimono no longer have holes in their + clothes. +2025-10-19: + ArchBTW: + - bugfix: removes fov cone (oversight) with medieval pirate helmet + Arturlang: + - bugfix: moon robes now again will protect you from full body damage like low pressure + or high pressure or fire + Cirrial: + - spellcheck: Examining something you can cuff now uses the correct pronoun. + Ghommie: + - balance: Crafted jumpsuits no longer magically have suit sensors already installed. + - rscadd: Suit sensors are now physical items. They can be removed from clothing + with wirecutter, printed from an autolathe, and/or installed on suit and dresses + that don't have them. + JoJe3003: + - rscadd: New item "Infinite Capacity Megacell added, which can be used for infinite + power in the SMES. /obj/item/stock_parts/power_store/battery/infinite + KnigTheThrasher: + - map: (Nebula) Renamed fax machine in cmo's office so it's no longer research directors + L0pz: + - rscadd: Added purity seals, which may be found inside two boxes being sold by + the Deus-Vend + Melbert: + - rscadd: 'Two new heavy dynamic rulesets: "Midround Mass Traitors" and "Midround + Mass Changelings"' + Nobodyofimportance: + - rscadd: Felinid mutation toxin green slime extract recipe using milk + - rscadd: Moth mutation toxin green slime extract recipe using cellulose fiber (grind + cloth or wood!) + SmArtKar: + - bugfix: Fixed autoobserve storage interfaces getting stuck for ghosts + SyncIt21: + - balance: cargo exports now have different prices with applied elasticity + - code_imp: Improved performance of export code + - qol: stock blocks can be recycled for materials & show up as stock blocks in order + console sold items + - refactor: refactored cargo export code in whole. Report bugs on GitHub + TealSeer: + - bugfix: fixed white ship sometimes loading partially inside other ruins + grungussuss: + - sound: added sounds for eyewear + lelandkemble: + - spellcheck: Four pipes labeled N20 are now labeled N2O + necromanceranne: + - bugfix: The BR-38 does not mysteriously lose charges when it is used on some objects, + dropped on tables or smacked against glass panels. + paganiy: + - rscadd: New bluespace locator interface + - rscdel: Removed legacy teleport beacon tracking from bluespace locator + - bugfix: Bluespace locator now correctly locates tracking implants instead of beacon + implants + - qol: ' Added action buttons for toggling mech equipment' + - rscadd: Broken Bulbs Scanner for Bluespace Light Replacer + - qol: Search now filters materials/ingredients list in crafting menu +2025-10-20: + ArchBTW: + - rscadd: adds super duper lube recipe (1 lube, 1 strange reagent, 1 banana juice) + Isratosh: + - admin: New admin/debug VV dropdown button to grant any mob all access. + - admin: Reverse by removing the simple_access component, or edit via its access + list variable. + MGOOOOOO: + - qol: Granibitaluri now offers painkilling as well as its normal effects. + Melbert: + - bugfix: Certain toys and items (cardboard cutouts, toy singulo) no longer randomize + their offset when dropped (as intended) + - qol: Closet animation has been updated slightly - when closing objects no longer + disappear instantly. + Phoenix4O4: + - admin: Restored missing controls in the Library Admin Console (filters, Raw/All + toggle, Delete/Restore). + SyncIt21: + - bugfix: restores custom vendor item interaction behaviors + - bugfix: crates ordered with department budgets have no malformed destination + grungussuss: + - sound: added more sounds for knives + - sound: added more sounds for pots + - sound: added more sounds for trays + - sound: added more sounds for cutlery + - sound: added more sounds for rolling pins + - sound: added new sfx for switching firing modes on guns + lelandkemble: + - bugfix: Folder renaming works again + - rscadd: Adds fake explosive cigarettes. Add flash powder to cigarettes to create. + tttruancy: + - balance: Plastic flaps now resist heat better +2025-10-21: + Aliceee2ch: + - spellcheck: Minor grammar fix for extinguishers + Melbert: + - bugfix: Rough Iron Walls are make-able + - bugfix: Clowns have regained their innocence towards death + - rscadd: Cursed / Unlucky players have an increased chance of drawing bad tarot + cards + ell_good: + - image: Resprites the voidwalker hud elements + grungussuss: + - sound: added new sounds for door remotes + lelandkemble: + - bugfix: Mime lighters no longer constantly runtime when lit + - balance: Cold lighters can't weld doors together + timothymtorres: + - rscadd: Secure safes are now fire-proof, conduct electricity, are resistant to + light explosions, and have armor/health that is similar to airlocks. + - rscadd: A message will now appear in your chat log when you set the PIN code for + a secure briefcase or secure safe in case people forget. + - rscadd: Vaults are now climbable, except floor ones. + - rscadd: Add crafting recipes for secure safe and vaults. When vaults are crafted, + they spawn open and can have their locking mechanism set via a wrench. + - bugfix: Secure safes will now transfer their state (locked, PIN code, emagged, + etc.) when deconstructed from a wall and vice-versa. +2025-10-22: + Ghommie: + - refactor: Refactored organ damage code a little. Hopefully there won't be issues + (otherwise report them). + - bugfix: Fixes borg being chiefly unaffected by flashes. + JoJe3003: + - bugfix: Fixed a bug where infinite capacity power cells and megacells wouldn't + work on large power grids (high loads). + L0pz: + - qol: Drone pings are now louder + Melbert: + - rscdel: Security batons no longer get more armor penetration the larger the cell + installed + - balance: Security baton base stun armor pen upped 10% -> 15% + - balance: Gold telescopic baton stun armor pen downed 60% -> 50% + - balance: Silver telescopic baton stun armor pen downed 40% -> 30% + - balance: Bronze telescopic baton stun armor pen downed 20% -> 15% + - balance: Contractor baton stun armor pen downed 30% -> 25% + - balance: Nunchuck stun armor pen downed 30% -> 25% + SmArtKar: + - bugfix: Fixed lavaloop charge bar getting stuck when swapping hands + - bugfix: Fixed flypeople not being able to gain nutrition from slurping up vomit + SyncIt21: + - bugfix: crystal meth has correct purity based colours + necromanceranne: + - balance: The strongarm implants now directly improves the unarmed power of the + arm it is implanted into. + - balance: The strongarm implant's super slam now uses similar calculations to normal + unarmed attacks, including improvements from mutations and athletics. + - balance: The strongarm always uses the super slam against nonhuman opponents. + It will only go on cooldown, and care about that cooldown, when used against + humans. + tonyhawq: + - rscadd: Adds a golf cart to cargo warehouse and cargo imports + - rscadd: Adds golf carts which can transport crates, machines, fuel tanks, and + people +2025-10-23: + 00-Steven: + - bugfix: Partial language understanding once again knows which words are common. + - bugfix: Expressive Aphasia is no longer so aphasic you don't know any words. + Aliceee2ch: + - rscadd: Added new medical access for paramedics. + - map: 'Added paramedic dispatch on: TramStation and IceBox, removed elevator from + Tram and moved chemstorage on IceBox.' + - map: Paramedic dispatch area is used on every paramedic office now. + - map: Medical MODsuit and Jaws of Recovery moved to paramedic office. + - map: Redesigned northern medbay on MetaStation. + - bugfix: Fixed piping and powergrid in some places of Catwalk engineering. + Arceniu: + - bugfix: fixed a tier 3 cyber stomach acid power(tier2 power 35>25, tier3 power + 0>35) + Ghommie: + - bugfix: Fixed temporary deafness never going away. + KnigTheThrasher: + - map: fixed a kebab on nebulastation being a basetype + MGOOOOOO: + - rscadd: 'Chiral Inversing Buffer : A new way to convert your hidden impurities + and inverses into their true form! Requires a purchase from Cargo or a trip + to Lavaland to acquire.' + - balance: A new geyser has been added to Lavaland that outputs Chiral Inversing + Buffer. Geyser weights have been adjusted to accommodate this addition. + Melbert: + - bugfix: Felines can speak again (so can voicebox users) + SmArtKar: + - bugfix: ORM now displays your mining point balance instead of your bank account + balance + - bugfix: Fixed jumpsuit sensor repair runtimes + SyncIt21: + - bugfix: pda internal cam app does not lag the server + - bugfix: You can deconstruct a smes power bank + - bugfix: portable smes UI updates & closes correctly when unanchored from the connector + grungussuss: + - sound: added sounds for gas masks + loganuk: + - map: CATWALK - Medbay - Explore and look for things, Medbay should feel a lot + easier to work together + - map: CATWALK - Medbay - Freezer room now above main medbay + - map: CATWALK - Medbay - Break room moved to hallway separate but better linked + - map: CATWALK - Medbay - Equipment room moved to where CMO office was, CMO office + has new location over-looking med + - map: CATWALK - Medbay - Private treatment room available upstairs + - map: CATWALK - Medbay - Morgue now has extra coffins and size increased + - map: CATWALK - Medbay - Anti tider/riot lockdown shutters added at reception and + CMO office + - map: CATWALK - Medbay - Reception desk with queue and one way system + - map: CATWALK - Medbay - Cryo is now all together in the same room + - map: CATWALK - Medbay - Brand new operating theatre + - map: CATWALK - Medbay - Brand new treatment area + - map: CATWALK - Medbay - Pharma increased in size + - map: CATWALK - Medbay - Huge chem factory area to play with and a brand new room + on the upper level that starts locked + - map: CATWALK - Medbay - Sec post is now larger + - map: CATWALK - Hallways - A few lights/lattices/catwalks tweaked to suit new medbay + layout, pipes and cables too + - map: CATWALK - AI Upload - Re-balanced to have extra protection similar to every + other map, layout tweaks for style as well as clearer layout of modules diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index 38d01c3076c..4ffaf0bdd22 100644 Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ diff --git a/icons/hud/screen_voidwalker.dmi b/icons/hud/screen_voidwalker.dmi index 68a625786d3..7eb522053be 100644 Binary files a/icons/hud/screen_voidwalker.dmi and b/icons/hud/screen_voidwalker.dmi differ diff --git a/icons/obj/devices/tracker.dmi b/icons/obj/devices/tracker.dmi index fd6c7edd997..a5047a4f23c 100644 Binary files a/icons/obj/devices/tracker.dmi and b/icons/obj/devices/tracker.dmi differ diff --git a/icons/obj/machines/cell_charger.dmi b/icons/obj/machines/cell_charger.dmi index 4644f5387b6..c271db650f4 100644 Binary files a/icons/obj/machines/cell_charger.dmi and b/icons/obj/machines/cell_charger.dmi differ diff --git a/icons/obj/storage/closet.dmi b/icons/obj/storage/closet.dmi index 6f5c4c1b895..f01d426e8a3 100644 Binary files a/icons/obj/storage/closet.dmi and b/icons/obj/storage/closet.dmi differ diff --git a/icons/obj/toys/golfcart_hotrod_split.dmi b/icons/obj/toys/golfcart_hotrod_split.dmi new file mode 100644 index 00000000000..aeca9580b08 Binary files /dev/null and b/icons/obj/toys/golfcart_hotrod_split.dmi differ diff --git a/icons/obj/toys/golfcart_split.dmi b/icons/obj/toys/golfcart_split.dmi new file mode 100644 index 00000000000..26f14edd753 Binary files /dev/null and b/icons/obj/toys/golfcart_split.dmi differ diff --git a/icons/obj/toys/stickers.dmi b/icons/obj/toys/stickers.dmi index 80c0e138e38..38114a13ead 100644 Binary files a/icons/obj/toys/stickers.dmi and b/icons/obj/toys/stickers.dmi differ diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species.dm index 74b502195c9..e5c90f79693 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species.dm @@ -122,79 +122,6 @@ GLOBAL_LIST_EMPTY(customizable_races) /datum/species/proc/get_random_body_markings(list/features) //Needs features to base the colour off of return list() -/datum/species/proc/handle_body(mob/living/carbon/human/species_human) - species_human.remove_overlay(BODY_LAYER) - var/list/standing = list() - - var/obj/item/bodypart/head/noggin = species_human.get_bodypart(BODY_ZONE_HEAD) - - if(noggin && !(HAS_TRAIT(species_human, TRAIT_HUSK))) - if(noggin.head_flags & HEAD_EYESPRITES) - var/obj/item/organ/eyes/eye_organ = species_human.get_organ_slot(ORGAN_SLOT_EYES) - - if(eye_organ) - eye_organ.refresh(call_update = FALSE) - standing += eye_organ.generate_body_overlay(species_human) - - //Underwear, Undershirts & Socks - if(!HAS_TRAIT(species_human, TRAIT_NO_UNDERWEAR)) - if(species_human.underwear && !(species_human.underwear_visibility & UNDERWEAR_HIDE_UNDIES)) - var/datum/sprite_accessory/underwear/underwear = SSaccessories.underwear_list[species_human.underwear] - var/mutable_appearance/underwear_overlay - var/female_sprite_flags = FEMALE_UNIFORM_FULL // the default gender shaping - if(underwear) - var/icon_state = underwear.icon_state - if(underwear.has_digitigrade && (species_human.bodyshape & BODYSHAPE_DIGITIGRADE)) - icon_state += "_d" - female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY // for digi gender shaping - if(species_human.dna.species.sexes && species_human.physique == FEMALE && (underwear.gender == MALE)) - underwear_overlay = mutable_appearance(wear_female_version(icon_state, underwear.icon, female_sprite_flags), layer = -BODY_LAYER) - else - underwear_overlay = mutable_appearance(underwear.icon, icon_state, -BODY_LAYER) - if(!underwear.use_static) - underwear_overlay.color = species_human.underwear_color - standing += underwear_overlay - - if(species_human.bra && !(species_human.underwear_visibility & UNDERWEAR_HIDE_BRA)) - var/datum/sprite_accessory/bra/bra = SSaccessories.bra_list[species_human.bra] - - if(bra) - var/mutable_appearance/bra_overlay - var/icon_state = bra.icon_state - bra_overlay = mutable_appearance(bra.icon, icon_state, -BODY_LAYER) - if(!bra.use_static) - bra_overlay.color = species_human.bra_color - standing += bra_overlay - - if(species_human.undershirt && !(species_human.underwear_visibility & UNDERWEAR_HIDE_SHIRT)) - var/datum/sprite_accessory/undershirt/undershirt = SSaccessories.undershirt_list[species_human.undershirt] - if(undershirt) - var/mutable_appearance/undershirt_overlay - if(species_human.dna.species.sexes && species_human.physique == FEMALE) - undershirt_overlay = mutable_appearance(wear_female_version(undershirt.icon_state, undershirt.icon),layer = -BODY_LAYER) - else - undershirt_overlay = mutable_appearance(undershirt.icon, undershirt.icon_state, -BODY_LAYER) - if(!undershirt.use_static) - undershirt_overlay.color = species_human.undershirt_color - standing += undershirt_overlay - - if(species_human.socks && species_human.num_legs >= 2 && !(mutant_bodyparts[FEATURE_TAUR]) && !(species_human.underwear_visibility & UNDERWEAR_HIDE_SOCKS)) - var/datum/sprite_accessory/socks/socks = SSaccessories.socks_list[species_human.socks] - if(socks) - var/mutable_appearance/socks_overlay - var/icon_state = socks.icon_state - if((species_human.bodyshape & BODYSHAPE_DIGITIGRADE)) - icon_state += "_d" - socks_overlay = mutable_appearance(socks.icon, icon_state, -BODY_LAYER) - if(!socks.use_static) - socks_overlay.color = species_human.socks_color - standing += socks_overlay - - if(standing.len) - species_human.overlays_standing[BODY_LAYER] = standing - - species_human.apply_overlay(BODY_LAYER) - /datum/species/spec_stun(mob/living/carbon/human/target, amount) if(istype(target)) target.unwag_tail() diff --git a/modular_zubbers/code/modules/mob/living/carbon/human/human_update_icons.dm b/modular_zubbers/code/modules/mob/living/carbon/human/human_update_icons.dm new file mode 100644 index 00000000000..4a047974695 --- /dev/null +++ b/modular_zubbers/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -0,0 +1,65 @@ +/mob/living/carbon/human/update_underwear() + remove_overlay(BODY_LAYER) + if(HAS_TRAIT(src, TRAIT_INVISIBLE_MAN)) + return + + var/list/standing = list() + + if(!HAS_TRAIT(src, TRAIT_NO_UNDERWEAR)) + // underwear + if(underwear && !(underwear_visibility & UNDERWEAR_HIDE_UNDIES)) + var/datum/sprite_accessory/underwear/underwear_accessory = SSaccessories.underwear_list[underwear] + var/mutable_appearance/underwear_overlay + var/female_sprite_flags = FEMALE_UNIFORM_FULL // the default gender shaping + if(underwear_accessory) + var/underwear_icon_state = underwear_accessory.icon_state + if(underwear_accessory.has_digitigrade && (bodyshape & BODYSHAPE_DIGITIGRADE)) + underwear_icon_state += "_d" + female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY // for digi gender shaping + if(dna.species.sexes && physique == FEMALE && underwear_accessory.gender == MALE) + underwear_overlay = mutable_appearance(wear_female_version(underwear_icon_state, underwear_accessory.icon, female_sprite_flags), layer = -BODY_LAYER) + else + underwear_overlay = mutable_appearance(underwear_accessory.icon, underwear_icon_state, -BODY_LAYER) + if(!underwear_accessory.use_static) + underwear_overlay.color = underwear_color + standing += underwear_overlay + + // bra + if(bra && !(underwear_visibility & UNDERWEAR_HIDE_BRA)) + var/datum/sprite_accessory/bra/bra_accessory = SSaccessories.bra_list[bra] + if(bra_accessory) + var/mutable_appearance/bra_overlay = mutable_appearance(bra_accessory.icon, bra_accessory.icon_state, -BODY_LAYER) + if(!bra_accessory.use_static) + bra_overlay.color = bra_color + standing += bra_overlay + + // undershirt + if(undershirt && !(underwear_visibility & UNDERWEAR_HIDE_SHIRT)) + var/datum/sprite_accessory/undershirt/undershirt_accessory = SSaccessories.undershirt_list[undershirt] + if(undershirt_accessory) + var/mutable_appearance/undershirt_overlay + if(dna.species.sexes && physique == FEMALE) + undershirt_overlay = mutable_appearance(wear_female_version(undershirt_accessory.icon_state, undershirt_accessory.icon), layer = -BODY_LAYER) + else + undershirt_overlay = mutable_appearance(undershirt_accessory.icon, undershirt_accessory.icon_state, -BODY_LAYER) + if(!undershirt_accessory.use_static) + undershirt_overlay.color = undershirt_color + standing += undershirt_overlay + + // socks + if(socks && num_legs >= 2 && !dna.species.mutant_bodyparts[FEATURE_TAUR] && !(underwear_visibility & UNDERWEAR_HIDE_SOCKS)) + var/datum/sprite_accessory/socks/socks_accessory = SSaccessories.socks_list[socks] + if(socks_accessory) + var/mutable_appearance/socks_overlay + var/socks_icon_state = socks_accessory.icon_state + if(bodyshape & BODYSHAPE_DIGITIGRADE) + socks_icon_state += "_d" + socks_overlay = mutable_appearance(socks_accessory.icon, socks_icon_state, -BODY_LAYER) + if(!socks_accessory.use_static) + socks_overlay.color = socks_color + standing += socks_overlay + + if(standing.len) + overlays_standing[BODY_LAYER] = standing + + apply_overlay(BODY_LAYER) diff --git a/modular_zubbers/code/modules/pai/hud.dm b/modular_zubbers/code/modules/pai/hud.dm deleted file mode 100644 index 22ff5c4fb0d..00000000000 --- a/modular_zubbers/code/modules/pai/hud.dm +++ /dev/null @@ -1,26 +0,0 @@ -/atom/movable/screen/pai/leash - name = "Toggle Leash" - icon = 'modular_zubbers/icons/hud/screen_pai.dmi' - icon_state = "pai_leash" - -/atom/movable/screen/pai/leash/Click() - if(!..()) - return - var/mob/living/silicon/pai/pAI = usr - if(!pAI.holoform) - if(pAI.holo_leash) - pAI.balloon_alert(usr, "emitters set to Move") - pAI.holo_leash = FALSE - else - pAI.balloon_alert(usr, "emitters set to Project") - pAI.holo_leash = TRUE - else - pAI.balloon_alert(usr, "your emitters are active!") - -/datum/hud/pai/New(mob/living/silicon/pai/owner) - ..() - var/atom/movable/screen/using -// Hololeash - using = new /atom/movable/screen/pai/leash(null, src) - using.screen_loc = "SOUTH:6,WEST+14" - static_inventory += using diff --git a/modular_zubbers/code/modules/pai/pai.dm b/modular_zubbers/code/modules/pai/pai.dm index 7f4b7a03427..f7e1c985bcd 100644 --- a/modular_zubbers/code/modules/pai/pai.dm +++ b/modular_zubbers/code/modules/pai/pai.dm @@ -1,13 +1,3 @@ -// pAI -/mob/living/silicon/pai - /// Whetever this pAI has leashing enabled - var/holo_leash = FALSE -/mob/living/silicon/pai/get_status_tab_items() - . = ..() - if(!holo_leash) - . += "Emitter set to: Move" - else - . += "Emitter set to: Project" // Suicide is disabled, so we give them a new proc to trigger self deletion to leave the round cleanly without help /mob/living/silicon/pai/proc/pai_cryo() if(incapacitated) diff --git a/modular_zubbers/icons/hud/screen_pai.dmi b/modular_zubbers/icons/hud/screen_pai.dmi deleted file mode 100644 index 80aa735ec39..00000000000 Binary files a/modular_zubbers/icons/hud/screen_pai.dmi and /dev/null differ diff --git a/sound/items/cutlery/attribution.txt b/sound/items/cutlery/attribution.txt new file mode 100644 index 00000000000..9ee0e20ae82 --- /dev/null +++ b/sound/items/cutlery/attribution.txt @@ -0,0 +1 @@ +cutlery sounds made by grungussuss, license: CC-BY-SA \ No newline at end of file diff --git a/sound/items/cutlery/cutlery_drop1.ogg b/sound/items/cutlery/cutlery_drop1.ogg new file mode 100644 index 00000000000..1da05305b45 Binary files /dev/null and b/sound/items/cutlery/cutlery_drop1.ogg differ diff --git a/sound/items/cutlery/cutlery_drop2.ogg b/sound/items/cutlery/cutlery_drop2.ogg new file mode 100644 index 00000000000..04d580c9cac Binary files /dev/null and b/sound/items/cutlery/cutlery_drop2.ogg differ diff --git a/sound/items/cutlery/cutlery_drop3.ogg b/sound/items/cutlery/cutlery_drop3.ogg new file mode 100644 index 00000000000..cff9c503637 Binary files /dev/null and b/sound/items/cutlery/cutlery_drop3.ogg differ diff --git a/sound/items/cutlery/cutlery_pickup1.ogg b/sound/items/cutlery/cutlery_pickup1.ogg new file mode 100644 index 00000000000..81954f866bd Binary files /dev/null and b/sound/items/cutlery/cutlery_pickup1.ogg differ diff --git a/sound/items/cutlery/cutlery_pickup2.ogg b/sound/items/cutlery/cutlery_pickup2.ogg new file mode 100644 index 00000000000..a57f0ac3871 Binary files /dev/null and b/sound/items/cutlery/cutlery_pickup2.ogg differ diff --git a/sound/items/cutlery/cutlery_pickup3.ogg b/sound/items/cutlery/cutlery_pickup3.ogg new file mode 100644 index 00000000000..c005647b334 Binary files /dev/null and b/sound/items/cutlery/cutlery_pickup3.ogg differ diff --git a/sound/items/door_remote/attribution.txt b/sound/items/door_remote/attribution.txt new file mode 100644 index 00000000000..ceb5e3f219d --- /dev/null +++ b/sound/items/door_remote/attribution.txt @@ -0,0 +1 @@ +door_remote sounds made by grungussuss, license: CC-BY-SA \ No newline at end of file diff --git a/sound/items/door_remote/door_remote_action1.ogg b/sound/items/door_remote/door_remote_action1.ogg new file mode 100644 index 00000000000..6cd569e9c36 Binary files /dev/null and b/sound/items/door_remote/door_remote_action1.ogg differ diff --git a/sound/items/door_remote/door_remote_action2.ogg b/sound/items/door_remote/door_remote_action2.ogg new file mode 100644 index 00000000000..7f8b97b6b76 Binary files /dev/null and b/sound/items/door_remote/door_remote_action2.ogg differ diff --git a/sound/items/door_remote/door_remote_drop1.ogg b/sound/items/door_remote/door_remote_drop1.ogg new file mode 100644 index 00000000000..7286edb89ad Binary files /dev/null and b/sound/items/door_remote/door_remote_drop1.ogg differ diff --git a/sound/items/door_remote/door_remote_pick_up1.ogg b/sound/items/door_remote/door_remote_pick_up1.ogg new file mode 100644 index 00000000000..906ec4bcc79 Binary files /dev/null and b/sound/items/door_remote/door_remote_pick_up1.ogg differ diff --git a/sound/items/door_remote/door_remote_switch1.ogg b/sound/items/door_remote/door_remote_switch1.ogg new file mode 100644 index 00000000000..044674113e5 Binary files /dev/null and b/sound/items/door_remote/door_remote_switch1.ogg differ diff --git a/sound/items/door_remote/door_remote_switch2.ogg b/sound/items/door_remote/door_remote_switch2.ogg new file mode 100644 index 00000000000..e8bc9c11196 Binary files /dev/null and b/sound/items/door_remote/door_remote_switch2.ogg differ diff --git a/sound/items/door_remote/door_remote_switch3.ogg b/sound/items/door_remote/door_remote_switch3.ogg new file mode 100644 index 00000000000..c8311ad8b27 Binary files /dev/null and b/sound/items/door_remote/door_remote_switch3.ogg differ diff --git a/sound/items/food_plate/attribution.txt b/sound/items/food_plate/attribution.txt new file mode 100644 index 00000000000..d0f798f240c --- /dev/null +++ b/sound/items/food_plate/attribution.txt @@ -0,0 +1 @@ +food plate sounds made by grungussuss, license: CC-BY-SA \ No newline at end of file diff --git a/sound/items/food_plate/food_plate_drop1.ogg b/sound/items/food_plate/food_plate_drop1.ogg new file mode 100644 index 00000000000..99245b3daf2 Binary files /dev/null and b/sound/items/food_plate/food_plate_drop1.ogg differ diff --git a/sound/items/food_plate/food_plate_drop2.ogg b/sound/items/food_plate/food_plate_drop2.ogg new file mode 100644 index 00000000000..fa977ec069b Binary files /dev/null and b/sound/items/food_plate/food_plate_drop2.ogg differ diff --git a/sound/items/food_plate/food_plate_drop3.ogg b/sound/items/food_plate/food_plate_drop3.ogg new file mode 100644 index 00000000000..13a299bdb4d Binary files /dev/null and b/sound/items/food_plate/food_plate_drop3.ogg differ diff --git a/sound/items/food_plate/food_plate_pickup1.ogg b/sound/items/food_plate/food_plate_pickup1.ogg new file mode 100644 index 00000000000..ab29c1775ff Binary files /dev/null and b/sound/items/food_plate/food_plate_pickup1.ogg differ diff --git a/sound/items/food_plate/food_plate_pickup2.ogg b/sound/items/food_plate/food_plate_pickup2.ogg new file mode 100644 index 00000000000..9ee5f31e060 Binary files /dev/null and b/sound/items/food_plate/food_plate_pickup2.ogg differ diff --git a/sound/items/food_plate/food_plate_pickup3.ogg b/sound/items/food_plate/food_plate_pickup3.ogg new file mode 100644 index 00000000000..d4442ee05a1 Binary files /dev/null and b/sound/items/food_plate/food_plate_pickup3.ogg differ diff --git a/sound/items/gas_mask/attribution.txt b/sound/items/gas_mask/attribution.txt new file mode 100644 index 00000000000..9f37f47c206 --- /dev/null +++ b/sound/items/gas_mask/attribution.txt @@ -0,0 +1 @@ +gas mask sounds made by grungussuss, license: CC-BY-SA \ No newline at end of file diff --git a/sound/items/gas_mask/gas_mask_drop1.ogg b/sound/items/gas_mask/gas_mask_drop1.ogg new file mode 100644 index 00000000000..432e2492836 Binary files /dev/null and b/sound/items/gas_mask/gas_mask_drop1.ogg differ diff --git a/sound/items/gas_mask/gas_mask_drop2.ogg b/sound/items/gas_mask/gas_mask_drop2.ogg new file mode 100644 index 00000000000..e9e481f0241 Binary files /dev/null and b/sound/items/gas_mask/gas_mask_drop2.ogg differ diff --git a/sound/items/gas_mask/gas_mask_drop3.ogg b/sound/items/gas_mask/gas_mask_drop3.ogg new file mode 100644 index 00000000000..07e47220862 Binary files /dev/null and b/sound/items/gas_mask/gas_mask_drop3.ogg differ diff --git a/sound/items/gas_mask/gas_mask_equip1.ogg b/sound/items/gas_mask/gas_mask_equip1.ogg new file mode 100644 index 00000000000..eed02f89ca8 Binary files /dev/null and b/sound/items/gas_mask/gas_mask_equip1.ogg differ diff --git a/sound/items/gas_mask/gas_mask_equip2.ogg b/sound/items/gas_mask/gas_mask_equip2.ogg new file mode 100644 index 00000000000..7223ba50e57 Binary files /dev/null and b/sound/items/gas_mask/gas_mask_equip2.ogg differ diff --git a/sound/items/gas_mask/gas_mask_equip3.ogg b/sound/items/gas_mask/gas_mask_equip3.ogg new file mode 100644 index 00000000000..f0ae69dfc67 Binary files /dev/null and b/sound/items/gas_mask/gas_mask_equip3.ogg differ diff --git a/sound/items/gas_mask/gas_mask_pickup1.ogg b/sound/items/gas_mask/gas_mask_pickup1.ogg new file mode 100644 index 00000000000..89e5e2d5a6f Binary files /dev/null and b/sound/items/gas_mask/gas_mask_pickup1.ogg differ diff --git a/sound/items/gas_mask/gas_mask_pickup2.ogg b/sound/items/gas_mask/gas_mask_pickup2.ogg new file mode 100644 index 00000000000..1d94c506995 Binary files /dev/null and b/sound/items/gas_mask/gas_mask_pickup2.ogg differ diff --git a/sound/items/gas_mask/gas_mask_pickup3.ogg b/sound/items/gas_mask/gas_mask_pickup3.ogg new file mode 100644 index 00000000000..45cf7939311 Binary files /dev/null and b/sound/items/gas_mask/gas_mask_pickup3.ogg differ diff --git a/sound/items/glasses/attribution.txt b/sound/items/glasses/attribution.txt new file mode 100644 index 00000000000..e8134c8786e --- /dev/null +++ b/sound/items/glasses/attribution.txt @@ -0,0 +1 @@ +glasses sounds made by grungussuss, license: CC-BY-SA diff --git a/sound/items/glasses/glasses_drop1.ogg b/sound/items/glasses/glasses_drop1.ogg new file mode 100644 index 00000000000..c8cb4280846 Binary files /dev/null and b/sound/items/glasses/glasses_drop1.ogg differ diff --git a/sound/items/glasses/glasses_drop2.ogg b/sound/items/glasses/glasses_drop2.ogg new file mode 100644 index 00000000000..41ca891e124 Binary files /dev/null and b/sound/items/glasses/glasses_drop2.ogg differ diff --git a/sound/items/glasses/glasses_drop3.ogg b/sound/items/glasses/glasses_drop3.ogg new file mode 100644 index 00000000000..834888d47a2 Binary files /dev/null and b/sound/items/glasses/glasses_drop3.ogg differ diff --git a/sound/items/glasses/glasses_equip1.ogg b/sound/items/glasses/glasses_equip1.ogg new file mode 100644 index 00000000000..377454bec36 Binary files /dev/null and b/sound/items/glasses/glasses_equip1.ogg differ diff --git a/sound/items/glasses/glasses_equip2.ogg b/sound/items/glasses/glasses_equip2.ogg new file mode 100644 index 00000000000..71879d81872 Binary files /dev/null and b/sound/items/glasses/glasses_equip2.ogg differ diff --git a/sound/items/glasses/glasses_pickup1.ogg b/sound/items/glasses/glasses_pickup1.ogg new file mode 100644 index 00000000000..c70814f4610 Binary files /dev/null and b/sound/items/glasses/glasses_pickup1.ogg differ diff --git a/sound/items/glasses/glasses_pickup2.ogg b/sound/items/glasses/glasses_pickup2.ogg new file mode 100644 index 00000000000..e9fdee40c09 Binary files /dev/null and b/sound/items/glasses/glasses_pickup2.ogg differ diff --git a/sound/items/glasses/glasses_pickup3.ogg b/sound/items/glasses/glasses_pickup3.ogg new file mode 100644 index 00000000000..a7205035ec9 Binary files /dev/null and b/sound/items/glasses/glasses_pickup3.ogg differ diff --git a/sound/items/goggles/attribution.txt b/sound/items/goggles/attribution.txt new file mode 100644 index 00000000000..0724f8c60a5 --- /dev/null +++ b/sound/items/goggles/attribution.txt @@ -0,0 +1 @@ +goggles sounds made by grungussuss, license: CC-BY-SA \ No newline at end of file diff --git a/sound/items/goggles/goggles_drop1.ogg b/sound/items/goggles/goggles_drop1.ogg new file mode 100644 index 00000000000..c7aebbb9ad7 Binary files /dev/null and b/sound/items/goggles/goggles_drop1.ogg differ diff --git a/sound/items/goggles/goggles_drop2.ogg b/sound/items/goggles/goggles_drop2.ogg new file mode 100644 index 00000000000..b4744f960c5 Binary files /dev/null and b/sound/items/goggles/goggles_drop2.ogg differ diff --git a/sound/items/goggles/goggles_drop3.ogg b/sound/items/goggles/goggles_drop3.ogg new file mode 100644 index 00000000000..5fde0527e4f Binary files /dev/null and b/sound/items/goggles/goggles_drop3.ogg differ diff --git a/sound/items/goggles/goggles_equip1.ogg b/sound/items/goggles/goggles_equip1.ogg new file mode 100644 index 00000000000..2c95b4a504a Binary files /dev/null and b/sound/items/goggles/goggles_equip1.ogg differ diff --git a/sound/items/goggles/goggles_equip2.ogg b/sound/items/goggles/goggles_equip2.ogg new file mode 100644 index 00000000000..01f409c9350 Binary files /dev/null and b/sound/items/goggles/goggles_equip2.ogg differ diff --git a/sound/items/goggles/goggles_equip3.ogg b/sound/items/goggles/goggles_equip3.ogg new file mode 100644 index 00000000000..25ce1a89a40 Binary files /dev/null and b/sound/items/goggles/goggles_equip3.ogg differ diff --git a/sound/items/goggles/goggles_equip4.ogg b/sound/items/goggles/goggles_equip4.ogg new file mode 100644 index 00000000000..ac051748d3f Binary files /dev/null and b/sound/items/goggles/goggles_equip4.ogg differ diff --git a/sound/items/goggles/goggles_pickup1.ogg b/sound/items/goggles/goggles_pickup1.ogg new file mode 100644 index 00000000000..49a0cb54ae2 Binary files /dev/null and b/sound/items/goggles/goggles_pickup1.ogg differ diff --git a/sound/items/goggles/goggles_pickup2.ogg b/sound/items/goggles/goggles_pickup2.ogg new file mode 100644 index 00000000000..adbadd4b063 Binary files /dev/null and b/sound/items/goggles/goggles_pickup2.ogg differ diff --git a/sound/items/goggles/goggles_pickup3.ogg b/sound/items/goggles/goggles_pickup3.ogg new file mode 100644 index 00000000000..b15dc127af4 Binary files /dev/null and b/sound/items/goggles/goggles_pickup3.ogg differ diff --git a/sound/items/knife/attribution.txt b/sound/items/knife/attribution.txt new file mode 100644 index 00000000000..670d04e5209 --- /dev/null +++ b/sound/items/knife/attribution.txt @@ -0,0 +1 @@ +knife sounds made by grungussuss, license: CC-BY-SA \ No newline at end of file diff --git a/sound/items/knife/knife_drop1.ogg b/sound/items/knife/knife_drop1.ogg new file mode 100644 index 00000000000..c42c96ff42f Binary files /dev/null and b/sound/items/knife/knife_drop1.ogg differ diff --git a/sound/items/knife/knife_drop2.ogg b/sound/items/knife/knife_drop2.ogg new file mode 100644 index 00000000000..41a7bb28894 Binary files /dev/null and b/sound/items/knife/knife_drop2.ogg differ diff --git a/sound/items/knife/knife_drop3.ogg b/sound/items/knife/knife_drop3.ogg new file mode 100644 index 00000000000..edd938845de Binary files /dev/null and b/sound/items/knife/knife_drop3.ogg differ diff --git a/sound/items/knife/knife_pickup1.ogg b/sound/items/knife/knife_pickup1.ogg new file mode 100644 index 00000000000..b61b25b5745 Binary files /dev/null and b/sound/items/knife/knife_pickup1.ogg differ diff --git a/sound/items/knife/knife_pickup2.ogg b/sound/items/knife/knife_pickup2.ogg new file mode 100644 index 00000000000..afa278ade87 Binary files /dev/null and b/sound/items/knife/knife_pickup2.ogg differ diff --git a/sound/items/knife/knife_pickup3.ogg b/sound/items/knife/knife_pickup3.ogg new file mode 100644 index 00000000000..c3b0bbc3c31 Binary files /dev/null and b/sound/items/knife/knife_pickup3.ogg differ diff --git a/sound/items/knife/knife_slice1.ogg b/sound/items/knife/knife_slice1.ogg new file mode 100644 index 00000000000..505b37b4838 Binary files /dev/null and b/sound/items/knife/knife_slice1.ogg differ diff --git a/sound/items/knife/knife_slice2.ogg b/sound/items/knife/knife_slice2.ogg new file mode 100644 index 00000000000..12ebc62f6ed Binary files /dev/null and b/sound/items/knife/knife_slice2.ogg differ diff --git a/sound/items/knife/knife_slice3.ogg b/sound/items/knife/knife_slice3.ogg new file mode 100644 index 00000000000..70a6986515d Binary files /dev/null and b/sound/items/knife/knife_slice3.ogg differ diff --git a/sound/items/knife/knife_slice4.ogg b/sound/items/knife/knife_slice4.ogg new file mode 100644 index 00000000000..24ae9cc2ac7 Binary files /dev/null and b/sound/items/knife/knife_slice4.ogg differ diff --git a/sound/items/knife/knife_slice5.ogg b/sound/items/knife/knife_slice5.ogg new file mode 100644 index 00000000000..f6e804a8f94 Binary files /dev/null and b/sound/items/knife/knife_slice5.ogg differ diff --git a/sound/items/knife/knife_slice6.ogg b/sound/items/knife/knife_slice6.ogg new file mode 100644 index 00000000000..17a0cf294ac Binary files /dev/null and b/sound/items/knife/knife_slice6.ogg differ diff --git a/sound/items/pot/attribution.txt b/sound/items/pot/attribution.txt new file mode 100644 index 00000000000..313416398a2 --- /dev/null +++ b/sound/items/pot/attribution.txt @@ -0,0 +1 @@ +pot sounds made by grungussuss, license: CC-BY-SA \ No newline at end of file diff --git a/sound/items/pot/pot_drop1.ogg b/sound/items/pot/pot_drop1.ogg new file mode 100644 index 00000000000..593fe43e04f Binary files /dev/null and b/sound/items/pot/pot_drop1.ogg differ diff --git a/sound/items/pot/pot_drop2.ogg b/sound/items/pot/pot_drop2.ogg new file mode 100644 index 00000000000..8dbdc48ce53 Binary files /dev/null and b/sound/items/pot/pot_drop2.ogg differ diff --git a/sound/items/pot/pot_drop3.ogg b/sound/items/pot/pot_drop3.ogg new file mode 100644 index 00000000000..57df371c783 Binary files /dev/null and b/sound/items/pot/pot_drop3.ogg differ diff --git a/sound/items/pot/pot_pickup1.ogg b/sound/items/pot/pot_pickup1.ogg new file mode 100644 index 00000000000..c4e380a6256 Binary files /dev/null and b/sound/items/pot/pot_pickup1.ogg differ diff --git a/sound/items/pot/pot_pickup2.ogg b/sound/items/pot/pot_pickup2.ogg new file mode 100644 index 00000000000..29101a555ec Binary files /dev/null and b/sound/items/pot/pot_pickup2.ogg differ diff --git a/sound/items/pot/pot_pickup3.ogg b/sound/items/pot/pot_pickup3.ogg new file mode 100644 index 00000000000..3ac3c22a85b Binary files /dev/null and b/sound/items/pot/pot_pickup3.ogg differ diff --git a/sound/items/potted_plant/attribution.txt b/sound/items/potted_plant/attribution.txt new file mode 100644 index 00000000000..ded8cc3105d --- /dev/null +++ b/sound/items/potted_plant/attribution.txt @@ -0,0 +1 @@ +potted_plant sounds made by grungussuss, license: CC-BY-SA \ No newline at end of file diff --git a/sound/items/potted_plant/potted_plant_drop1.ogg b/sound/items/potted_plant/potted_plant_drop1.ogg new file mode 100644 index 00000000000..2d8df05a504 Binary files /dev/null and b/sound/items/potted_plant/potted_plant_drop1.ogg differ diff --git a/sound/items/potted_plant/potted_plant_drop2.ogg b/sound/items/potted_plant/potted_plant_drop2.ogg new file mode 100644 index 00000000000..a2fa1fb0c67 Binary files /dev/null and b/sound/items/potted_plant/potted_plant_drop2.ogg differ diff --git a/sound/items/potted_plant/potted_plant_drop3.ogg b/sound/items/potted_plant/potted_plant_drop3.ogg new file mode 100644 index 00000000000..38dc4da08f3 Binary files /dev/null and b/sound/items/potted_plant/potted_plant_drop3.ogg differ diff --git a/sound/items/potted_plant/potted_plant_drop4.ogg b/sound/items/potted_plant/potted_plant_drop4.ogg new file mode 100644 index 00000000000..0f2172e8fa7 Binary files /dev/null and b/sound/items/potted_plant/potted_plant_drop4.ogg differ diff --git a/sound/items/potted_plant/potted_plant_drop5.ogg b/sound/items/potted_plant/potted_plant_drop5.ogg new file mode 100644 index 00000000000..c85c29a1d04 Binary files /dev/null and b/sound/items/potted_plant/potted_plant_drop5.ogg differ diff --git a/sound/items/potted_plant/potted_plant_pickup1.ogg b/sound/items/potted_plant/potted_plant_pickup1.ogg new file mode 100644 index 00000000000..cdbdbbd462f Binary files /dev/null and b/sound/items/potted_plant/potted_plant_pickup1.ogg differ diff --git a/sound/items/potted_plant/potted_plant_pickup2.ogg b/sound/items/potted_plant/potted_plant_pickup2.ogg new file mode 100644 index 00000000000..30092f90845 Binary files /dev/null and b/sound/items/potted_plant/potted_plant_pickup2.ogg differ diff --git a/sound/items/potted_plant/potted_plant_pickup3.ogg b/sound/items/potted_plant/potted_plant_pickup3.ogg new file mode 100644 index 00000000000..eb988e7bc0a Binary files /dev/null and b/sound/items/potted_plant/potted_plant_pickup3.ogg differ diff --git a/sound/items/potted_plant/potted_plant_pickup4.ogg b/sound/items/potted_plant/potted_plant_pickup4.ogg new file mode 100644 index 00000000000..b0c54529f90 Binary files /dev/null and b/sound/items/potted_plant/potted_plant_pickup4.ogg differ diff --git a/sound/items/potted_plant/potted_plant_pickup5.ogg b/sound/items/potted_plant/potted_plant_pickup5.ogg new file mode 100644 index 00000000000..0cb9622355b Binary files /dev/null and b/sound/items/potted_plant/potted_plant_pickup5.ogg differ diff --git a/sound/items/rolling_pin/attribution.txt b/sound/items/rolling_pin/attribution.txt new file mode 100644 index 00000000000..09395281882 --- /dev/null +++ b/sound/items/rolling_pin/attribution.txt @@ -0,0 +1 @@ +rolling pin sounds made by grungussuss, license: CC-BY-SA \ No newline at end of file diff --git a/sound/items/rolling_pin/rolling_pin_drop1.ogg b/sound/items/rolling_pin/rolling_pin_drop1.ogg new file mode 100644 index 00000000000..28005a5961c Binary files /dev/null and b/sound/items/rolling_pin/rolling_pin_drop1.ogg differ diff --git a/sound/items/rolling_pin/rolling_pin_drop2.ogg b/sound/items/rolling_pin/rolling_pin_drop2.ogg new file mode 100644 index 00000000000..6e874df0fe3 Binary files /dev/null and b/sound/items/rolling_pin/rolling_pin_drop2.ogg differ diff --git a/sound/items/rolling_pin/rolling_pin_drop3.ogg b/sound/items/rolling_pin/rolling_pin_drop3.ogg new file mode 100644 index 00000000000..5cb2abe4f0d Binary files /dev/null and b/sound/items/rolling_pin/rolling_pin_drop3.ogg differ diff --git a/sound/items/rolling_pin/rolling_pin_pickup1.ogg b/sound/items/rolling_pin/rolling_pin_pickup1.ogg new file mode 100644 index 00000000000..18982d3df6e Binary files /dev/null and b/sound/items/rolling_pin/rolling_pin_pickup1.ogg differ diff --git a/sound/items/rolling_pin/rolling_pin_pickup2.ogg b/sound/items/rolling_pin/rolling_pin_pickup2.ogg new file mode 100644 index 00000000000..67a6b1015f6 Binary files /dev/null and b/sound/items/rolling_pin/rolling_pin_pickup2.ogg differ diff --git a/sound/items/rolling_pin/rolling_pin_pickup3.ogg b/sound/items/rolling_pin/rolling_pin_pickup3.ogg new file mode 100644 index 00000000000..78ef5fb196d Binary files /dev/null and b/sound/items/rolling_pin/rolling_pin_pickup3.ogg differ diff --git a/sound/items/rolling_pin/rolling_pin_rolling1.ogg b/sound/items/rolling_pin/rolling_pin_rolling1.ogg new file mode 100644 index 00000000000..67c7a1e7039 Binary files /dev/null and b/sound/items/rolling_pin/rolling_pin_rolling1.ogg differ diff --git a/sound/items/rolling_pin/rolling_pin_rolling2.ogg b/sound/items/rolling_pin/rolling_pin_rolling2.ogg new file mode 100644 index 00000000000..d7dc5efb126 Binary files /dev/null and b/sound/items/rolling_pin/rolling_pin_rolling2.ogg differ diff --git a/sound/items/rolling_pin/rolling_pin_rolling3.ogg b/sound/items/rolling_pin/rolling_pin_rolling3.ogg new file mode 100644 index 00000000000..e04bfb1935b Binary files /dev/null and b/sound/items/rolling_pin/rolling_pin_rolling3.ogg differ diff --git a/sound/items/rolling_pin/rolling_pin_rolling4.ogg b/sound/items/rolling_pin/rolling_pin_rolling4.ogg new file mode 100644 index 00000000000..5d2a0791128 Binary files /dev/null and b/sound/items/rolling_pin/rolling_pin_rolling4.ogg differ diff --git a/sound/items/rolling_pin/rolling_pin_rolling5.ogg b/sound/items/rolling_pin/rolling_pin_rolling5.ogg new file mode 100644 index 00000000000..49fde6b9f89 Binary files /dev/null and b/sound/items/rolling_pin/rolling_pin_rolling5.ogg differ diff --git a/sound/items/rolling_pin/rolling_pin_rolling6.ogg b/sound/items/rolling_pin/rolling_pin_rolling6.ogg new file mode 100644 index 00000000000..836dc44f572 Binary files /dev/null and b/sound/items/rolling_pin/rolling_pin_rolling6.ogg differ diff --git a/sound/items/tray/attribution.txt b/sound/items/tray/attribution.txt new file mode 100644 index 00000000000..7a9a0df19ae --- /dev/null +++ b/sound/items/tray/attribution.txt @@ -0,0 +1 @@ +tray sounds made by grungussuss, license: CC-BY-SA \ No newline at end of file diff --git a/sound/items/tray/tray_drop1.ogg b/sound/items/tray/tray_drop1.ogg new file mode 100644 index 00000000000..bb3651c4299 Binary files /dev/null and b/sound/items/tray/tray_drop1.ogg differ diff --git a/sound/items/tray/tray_drop2.ogg b/sound/items/tray/tray_drop2.ogg new file mode 100644 index 00000000000..aa435e0b1bc Binary files /dev/null and b/sound/items/tray/tray_drop2.ogg differ diff --git a/sound/items/tray/tray_drop3.ogg b/sound/items/tray/tray_drop3.ogg new file mode 100644 index 00000000000..861a9eaa588 Binary files /dev/null and b/sound/items/tray/tray_drop3.ogg differ diff --git a/sound/items/tray/tray_insert1.ogg b/sound/items/tray/tray_insert1.ogg new file mode 100644 index 00000000000..29199ad8ed7 Binary files /dev/null and b/sound/items/tray/tray_insert1.ogg differ diff --git a/sound/items/tray/tray_insert2.ogg b/sound/items/tray/tray_insert2.ogg new file mode 100644 index 00000000000..7e1d4c132b0 Binary files /dev/null and b/sound/items/tray/tray_insert2.ogg differ diff --git a/sound/items/tray/tray_insert3.ogg b/sound/items/tray/tray_insert3.ogg new file mode 100644 index 00000000000..5cc881a9731 Binary files /dev/null and b/sound/items/tray/tray_insert3.ogg differ diff --git a/sound/items/tray/tray_pickup1.ogg b/sound/items/tray/tray_pickup1.ogg new file mode 100644 index 00000000000..5669f7e4f7e Binary files /dev/null and b/sound/items/tray/tray_pickup1.ogg differ diff --git a/sound/items/tray/tray_pickup2.ogg b/sound/items/tray/tray_pickup2.ogg new file mode 100644 index 00000000000..cd5f501f06e Binary files /dev/null and b/sound/items/tray/tray_pickup2.ogg differ diff --git a/sound/items/tray/tray_pickup3.ogg b/sound/items/tray/tray_pickup3.ogg new file mode 100644 index 00000000000..29e1ffff078 Binary files /dev/null and b/sound/items/tray/tray_pickup3.ogg differ diff --git a/sound/items/weapons/attributions.txt b/sound/items/weapons/attributions.txt index 6a7d58874db..7be6a7d6d62 100644 --- a/sound/items/weapons/attributions.txt +++ b/sound/items/weapons/attributions.txt @@ -2,3 +2,5 @@ rust_sower_armbomb.ogg - EnterTheJake rust_sower_explode.ogg - EnterTheJake } + +gun_mode_switch1.ogg made by grungussuss, license: CC-BY-SA \ No newline at end of file diff --git a/sound/items/weapons/gun_mode_switch1.ogg b/sound/items/weapons/gun_mode_switch1.ogg new file mode 100644 index 00000000000..77724052482 Binary files /dev/null and b/sound/items/weapons/gun_mode_switch1.ogg differ diff --git a/tgstation.dme b/tgstation.dme index a888794a481..28d9bd680da 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -344,6 +344,7 @@ #include "code\__DEFINES\dcs\signals\signals_leash.dm" #include "code\__DEFINES\dcs\signals\signals_lift.dm" #include "code\__DEFINES\dcs\signals\signals_light_eater.dm" +#include "code\__DEFINES\dcs\signals\signals_lockable_storage.dm" #include "code\__DEFINES\dcs\signals\signals_market.dm" #include "code\__DEFINES\dcs\signals\signals_material_container.dm" #include "code\__DEFINES\dcs\signals\signals_medical.dm" @@ -708,6 +709,7 @@ #include "code\_globalvars\lists\ghost.dm" #include "code\_globalvars\lists\icons.dm" #include "code\_globalvars\lists\keybindings.dm" +#include "code\_globalvars\lists\languages.dm" #include "code\_globalvars\lists\maintenance_loot.dm" #include "code\_globalvars\lists\mapping.dm" #include "code\_globalvars\lists\mobs.dm" @@ -4301,6 +4303,7 @@ #include "code\modules\clothing\suits\wetfloor.dm" #include "code\modules\clothing\suits\wintercoats.dm" #include "code\modules\clothing\suits\wiz_robe.dm" +#include "code\modules\clothing\under\_suit_sensor.dm" #include "code\modules\clothing\under\_under.dm" #include "code\modules\clothing\under\color.dm" #include "code\modules\clothing\under\costume.dm" @@ -4884,6 +4887,7 @@ #include "code\modules\loadout\categories\neck.dm" #include "code\modules\loadout\categories\pocket.dm" #include "code\modules\loadout\categories\shoes.dm" +#include "code\modules\loadout\categories\suits.dm" #include "code\modules\logging\log_category.dm" #include "code\modules\logging\log_entry.dm" #include "code\modules\logging\log_holder.dm" @@ -6650,6 +6654,8 @@ #include "code\modules\vehicles\cars\clowncar.dm" #include "code\modules\vehicles\cars\speedwagon.dm" #include "code\modules\vehicles\cars\vim.dm" +#include "code\modules\vehicles\cars\golfcart\golfcart.dm" +#include "code\modules\vehicles\cars\golfcart\golfcart_rear.dm" #include "code\modules\vehicles\mecha\_mecha.dm" #include "code\modules\vehicles\mecha\mech_bay.dm" #include "code\modules\vehicles\mecha\mech_fabricator.dm" @@ -9510,6 +9516,7 @@ #include "modular_zubbers\code\modules\mob\living\carbon\alien\adult\adult.dm" #include "modular_zubbers\code\modules\mob\living\carbon\human\_species.dm" #include "modular_zubbers\code\modules\mob\living\carbon\human\human.dm" +#include "modular_zubbers\code\modules\mob\living\carbon\human\human_update_icons.dm" #include "modular_zubbers\code\modules\mob\living\carbon\human\monkey.dm" #include "modular_zubbers\code\modules\mob\living\carbon\human\physiology.dm" #include "modular_zubbers\code\modules\mob\living\carbon\human\species\akula.dm" @@ -9612,7 +9619,6 @@ #include "modular_zubbers\code\modules\opposing_force\code\items.dm" #include "modular_zubbers\code\modules\opposing_force\code\equipment\antagonist_powers.dm" #include "modular_zubbers\code\modules\pai\ghost_pai.dm" -#include "modular_zubbers\code\modules\pai\hud.dm" #include "modular_zubbers\code\modules\pai\pai.dm" #include "modular_zubbers\code\modules\paperwork\fax.dm" #include "modular_zubbers\code\modules\paperwork\folders_premade.dm" diff --git a/tgui/packages/tgui/interfaces/BluespaceLocator.tsx b/tgui/packages/tgui/interfaces/BluespaceLocator.tsx index e1a672c2576..a2ad2d8729d 100644 --- a/tgui/packages/tgui/interfaces/BluespaceLocator.tsx +++ b/tgui/packages/tgui/interfaces/BluespaceLocator.tsx @@ -1,19 +1,17 @@ -import { useState } from 'react'; -import { Icon, ProgressBar, Tabs } from 'tgui-core/components'; - +import { useEffect, useState } from 'react'; +import { Icon, Input } from 'tgui-core/components'; import { useBackend } from '../backend'; import { Window } from '../layouts'; type Data = { - telebeacons: Trackable[]; trackimplants: Trackable[]; trackingrange: number; }; type Trackable = { name: string; - distance: string; - direction: number; + distance: number; + direction: string; }; const DIRECTION_TO_ICON = { @@ -27,93 +25,298 @@ const DIRECTION_TO_ICON = { northwest: 315, } as const; -enum TAB { - Implant, - Beacon, -} - export const BluespaceLocator = (props) => { - const [tab, setTab] = useState(TAB.Implant); + const { data } = useBackend(); + const { trackimplants, trackingrange } = data; + const [selectedImplantName, setSelectedImplantName] = useState( + trackimplants.length > 0 ? trackimplants[0].name : null, + ); + const [searchQuery, setSearchQuery] = useState(''); + const [currentRotation, setCurrentRotation] = useState(0); + + const filteredImplants = trackimplants.filter((implant) => + implant.name.toLowerCase().includes(searchQuery.toLowerCase()), + ); + + useEffect(() => { + if (filteredImplants.length > 0) { + if ( + !selectedImplantName || + !filteredImplants.some( + (implant) => implant.name === selectedImplantName, + ) + ) { + setSelectedImplantName(filteredImplants[0].name); + } + } else { + setSelectedImplantName(null); + } + }, [filteredImplants, selectedImplantName]); + + const selectedImplant = + filteredImplants.find((implant) => implant.name === selectedImplantName) || + (filteredImplants.length > 0 ? filteredImplants[0] : null); + + useEffect(() => { + if (selectedImplant) { + if (selectedImplant.distance === 0) { + setCurrentRotation(0); + } else { + const targetRotation = DIRECTION_TO_ICON[selectedImplant.direction]; + + let shortestRotation = targetRotation - currentRotation; + if (shortestRotation > 180) shortestRotation -= 360; + if (shortestRotation < -180) shortestRotation += 360; + + setCurrentRotation(currentRotation + shortestRotation); + } + } + }, [selectedImplant?.direction, selectedImplant?.distance]); + + const getArrowColor = (distance: number) => { + if (distance === 0) return 'green'; + if (distance > (trackingrange * 2) / 3) return 'red'; + if (distance > (trackingrange * 1) / 3) return 'orange'; + return 'green'; + }; + + if (trackimplants.length === 0) { + return ( + + +
+ +
Bluespace signatures not detected
+
+ No active tracking implants detected within operational range +
+
+
+
+ ); + } return ( - - - - setTab(TAB.Implant)} + + +
+
- Implants - - setTab(TAB.Beacon)} +
+ {!searchQuery && ( + + )} + setSearchQuery(value)} + width="100%" + style={{ + paddingLeft: searchQuery ? '0.5rem' : '2rem', + }} + /> +
+
+ {filteredImplants.map((implant) => ( +
setSelectedImplantName(implant.name)} + > + + +
+ {implant.name} +
+ +
+ {[1, 2, 3].map((dot) => ( +
+ ))} +
+
+ ))} +
+
+ +
- Teleporter Beacons - - - {tab === TAB.Beacon && } - {tab === TAB.Implant && } + {filteredImplants.length === 0 ? ( +
+ +
No targets matching search criteria
+
+ ) : selectedImplant ? ( + <> + +
+
+ {selectedImplant.name} +
+
+ Distance: {selectedImplant.distance} +
+
+ + ) : null} +
+
); }; - -const TeleporterBeacons = (props) => { - const { data } = useBackend(); - const { telebeacons } = data; - - return ( - <> - {telebeacons.map((beacon) => ( - - ))} - - ); -}; - -const TrackingImplants = (props) => { - const { data } = useBackend(); - const { trackimplants } = data; - - return ( - <> - {trackimplants.map((implant) => ( - - ))} - - ); -}; - -const SignalLocator = (props) => { - const { data } = useBackend(); - const { trackingrange } = data; - const { name, direction, distance } = props; - - return ( - - {name} - - - ); -}; diff --git a/tgui/packages/tgui/interfaces/LibraryAdmin/BookListing.tsx b/tgui/packages/tgui/interfaces/LibraryAdmin/BookListing.tsx index 60221ab3570..4343334b0c5 100644 --- a/tgui/packages/tgui/interfaces/LibraryAdmin/BookListing.tsx +++ b/tgui/packages/tgui/interfaces/LibraryAdmin/BookListing.tsx @@ -3,7 +3,7 @@ import { Box, NoticeBox, Stack } from 'tgui-core/components'; import { useBackend } from '../../backend'; import { Window } from '../../layouts'; import { PageSelect } from '../LibraryConsole/components/PageSelect'; -import { SearchAndDisplay } from '../LibraryConsole/components/Search'; +import { SearchAndDisplay } from './Search'; import type { LibraryAdminData } from './types'; export function BookListing(props) { diff --git a/tgui/packages/tgui/interfaces/OreRedemptionMachine.tsx b/tgui/packages/tgui/interfaces/OreRedemptionMachine.tsx index 21f3ace82b9..5beff394442 100644 --- a/tgui/packages/tgui/interfaces/OreRedemptionMachine.tsx +++ b/tgui/packages/tgui/interfaces/OreRedemptionMachine.tsx @@ -157,7 +157,7 @@ function IDSection(props: IDSectionProps) { {user?.name || 'No Name Detected'} - + {user?.cash || 'No Balance Detected'} diff --git a/tgui/packages/tgui/interfaces/PaiCard.tsx b/tgui/packages/tgui/interfaces/PaiCard.tsx index 293ffcf1a4c..7817e3b0a08 100644 --- a/tgui/packages/tgui/interfaces/PaiCard.tsx +++ b/tgui/packages/tgui/interfaces/PaiCard.tsx @@ -36,8 +36,8 @@ type Pai = { name: string; transmit: BooleanLike; receive: BooleanLike; + leashed: BooleanLike; range: number; - leash_enabled: BooleanLike; // SKYRAT EDIT ADDITION }; export const PaiCard = (props) => { @@ -163,8 +163,8 @@ const PaiOptions = (props) => { name, transmit, receive, + leashed, range, - leash_enabled /* SKYRAT EDIT ADDITION */, }, } = data; const suppliedLaws = laws[0] ? decodeHtmlEntities(laws[0]) : 'None'; @@ -196,31 +196,22 @@ const PaiOptions = (props) => { Toggle - {/* SKYRAT EDIT ADDITION START */} - {!emagged && ( - - - - )} - {/* SKYRAT EDIT ADDITION END */} + + + - {emagged ? ( - '∞' - ) : (